Profil użytkownika

avatar

Tomasz Szkudlarek

1 pkt
 
partner
0 Podziękowań
1 100%

4 pytań

1 odpowiedzi

0 0%

0 pomysłów

0 komentarzy

Aktywność

  • Wartościowy użytkownik
  • Wysoko notowany
  • Lider rankingu
  • Aktywny użytkownik
  • Pomysłodawca
  • Uczynny użytkownik
  • Znawca tematu
  • Specjalista kategorii Chmura
  • Specjalista kategori ERP Altum
  • Specjalista kategorii ERP Optima
  • Specjalista kategorii ERP XL
  • Specjalista kategorii ERP XT
  • Specjalista kategorii ERP esklep
  • Specjalista kategorii ERP mobile
  • Specjalista kategorii ERP Produkcja
  • Specjalista kategorii IBARD
  • Specjalista kategorii wszystko.pl
  • Specjalista kategorii ERP Klasyka
  • Specjalista kategorii ERP iKsięgowośc 24
  • Specjalista kategorii ERP Retail
  • Specjalista kategorii Workflow
  • Specjalista kategorii Techniczne
  • Specjalista kategorii Handel
  • Specjalista kategorii Logistyka
  • Specjalista kategorii Księgowość
  • Specjalista kategorii BI
  • Specjalista kategorii Kadry płace

Rankingi

Miejsce W tym
miesiącu
Punktów
Ranking główny 2513 91 1 pkt
W tym miesiącu 91 91 0 pkt
Pytania i odpowiedzi 1967 58 1 pkt
Pomysły i komentarze 775 41 0 pkt
Najbardziej pomocni - - -

O firmie

Wpisy użytkownika

User Avatar
partner
Tomasz Szkudlarek
1 pkt
4 pytań
1 odpowiedzi
0 pomysłów
0 komentarzy
1 100%
Tomasz Szkudlarek zapytał/a o
Ogólne
Ogólne pytań: 445 | odpowiedzi: 2723

Wojtek DudziakAgnieszka TeklaBartosz MikołajczykJacek KrzaczekIZABELA LATUSPatrycja RasińskaMichał MaratMariusz Żabicki
Comarch ERP Optima
Comarch ERP Optima pytań: 4662 | odpowiedzi: 18632

Optima

Marcin NowakAnna PawlicaJoanna KrygierAgnieszka BurekWitold KłodnickiJakub PrażmowskiBartosz PłatekKatarzyna Witkowska-Steć
Techniczne
Techniczne pytań: 1448 | odpowiedzi: 5488

Witold KłodnickiBartosz PłatekKrzysztof MalekBartłomiej FrączekMarcin SzymoniakMagdalena GrygaWojtek DudziakZbigniew Brytan

Terminal płatniczy - błąd komunikacji

Dodano 6 mie. temu

Witam,

W Optimie podczas testu terminala płatniczego otrzymuję komunikat: "Wyatąpił błąd transmisji danych".

Czy problemem może być to że przewód sieciowy od terminala do gniazdka sieciowego jest dość długi i ma 10 metrów ? 

Poniżej logi z Optimy:

Comarch.B2.Devices.Interfaces.Terminal.Exceptions.B2TerminalConnectionTimeoutException: Wystąpił błąd transmisji danych ---> System.ArgumentException: Destination array is not long enough to copy all the items in the collection. Check array index and length.
at Comarch.B2.Terminal.Polcard.PolcardTransport.ReadTerminationMessage()
at Comarch.B2.Terminal.Polcard.PolcardTransport.Write(Message message)
--- End of inner exception stack trace ---
at Comarch.B2.Terminal.Polcard.PolcardTransport.Write(Message message)
at Comarch.B2.Terminal.Polcard.PolcardManager.Hello(Boolean testConnection)
at Comarch.B2.Terminal.Polcard.PolcardManager.TestConnection()
at Optima.Common.Logic.PaymentTerminalManager.TestConnection()
at Optima.Config.View.Presenters.CfgTerminalPlatniczyPresenter..[1]()
at Optima.Common.View.Log.Wait.[1]()

User Avatar
partner
Tomasz Szkudlarek
1 pkt
4 pytań
1 odpowiedzi
0 pomysłów
0 komentarzy
1 100%
Tomasz Szkudlarek zapytał/a o
Techniczne
Techniczne pytań: 1448 | odpowiedzi: 5488

Witold KłodnickiBartosz PłatekKrzysztof MalekBartłomiej FrączekMarcin SzymoniakMagdalena GrygaWojtek DudziakZbigniew Brytan
Handel
Handel pytań: 833 | odpowiedzi: 3263

Handel

Marcin NowakAnna PawlicaMirosław PędziwiatrDorota Królikrobert.cekusTomasz SzkudlarekMarek KlimekJolanta Plewa
Comarch ERP Optima
Comarch ERP Optima pytań: 4662 | odpowiedzi: 18632

Optima

Marcin NowakAnna PawlicaJoanna KrygierAgnieszka BurekWitold KłodnickiJakub PrażmowskiBartosz PłatekKatarzyna Witkowska-Steć

Skrypt do importu RO z Excela

Zaktualizowano rok temu

Witam,

Posiadam skrypt udostępniony kilka lat temu przez Comarch pozwalający importować RO z Excela do Optimy. Niestety po zainstalowaniu najnowszej wersji Optimy skrypt przestał działać. W momencie wskazania pliku pokazuje się komunikat: Oczekiwano znaku ';'. Analizowałem skrypt ale nie widzę, żeby gdzieś brakowało znaku ";". Czy mógłby ktoś rzucić okiem na ten skrypt ?

[SQL]
@PAR ?@Fs255(File, Open, 'Pliki XLS (*.XLS)|*.XLS|Wszystkie pliki (*.*)|*.*',*.XLS)|sNazwaPliku|&Nazwa pliku:@? PAR@ @PAR ?@X|Komunikaty|&Czy wyswietlać komunikaty:REG=0 @? @TIP(Czy oprócz logowanie komunikatów w pliku wyświetlać je w monecie ich wystąpienia.) @MSG(Czy oprócz logowanie komunikatów w pliku wyświetlać je w monecie ich wystąpienia.) PAR@ Select NazwaPliku={_Q??sNazwaPliku}

/*
</OPIS>
<Uruchomienie>

Import dokumentów ZD i RO z pliku XLS.
Plik do importu wybiera się za pomocą dialogu przy uruchomieniu skryptu.
przykładowy plik do importu to - ZD_RO.xls

</Uruchomienie>

<Interfejs> IApplication </Interfejs>
<Interfejs> ILogin </Interfejs>
<Interfejs> IAdoSession </Interfejs>
<Interfejs> IDefinicjaDokumentu</Interfejs> <Interfejs> IMagazyn</Interfejs> <Interfejs> IKontrahent</Interfejs> <Interfejs> ITowar</Interfejs> <Interfejs> IDokumentHaMag</Interfejs> <Interfejs> IElementHaMag</Interfejs>

<Osoba>Marcin Bednarek</Osoba>
<OPT_VER>2017.6.1.1993</OPT_VER>
</COM_DOK>*/


[JS]
//////////////////////////////////////////
// Import z pliku XLS
//////////////////////////////////////////


//Definicja połączenia
var sqlConn = new ActiveXObject("ADODB.Connection") var sqlRS = new ActiveXObject("ADODB.Recordset");

// Globalne zwiazane z Optima


var rApp // Obiekt aplikacji
var rLogin // Obiekt loginu
var rSesja // Obiekt sesji
var rFaktura // Obiekt faktury
var rPozycje // Kolekcja elementów faktury var _Errors = "";


// Log skryptu
var shell = new ActiveXObject ('WScript.Shell'); var fso = new ActiveXObject('Scripting.FileSystemObject');
var raport = fso.CreateTextFile(
shell.ExpandEnvironmentStrings('%TMP%') +'\\Log.txt', 1)

raport.WriteLine("Log pracy skryptu:")


var ElementowRO,ElementowZD;

var ScierzkaDoPlikuExcel = Recordset.Fields("NazwaPliku").Value;


/////////////////////////////////////////////////////////////////////////


//Otwarcie połączenia do Excela
sqlConn.Provider = "Microsoft.Jet.OLEDB.4.0"
sqlConn.ConnectionString = "Data Source="+ ScierzkaDoPlikuExcel
+";Extended Properties=Excel 8.0;"

sqlConn.Open()

var sqlStm1 ="SELECT * FROM `ZD$`"
var sqlStm2 ="SELECT * FROM `RO$`"

ElementowRO = 0
ElementowZD = 0

raport.WriteLine()
raport.WriteLine("----------------------")
raport.WriteLine("Dodawanie dokumentu RO")
raport.WriteLine("----------------------")
ImportRO()

raport.WriteLine()
raport.WriteLine("----------------------")
raport.WriteLine("Dodawanie dokumentu ZD")
raport.WriteLine("----------------------")
ImportZD()

sqlConn.Close()

if ( _Errors.length == 0)
Komentarz("Import ukończono" )
else
Komentarz('Import ukończono \n\n' + '!! Wystąpiły błedy !!' )

try \{

\}

catch ( e) \{
Komentarz ("E1 Wystąpił błąd. " + e.description)
sqlConn.Close()
\}

raport.Close()
shell.run("notepad.exe %TMP%\\Log.txt",1,0)


/////////////////////////////////////////////////////////////////////////

function ImportZD()
\{

try\{

rFaktura = Session.CreateObject("CDN.DokumentyHaMag").AddNew()

rFaktura.Rodzaj = 309000
rFaktura.TypDokumentu = 309

sqlRS = sqlConn.Execute( sqlStm1 );

var rKontrahent
try\{
rKontrahent =
Session.CreateObject("CDN.Kontrahenci").Item("Knt_Kod='" +
sqlRS.Fields("KodKontrahent") + "'")
rFaktura.Podmiot = rKontrahent
\} catch (e) \{
Komentarz( "Bład wyboru Kontrahenta " +
sqlRS.Fields("KodKontrahent") )
rKontrahent =
Session.CreateObject("CDN.Kontrahenci").Item("Knt_KntID=1")
\}
rFaktura.Podmiot = rKontrahent

try\{
var rMagazyn =
Session.CreateObject("CDN.Magazyny").Item("Mag_Symbol='" +
sqlRS.Fields("KodMagazyn") + "'")
rFaktura.MagazynZrodlowy = rMagazyn
\} catch (e) \{ Komentarz( "Bład wyboru Mgazynu " +
sqlRS.Fields("KodMagazyn") ) \}


// Czy jest Opis
var nazwa
for(var i=0; i< sqlRS.Fields.Count; i++) \{
nazwa = sqlRS.Fields.Item(i).Name
if ( nazwa.search(/Opis/) != -1 )
try\{
var Elem = sqlRS.Fields.Item(i)
rFaktura.Uwagi = Elem.Value
\} catch(e) \{ \}

\}
while (!sqlRS.EOF)
\{
ElementowZD++;
DodajPozycje ( rFaktura, sqlRS.Fields("Kod").Value ,
sqlRS.Fields("Nazwa").Value ,
sqlRS.Fields("EAN").Value ,
sqlRS.Fields("Ilosc").Value,
'',
'ZD' )

sqlRS.MoveNext()
\}
sqlRS.Close()

if ( 1==0 ) Session.Save()
else Zapis(rFaktura)


\}catch (e) \{Komentarz( "Błąd dodawania ZD" + "\n" + e.description)\} \} /////////////////////////

function Zapis(rDok)
\{
var kontynuluj = 1
var Znalezl = 0

while ( kontynuluj==1 )
\{
try\{
Session.Save()
kontynuluj = 0

\} catch(e) \{

//Zapis błedu do loga:
Komentarz("Dodwanie elementu ZD: "+e.description)

// Usuniecie elementu powodujacego blad
if ( e.description.search(/wyst.puj..braki/)!=-1 |
e.description.search(/przekroczono.stan/)!=-1 )
\{ // Brak lub przekroczenie stanu.
var KodTowaru =''
KodTowaru =
e.description.substring(30,e.description.search(/na.magazynie/)-2 )

//Komentarz(KodTowaru + ' ' + e.description.search(/przekroczono.stan/)
+ '/n ' +e.description)

Znalazl = 0
var aa = 0

while (Znalazl ==0 & aa != rDok.Elementy.Count )
\{
if ( rDok.Elementy.Item(aa).Towar.Kod== KodTowaru )
\{
rDok.Elementy.Delete( rDok.Elementy.Item(aa) )
Znalazl = 1
\}
aa++
\}

\}
else \{
kontynuluj = 0
Komentarz("Dodwanie elementu ZD: "+e.description)
\}
\}

\}
\}

//////////////////////////////////////


function ImportRO()
\{
try\{
var Opis = ''
var Cena = 0

rFaktura = Session.CreateObject("CDN.DokumentyHaMag").AddNew()

rFaktura.Rodzaj = 308000
rFaktura.TypDokumentu = 308

sqlRS = sqlConn.Execute( sqlStm2 );

var rKontrahent
try\{
rKontrahent =
Session.CreateObject("CDN.Kontrahenci").Item("Knt_Kod='" +
sqlRS.Fields("KodKontrahent") + "'")
rFaktura.Podmiot = rKontrahent
\} catch (e) \{
Komentarz( "Bład wyboru Kontrahenta " +
sqlRS.Fields("KodKontrahent") )
rKontrahent =
Session.CreateObject("CDN.Kontrahenci").Item("Knt_KntID=1")
\}
rFaktura.Podmiot = rKontrahent

try\{
var rMagazyn =
Session.CreateObject("CDN.Magazyny").Item("Mag_Symbol='" +
sqlRS.Fields("KodMagazyn") + "'")
rFaktura.MagazynZrodlowy = rMagazyn
\} catch (e) \{ Komentarz( "Bład wyboru Mgazynu " +
sqlRS.Fields("KodMagazyn") ) \}


// Czy jest Opis
var nazwa
for(var i=0; i< sqlRS.Fields.Count; i++) \{
nazwa = sqlRS.Fields.Item(i).Name
if ( nazwa.search(/Opis/) != -1 )
try\{
var Elem = sqlRS.Fields.Item(i)
rFaktura.Uwagi = Elem.Value
\} catch(e) \{ \}

\}

var Dok

while (!sqlRS.EOF)
\{
ElementowRO++;
Dok = 'RO'
// Czy jest cena

try \{

if ( sqlRS.Fields("Cena").Value !=null )
Cena = sqlRS.Fields("Cena").Value
else Cena =''
\}
catch(e) \{ Dok = '' \}

DodajPozycje ( rFaktura, sqlRS.Fields("Kod").Value,
sqlRS.Fields("Nazwa").Value,
sqlRS.Fields("EAN").Value,
sqlRS.Fields("Ilosc").Value,
Cena,
Dok )

sqlRS.MoveNext()
\}

sqlRS.Close()

Session.Save()

\}catch(e) \{Komentarz( "Błąd dodawania RO" + "\n" + e.description)\}

\}


/////////////////////////

function DodajPozycje( Faktura, Twr,Nazwa,EAN,Ilosc,Cena,Dok) \{

// Sprawdzam, czy jest w ogóle taki towar

try \{
var rTowar = Session.CreateObject("CDN.Towary").Item("Twr_Kod='" + Twr + "'")
\}
catch (e) \{
Komentarz("Nie udało się pobrać towaru [" + Twr + "]. " +
e.description)
return
\}

// Dodaję pozycję do faktury

var rPozycja = Faktura.Elementy.AddNew()

// Podstawiam towar
rPozycja.Towar = rTowar

// Podstawiam ilość
rPozycja.IloscJM = Ilosc

if ( Dok == 'RO' & Cena != '' ) rPozycja.CenaT = Cena

\}

function Komentarz( tekst )
\{
if ( ??Komunikaty == 1 ) shell.Popup(tekst)
_Errors = _Errors +"\n" + tekst

raport.WriteLine()
raport.WriteLine(tekst)

\}

User Avatar
partner
Tomasz Szkudlarek
1 pkt
4 pytań
1 odpowiedzi
0 pomysłów
0 komentarzy
1 100%
Tomasz Szkudlarek zapytał/a o
Ogólne
Ogólne pytań: 445 | odpowiedzi: 2723

Wojtek DudziakAgnieszka TeklaBartosz MikołajczykJacek KrzaczekIZABELA LATUSPatrycja RasińskaMichał MaratMariusz Żabicki
Księgowość
Księgowość pytań: 1360 | odpowiedzi: 4750

Księgowość

Agnieszka BurekBartosz PłatekEwa GurdekANETA PABIJAŃCZYKDorota KrólikMateusz JodłowskiGRZEGORZ PORCZAKIwona Ligoda
Comarch ERP Optima
Comarch ERP Optima pytań: 4662 | odpowiedzi: 18632

Optima

Marcin NowakAnna PawlicaJoanna KrygierAgnieszka BurekWitold KłodnickiJakub PrażmowskiBartosz PłatekKatarzyna Witkowska-Steć

Import dekretów księgowych z pliku

Zaktualizowano 2 lata temu

Witam,

Czy ktoś próbował już może stworzyć skrypt przenoszący dekrety z Excela do Optimy?

Byłbym wdzięczny za jakieś wskazówki w tym temacie.