InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: gawcio90 w 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()
-
Jeśli nie ma metody to należy ją napisać sobie samemu.
-
Możesz podać jakiś przykład?
-
Ale czego ? Nie wiesz jak dodać pozycję do dokumentu ?
-
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?
-
No po prostu należy wczytać dokument i odczytać jego właściwości.
-
To rozumiem, nie wiem tylko jaka jest składnia, czy mógłbyś podać przykład?
$oDokFSd = $oSubGT.SuDokumentyManager.Wczytaj($DokFSd)
$oDok.KontrahentId = ???
-
$oDokFSd = $oSubGT.SuDokumentyManager.Wczytaj($DokFSd)
id kontrahenta = $oDok.KontrahentId
-
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
-
Po pierwsze zajrzyj do pomocy:
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:
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.
-
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:
(http://s5.ifotos.pl/img/KFSnPNG_spaqwxh.png)
Ale ceny są całkiem pomieszane, jakby były zaciągane z ceny kartotekowej:
(http://s2.ifotos.pl/img/gridPNG_spaqwxe.png)
Gdzie może być błąd?
-
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.
-
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"
(http://s2.ifotos.pl/img/korygujpn_spqsswn.png)
-
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"...
-
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.
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.
-
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.
Przecież ustaliliśmy, że tak się nie da bezpośrednio w Sferze więc po co próbować w programie. Efekt ma być taki sam, ale sposób jego uzyskania inny.
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.
Nie prawda... Przecież w kodzie uzupełniałeś ceny brutto po rabacie, a tego w programie zrobić nie można.
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.
Nie wiem, trzeba sprawdzić i wyjaśnić.