Autor Wątek: Metoda NaPodstawie dla KFSn.  (Przeczytany 15254 razy)

0 użytkowników i 2 Gości przegląda ten wątek.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Metoda NaPodstawie dla KFSn.
« dnia: Wrzesień 18, 2015, 11:58:48 »
Witam,

do każdego paragonu wystawiam FSd, aby zrobić korektę do tak wystawionej faktury używam KFSn.

O ile nie ma problemu z wypisaniem zwykłej korekty(KFS) do zwykłej faktury FS to mam problem z wypisaniem korekty(KFSn) do faktury FSd.

Nie wiem jak użyć metody NaPodstawie aby wygenerować korektę KFSn na podstawie faktury FSd, tak aby korekta posiadała od razu wszystkie jej dane. Czy takie coś jest w ogóle możliwe?

Próbowałem jak poniżej, jednak bez efektu:

$oDokFSd = $oSubGT.SuDokumentyManager.Wczytaj($DokFSd)
$oDok = $oSubGT.SuDokumentyManager.DodajKFS
$oDok = $oSubGT.Dokumenty.Dodaj(-37)
$oDok.NaPodstawie($oDokFSd.Identyfikator)
$oDok.Wyswietl()

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #1 dnia: Wrzesień 18, 2015, 12:15:37 »
Jeśli nie ma metody to należy ją napisać sobie samemu.
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #2 dnia: Wrzesień 18, 2015, 12:42:12 »
Możesz podać jakiś przykład?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #3 dnia: Wrzesień 18, 2015, 12:58:02 »
Ale czego ? Nie wiesz jak dodać pozycję do dokumentu ?
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #4 dnia: Wrzesień 18, 2015, 13:06:00 »
Napisałeś, że metodę należy stworzyć samemu.

Jeżeli nie można wczytać wszystkich danych z dokumentu źródłowego to jak najprościej odczytać przykładowo id kontrahenta czy pozycje, które znajdowały się na dokumencie źródłowym?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #5 dnia: Wrzesień 18, 2015, 13:20:18 »
No po prostu należy wczytać dokument i odczytać jego właściwości.
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #6 dnia: Wrzesień 18, 2015, 13:37:21 »
To rozumiem, nie wiem tylko jaka jest składnia, czy mógłbyś podać przykład?

$oDokFSd = $oSubGT.SuDokumentyManager.Wczytaj($DokFSd)
$oDok.KontrahentId = ???

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #7 dnia: Wrzesień 18, 2015, 13:41:39 »
Cytuj
$oDokFSd = $oSubGT.SuDokumentyManager.Wczytaj($DokFSd)
id kontrahenta = $oDok.KontrahentId
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #8 dnia: Wrzesień 18, 2015, 14:56:40 »
Dziękuję:)

Natrafiłem na jeszcze jeden problem z odczytaniem id pozycji, czy mógłbyś podpowiedzieć w jaki sposób to zrobić?

For $oPoz In $oDokFSd.Pozycje
$a = ??
Next

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #9 dnia: Wrzesień 18, 2015, 15:03:21 »
Po pierwsze zajrzyj do pomocy:

Cytuj
Atrybut Id
Określa identyfikator pozycji w tabeli dok_Pozycja.
Uwagi
Atrybut tylko do odczytu.
Stanowi odwołanie do pola ob_Id w tabeli dok_Pozycja.

Po drugie nie potrzebujesz tej informacji - potrzebujesz identyfikatora towaru, cytat z pomocy:

Cytuj
Atrybut TowarId
Identyfikator towaru występującego na pozycji dokumentu.
Uwagi
Atrybut tylko do odczytu.
Jeśli atrybut ma wartość NULL, wówczas oznacza to, że na danej pozycji dokumentu została wstawiona usługa jednorazowa.
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #10 dnia: Wrzesień 18, 2015, 16:16:58 »
Prawidłowo uzupełnia mi się już grid wraz z ilościami, cena powinna się uzupełnić analogicznie jednak tak się nie dzieje.

Poniżej kod za to odpowiedzialny:

For $oPoz In $oDokFSd.Pozycje

$cena = $oPoz.CenaBruttoPoRabacie;
$ilosc = $oPoz.IloscJm

$oPoz = $oDok.Pozycje.Dodaj($oPoz.TowarId)
$oPoz = $oDok.Pozycje.Element($i)
$oPoz.IloscJm = $ilosc
$oPoz.IloscJmPoKorekcie = $ilosc

$oPoz.CenaBruttoPoRabacie = $cena
$oPoz.CenaBruttoPoRabaciePoKorekcie = $cena
$i = $i+1
        Next

Prawidłowo powinien zwrócić coś takiego:



Ale ceny są całkiem pomieszane, jakby były zaciągane z ceny kartotekowej:



Gdzie może być błąd?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #11 dnia: Wrzesień 20, 2015, 11:17:26 »
Prawidłowo uzupełnia mi się już grid wraz z ilościami, cena powinna się uzupełnić analogicznie jednak tak się nie dzieje.

Poniżej kod za to odpowiedzialny:
...
Prawidłowo powinien zwrócić coś takiego:
...
Gdzie może być błąd?

Porównaj czynności wykonywanie w programie podczas wystawiania dokumentu z kodem programu.
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #12 dnia: Wrzesień 21, 2015, 09:09:48 »
Cytuj
Porównaj czynności wykonywanie w programie podczas wystawiania dokumentu z kodem programu.
Co masz na myśli? Podczas wystawiania tego dokumentu nie robi się nic poza wciśnięciem: "koryguj"


Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #13 dnia: Wrzesień 21, 2015, 09:46:13 »
Cytuj
Porównaj czynności wykonywanie w programie podczas wystawiania dokumentu z kodem programu.
Co masz na myśli? Podczas wystawiania tego dokumentu nie robi się nic poza wciśnięciem: "koryguj"

Ja odnoszę się do zmieszczonego przez Ciebie kodu źródłowego i pytania, a co Ty masz na myśli ? Pytałeś jak "dodać KFSn", a teraz pokazujesz na zrzucie ekranu "korygowanie FSd", które nie jest dostępne w Sferze zamiast "dodawania KFSn" ? Jak napisałem zrób w programie to samo co chcesz uzyskać w kodzie programu, czyli "dodaj KFSn"...
Daniel, Białystok.

Offline gawcio90

  • Użytkownik
  • **
  • Wiadomości: 71
  • Reputacja +0/-0
  • Wersja programu: 1.59 HF2
Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #14 dnia: Wrzesień 22, 2015, 15:04:31 »
Cytuj
Pytałeś jak "dodać KFSn", a teraz pokazujesz na zrzucie ekranu "korygowanie FSd"
Bo to właśnie chcę uzyskać, przy korygowaniu FSd, tworzone jest właśnie KFSn.


Cytuj
Jak napisałem zrób w programie to samo co chcesz uzyskać w kodzie programu, czyli "dodaj KFSn"...
Tak właśnie robię, ale aby utworzyć KFSn, to wcześniej musiałem wczytać FSd aby móc prawidłowo wypełnić dodwany KFSn.

W każdym razie mam już oczekiwany rezultat, problemem jest tylko usługa transportu, dla której nie jestem w stanie ustawić wartości po korekcie.

$oPoz.CenaBruttoPrzedRabatem = 12
$oPoz.CenaBruttoPoRabaciePoKorekcie = 12

Powyższe prawidłowo przypisuje się do ceny kosztu transportu jednak już zmienna "PoKorekcie" zwraca zero. Wiesz może dlaczego?

W przypadku towarów, które nie są usługami działa to prawidłowo.

Forum Użytkownikow Subiekt GT

Odp: Metoda NaPodstawie dla KFSn.
« Odpowiedź #14 dnia: Wrzesień 22, 2015, 15:04:31 »