mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Programistyczne tworzenie korekt do dokumentów sprzedaży https://forum.mix-soft.pl/viewtopic.php?f=15&t=7930 |
Strona 1 z 1 |
Autor: | Mustrum [ 2017-05-29, 09:11 ] |
Tytuł: | Programistyczne tworzenie korekt do dokumentów sprzedaży |
Próbowałem na różne sposoby. Robienie tego obiektami: Kod: dokumentKorygowany = xFactory.NewObject("BDokumentSp") dokErr = dokumentKorygowany.Load("kod='kodDokumentu'") dispatch korekta = dokumentKorygowany.UtworzKorekte() nie działa (korekta pozostaje pustym obiektem). IORec: Kod: IORec rec rec.SetField("typDk", "FKS") rec.SetField("seria", "sFKS") //... rec.SetField("idKorygowany","666") rec.ImportSP() również nie pozwala na tworzenie korekt (dokument, który powstaje w buforze nie jest korektą, tylko szkieletem dokumentu sprzedaży bez serii/typu). Czy znacie jakiś sposób na utworzenie korekty dla dokumentu? |
Autor: | rafal [ 2017-05-29, 11:52 ] |
Tytuł: | Re: Programistyczne tworzenie korekt do dokumentów sprzedaży |
Kod: // deklaracja obiektu typu IoRec IoRec ioX // Ustawienie do jakiego dokumentu będzie wystawiona korekta ioX.SetField("idDokKoryg", "65615") //Wybów pozycji, która będzie korygowana ioX.BeginSection("Pozycja dokumentu") // numer pozycji korygowanej ioX.SetField("lp","1") // ilość o jaką korygujemy ioX.SetField("ilosc","-1") // lub wartość ioX.SetField("cena","-10") ioX.EndSection() ImportSP(ioX) |
Autor: | Mustrum [ 2017-05-30, 14:36 ] |
Tytuł: | Re: Programistyczne tworzenie korekt do dokumentów sprzedaży |
Dzięki, użycie IORec na podanej przez ciebie zasadzie działa. Kolejnym problemem, który napotkałem jest edycja korekty (jak by co wszystko dotyczy HMF 2017b). Korekty sprzedaży mogę bez problemu wczytać do BDokumentSp i następnie przejrzeć ich pozycje, jednak próba zmiany ilości powoduje w większości przypadków błąd "Wykonanie PropertyPut nie powiodło się". Kod: xPozycja.KorygujPozycje() //czy tak wprowadza się pozycję w tryb edycji? xPozycja.iloscWp = -1.0 //błąd Kod: xPozycja.poKorekcie.KorygujPozycje() //crash Handlu... Kod: xPozycja.Edit() //taka metoda nie istnieje |
Autor: | rafal [ 2017-05-30, 15:58 ] |
Tytuł: | Re: Programistyczne tworzenie korekt do dokumentów sprzedaży |
Edytuj też przez IoRec |
Autor: | Mustrum [ 2017-05-31, 09:30 ] |
Tytuł: | Re: Programistyczne tworzenie korekt do dokumentów sprzedaży |
Czy nikogo nie denerwuje fakt, że jedyna rzecz do manipulacji dokumentami w Handlu, która jako tako działa, nie posiada niemal żadnej dokumentacji? Edycja korekty za pomocą IORec działa prawidłowo dla pozycji, które były wcześniej korygowane (zauważyłem też, że ilość jest liczona dla edycji w odmienny sposób): Kod: IORec korekta korekta.SetField("id", idKorekty) korekta.BeginSection("Pozycja dokumentu") korekta.SetField("lp",numerLinii) korekta.SetField("ilosc", (using "%f", ilosc)) //gdzie ilosc to ilość sprzedanego towaru po korekcie korekta.EndSection() EditSP(korekta) Jednak jeżeli dana pozycja nie była wcześniej korygowana (tj korekta zmieniała inne pozycje), powyższy kod nie robi nic. |
Autor: | rafal [ 2017-05-31, 09:35 ] |
Tytuł: | Re: Programistyczne tworzenie korekt do dokumentów sprzedaży |
Jeżeli pozycja nie została nigdy skorygowana to nie znajduje się na korekcie czyli nie możesz edytować korekty tylko dokument źródłowy. A dokument źródłowy nie powinien pozwolić się edytować bo ma korektę - czyli będzie pewnie błąd. Pozostaje zmiana pozycji przez wystawienie kolejnej korekty. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |