InsERT GT => Subiekt GT => Wątek zaczęty przez: gtraders w Grudzień 16, 2019, 15:56:27

Tytuł: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: gtraders w Grudzień 16, 2019, 15:56:27
Witam,

próbuję dokonać przeniesienia danych z innego systemu niż Subiekt do Subiekta na podstawie plików epp, które są generowane przez obecny system.
Robię to poprzez komunikację odział->centrala. Dokumenty się importują, lecz brak jakby powiązań. Np importuję dokument PZ w którym jest towar o symbolu XYZ i w towrze XYZ brak śladów o tym dokumencie PZ np. w postaci ostatniej ceny zakupu z tego dokumentu PZ. Także chciałbym aby dodawało ilości do stanów magazynowych na podstawie ilości z dokumentu PZ importowanego.

Czy ktoś wie jak można to ustawić? Docelowe chcę zaimportować wszystkie dokumenty magazynowe PZ, WZ, RW, PW itp. aby mniej więcej ostatcznie uzyskać "kopię" obecnego systemu ze stanami magazynowymi (przynajmniej zbliżonymi) itp.
Tytuł: Odp: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: dkozlowski w Grudzień 16, 2019, 17:53:33
Pokaż dane, które opisałeś.
Tytuł: Odp: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: gtraders w Grudzień 18, 2019, 12:19:24
W załączniku plik epp tyle, że zanonimowany i usunąłem sekcję "Kontrahenci" i "Towary". Zależy mi na tym aby import dokumentu wywoływał skutek magazynowy.
Tytuł: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: birds22 w Grudzień 18, 2019, 20:07:33
Spróbowałeś chociaż porównać twój dokument z tym wygenerowanym z Subiekta?
Tytuł: Odp: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: gtraders w Grudzień 19, 2019, 08:44:21
Sam plik epp jest poprawny względem komunikacji Subiekt->Subiekt jako cel komunikacji "centrala". Plik importuje się poprawnie, dodaje wszystkie dokumenty ewentualnie jeśli brak towaru to go dodaje i tak samo z kontrahentem itp. Tylko chodzi o to, że import nie wywołuje skutku magazynowego i nie mogę takiego skutku wywołać na dokumencie po imporcie. (czyli w bazie mam produkty ze stanem 0, importuje dokumenty PZ i one nie dodają stanu towaru). Zajrzałem w dokumentację pliku epp i znalazłem 2 pola, które mogę odpowiadać za to, że nie mogę już wykonać skutku magazynowego w nagłówku odpowiednio pole nr 2 (Status dokumentu) i pole 3 (Status rejestracji fiskalnej dokumentu flaga).

dla pola 2 możliwe wartości:
0 - odłożony;
1 - wykonany;
2 - anulowany;
3 - zaksięgowany

A dla pola 3:
0x00 - nie zarejestrowany;
0x01 - zarejestrowany raz;
0x02 - zarejestrowany wielokrotnie (więcej niż raz);
0x80 - podczas rejestracji wystąpił błąd

Więc moje pytanie, jakie wartości powinny być ustawione w tych 2 polach, aby można było po imporcie wywołać skutek magazynowy dokumentu. Próbowałem kombinacji różnych i albo dokumenty się importują albo jest całkiem błąd importu. Ewentualnie jaka inna opcja może być aby zaimportować tak dokumenty aby można było wywołać na nich skutek magazynowy po zaimportowaniu? Plik EPP mogę dowolnie przerabiać, napisałem sobie do tego skrypt, także zmiana wartości w wybranych polach nie jest problemem.


Tytuł: Odp: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: dkozlowski w Grudzień 19, 2019, 09:09:27
Tyle opisu, a zabrakło podstawowych informacji i testów - co to znaczy "nie mogę takiego skutku wywołać", jak zachowuje się program, jak błędy zgłasza program i/lub baza danych ? Jak zachowuje się plik utworzony przez Subiekta, a nie Ciebie ? Jeśli z Subiekta importuje się poprawnie to może jednak się mylisz w pierwszym zdaniu:

Sam plik epp jest poprawny względem komunikacji Subiekt->Subiekt jako cel komunikacji "centrala".

i należy zacząć szukać problemu we właściwym miejscu.
Tytuł: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: birds22 w Grudzień 19, 2019, 09:31:55
A na jakiej podstawie wnioskujesz, że jest poprawny? Mnie zajęło minutę, żeby porównać zawartość na pozycji dokumentu i wyłapać błędy
Tytuł: Odp: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: gtraders w Grudzień 19, 2019, 11:10:23
Wnioskuję po tym, że plik importuje do subiekta dokumenty się importują. Ten plik, który załączyłem to maskowałem w nim dane więc mogłem coś zepsuć.

Po zaimportowaniu dokumentu i próbie wywołania skutku magazynowego pojawia się komunikat: "Nie można zmienić daty wystawienia ponieważ pozycje zostały już rozchodowane"
Tytuł: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: candy w Grudzień 19, 2019, 11:14:23
Krótko mówiąc pytasz jak zmienić plik, żeby utworzone dokumenty wydały towar, którego nie ma na stanie (nie jest dostępna żadna dostawa na dzień wystawienia tego dokumentu).
Tak się nie da i żadne grzebanue w pliku EPP tego nie zmieni.
To wynika z samych podstaw działania Subiekta.
Tytuł: Odp: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: gtraders w Grudzień 19, 2019, 12:01:02
Mam plik EPP, który zawiera dokumenty magazynowe załóżmy, że same dokumenty PZ. Importuję ten plik do Subiekta, pojawiają się dokumenty PZ z towarami lecz nie mogę wywołać skutku magazynowego tego dokumentu, ponieważ pojawia się komunikat  "Nie można zmienić daty wystawienia ponieważ pozycje zostały już rozchodowane". Na logikę skoro ten dokument został zaimportowany z plik epp i pojawia się informacja, że pozycje z dokumentu zostały rozchodowane, to w pliku epp musi być taka informacja, że dany dokument został już rozchodowany, czyli można było by tą wartość zmienić w pliku epp na taką by dokument nie miał statusu rozchodowanego. Po analizie dokumentacji pliku epp ustaliłem, że chodzi o pole 2 w nagłówku dokumentu czyli pole "Status rejestracji fiskalnej dokumentu" i jeśli ustawioną mamy wartość 1 - zarejestrowany raz, to subiekt dokument przyjmuje ale nie można wykonać skutku magazynowego, jeśli ustawię wartość 0 czyli "nie zarejestrowany" to subiekt nie importuje i podaje błąd że dokument dołożony lub anulowany jest nie obsługiwany.

Czyli mogę założyć, że przez opcję "Komunikacja" nie uda mi się zaimportować dokumentów, aby wywołać skutek magazynowy - docelowo chodzi mi o przeniesienie bazy z innego systemu (który generuje między innymi pliki epp) do subiekta.

Mam inne rozwiązanie oparte o sferę, ale muszę wtedy napisać skrypt, który będzie parsował pliki epp na odpowiedni csv. Chyba, że ktoś na tym forum zna inne rozwiązanie?
Tytuł: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: candy w Grudzień 19, 2019, 13:30:05
Nie wiem co robisz, ale na pewno nie to co piszesz.
1.
PZ zawsze da się przyjąć i nigdy nie wywoła takiego komunikatu "... już rozchodowane". Ten komunikat pojawia się tylko wtedy kiedy dokument próbuje wydać towar, więc nie może się pojawić na poprawnej PZ.
2.
Pomyliłeś pola. (opis komunikacji liczy od 1, a nie od 0). Status a status rejestracji fiskalnej to jak krzesło a krzesło elektryczne. Tu liczy się tylko status.

Co do zawartości pliku się nie wypowiem, nie mam czasu na analizy, ale niepoprawny plik EPP może wywołać cuda w Subiekcie, czasem bardzo trudne do odkręcenia

Tytuł: Import dokumentów EPP - Komunikacja oddział->Centrala
Wiadomość wysłana przez: candy w Grudzień 19, 2019, 14:02:58
Z ciekawości jednak zajrzałem.
Jeśli plik w którym 2 z 7 pozycji nie mają symbolu uważasz za poprawny to... się mylisz.
Kolejny towar ma 24 znaki w symbolu na 20 możliwych.
Liczby też masz inaczej zapisywane (to akurat nie pamiętam czy jest istotne, ale znając komunikację obawialbym się że tak).
Nagłówka nie analizowałem.