Autor Wątek: Dodanie PAi oraz FS na podstawie ZK  (Przeczytany 2828 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Dodanie PAi oraz FS na podstawie ZK
« dnia: Luty 26, 2019, 18:01:15 »
Witam,
mam problem, który wydaje się błahy, ale nie wiem co robię źle.
Potrzebuję wystawić PAi lub FS do zamówienia ZK.
Ręczne stworzenie dokumentu np. PAi i dodanie pozycji, zapisanie wychodzi dobrze, do momentu gdy niektóre ZK zawierają dany towar, który jest zarezerwowany.
Jeżeli na stanie jest jedna sztuka towaru i jest ona zarezerwowana pod Zamówienie nr X, to dostępność jest zerowa w systemie - a towar może być tylko wpisany pod PAi lub FS które dotyczą zamówienia X.
Nie wiem jak zmusić Sferę, aby odnosiła się do zamówienia X, tworząc PAi lub FS.

Pierwotny kod:

IsZKExists := SubGT.Dokumenty.Istnieje(ADocZK.Nr);

      if IsZKExists then
        SuDok2 := SubGT.Dokumenty.Wczytaj(ADocZK.Nr)
      else
        raise Exception.Create('Nie istnieje dokument ZK o numerze: ' + ADocZK.Nr);

      SuDok := SubGT.Dokumenty.Dodaj(gtaSubiektDokumentPAi);
      SuDok.DoDokumentuNumerPelny := ADocZK.NrOrg;
      SuDok.KontrahentId := SuDok2.KontrahentId;
      SuDok.OdbiorcaId := SuDok2.OdbiorcaId;

      for I := 0 to ADocZK.DocZKPos.Count - 1 do
      begin
        SuPoz := SuDok.Pozycje.Dodaj(OleVariant(Integer(ADocZK.DocZKPos[I].Id)));
        SuPoz.IloscJm := Integer(Round(ADocZK.DocZKPos[I].Amount));
        SuPoz.WartoscBruttoPoRabacie := ADocZK.DocZKPos[I].PriceGross;
      end;

      SuDok.Zapisz;

drugie podejście - próba 'wiązania' z ZK źródłowym
IsZKExists := SubGT.Dokumenty.Istnieje(ADocZK.Nr);

      if IsZKExists then
        SuDok2 := SubGT.Dokumenty.Wczytaj(ADocZK.Nr)
      else
        raise Exception.Create('Nie istnieje dokument ZK o numerze: ' + ADocZK.Nr);

      case AType of
        gtaSubiektDokumentFS: SuDok := SubGT.SuDokumentyManager.DodajFS;
        gtaSubiektDokumentPAi: SuDok := SubGT.SuDokumentyManager.DodajPAi;
      end;
      SuDok.NumerOryginalny := ADocZK.NrOrg;
      SuDok.NaPodstawie(SuDok2.Identyfikator);
      SuDok.Przelicz();

      SuDok.Zapisz;

ale nie wychodzi.

Proszę o wskazówki. Pozdrawiam

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17040
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #1 dnia: Luty 26, 2019, 18:15:02 »
Drugi kierunek jest właściwy, należy skorzystać z metody "NaPodstawie" obiektu "SuDokument" tylko nie napisałeś co dokładnie Ci nie wychodzi - jaki komunikat błędu się pojawia, jaki pojawia się w interfejsie użytkownika ? Podejrzewam, że inne zamówienie rezerwuje towar, a Ty nie pomijasz rezerwacji towarów.
« Ostatnia zmiana: Luty 26, 2019, 18:40:20 wysłana przez dkozlowski »
Daniel, Białystok.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #2 dnia: Luty 26, 2019, 19:12:26 »
Albo brak parametrów albo jakieś losowe błędy COM.

Wystawiam konkretnie PAi lub FS pod konkretny ZK, który ma np. 1 sztukę i jest ona zarezerowana.
Wiec przypuszczam że brakuje mi dopięcia pomysłu (kod nr 2) aby popranwie powiązać ZK z PAi/FS - może brakuje jakiegoś pola obiektu?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17040
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #3 dnia: Luty 26, 2019, 19:24:38 »
Zamiast snuć domysł odpowiedz na moje pytania, sprawdź sugestie. Profilaktycznie możesz zapisać identyfikator ZK pod zmienną lokalną i zamknąć dokument.
Daniel, Białystok.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #4 dnia: Luty 27, 2019, 08:07:10 »
Błędy w logach, 3 typy:
Szczegóły: Nieprawidłowa liczba parametrów
Szczegóły: Zdalne wywołanie procedury nie powiodło się
Szczegóły: Serwer RPC jest niedostępny

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17040
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #5 dnia: Luty 27, 2019, 09:33:17 »
I nie pomyślałeś, aby przedebugować program i sprawdzić, która dokładnie operacja powoduje problem ? :o Błędy nie mają związku z samym przekształceniem dokumentu, robisz coś innego nie tak, ale ciężko mi zgadywać z fragmentu kodu. Jeśli też nie zamierzasz korzystać z moich sugestii to nie widzę sensu ciągnąć wątku.
Daniel, Białystok.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #6 dnia: Luty 27, 2019, 13:04:03 »
Panie Danielu, doceniam każdą wskazówkę.

Obecnie kod wygląda tak (pozbyłem się dokumentu ZK, mam jego ID w innym miejscu):
      case AType of
        gtaSubiektDokumentFS: SuDok := SubGT.SuDokumentyManager.DodajFS;
        gtaSubiektDokumentPAi: SuDok := SubGT.SuDokumentyManager.DodajPAi;
      end;
      SuDok.NumerOryginalny := ADocZK.NrOrg;
      SuDok.NaPodstawie(ADocZK.Id);

      SuDok.Przelicz();    //<---- Błąd jest w tej metodzie       

      SuDok.Zapisz;

Błąd jest w metodzie Przelicz, sugerujący: "Nieprawidłowa liczba parametrów", jest na tyle inwazyjny że wywala Subiekta/Sferę.
Czego mi brakuje?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17040
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #7 dnia: Luty 27, 2019, 18:49:52 »
W jakim języku programujesz, jak w tym języku wywołuje się metody bez parametrów bo delikatnie mówiąc widzę niekonsekwencję ?
Daniel, Białystok.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #8 dnia: Luty 27, 2019, 21:19:17 »
Akurat to jest Delphi, bez parametrów to pusty nawias i tyle... W pomocy nie spotkałem się, żeby metoda przelicz miała parametry, więc jest to Przelicz().
Można pominąć nawias, jeśli jest pusty - nie ma znaczenia.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17040
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #9 dnia: Luty 27, 2019, 21:28:11 »
Usuń metodę "Przelicz" i sprawdź taki da to efekt, metoda ta jest zbędna w tym momencie (nie powinna też powodować problemu).
Daniel, Białystok.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #10 dnia: Luty 27, 2019, 22:24:13 »
Duże prawdopodobieństwo, że i metoda Przelicz i Zapisz sypała się na jednym konkretnym (pierwszym na liście akurat) dokumencie ZK. Powodem było to, że miał on status nr 8 czyli rozliczono..... Nie wystawiono FS ani PA do niego, ale status rozliczono.... kasując to zamówienia z listy przetwarzania w programie, reszta poszła bez problemu..
« Ostatnia zmiana: Luty 27, 2019, 22:33:33 wysłana przez dan258 »

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17040
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #11 dnia: Luty 27, 2019, 22:41:11 »
Status 8 to nie "rozliczenie" tylko "zrealizowane"... No nie pomyślałem, że próbujesz realizować zamówienie już zrealizowane i nie spróbowałeś wcześniej zrobić w programie tego, co próbowałeś zrobić w Sferze...

Nie wystawiono FS ani PA do niego, ale status rozliczono....

I tak cały czas wracamy do początku: http://www.forumsubiekta.pl/dodatki-zestawienia/wystawienie-faktury/msg108156/#msg108156. Zobacz jakie masz możliwości realizacji zamówienia - jedna z nich to "Zrealizuj bez dokumentu".
Daniel, Białystok.

Offline dan258

  • Użytkownik
  • **
  • Wiadomości: 53
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #12 dnia: Luty 27, 2019, 22:50:39 »
Tak masz rację, 8 to zrealizowane - to miałem na myśli w głowie. Już kilka lat siędzę przy Subiekcie i sferze, ale pewnie jeszcze nie jedno mnie zaskoczy - robię to po godzinach i niestety potwierdzam Twój post - jednakże gdyby było inaczej forum byłoby puste w tym dziale :)

Forum Użytkownikow Subiekt GT

Odp: Dodanie PAi oraz FS na podstawie ZK
« Odpowiedź #12 dnia: Luty 27, 2019, 22:50:39 »