mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
InfoDok - jak wczytać rejestr https://forum.mix-soft.pl/viewtopic.php?f=15&t=9803 |
Strona 1 z 1 |
Autor: | iredy [ 2020-12-14, 14:46 ] |
Tytuł: | InfoDok - jak wczytać rejestr |
Witam, Rozwiązania problemu jakoś nie znalazłem, (być może coś źle robię), a sprawa wygląda na potraktowaną w dokumentacji trochę po macoszemu, bo mam nadzieję, że nie jest celowo tuszowana... ;) O co chodzi? Otóż mamy w dokumentacji ładnie opisany obiekt InfoDok, choć w opisie przydałyby się jakieś przykłady. I teraz zgodnie z dokumentacją, ładnie da się stworzyć w AmBasic'u dokument wraz z dekretami, np: Kod: infoDok dok dok.bDok = baseBUF dok.bZap = baseZAP dok.bKsie = baseDOK // doc dok.setField(0, "skrot", "FVZ") dok.setField(0, "nazwa", using "FVZ/%d", 1) dok.setField(0, "tresc", using "treść %d", 1) //pos dok.insert(1) dok.setField(1, "idDlaRozliczen", 1) dok.setField(1, "opis", "opis") dok.setField(1, "strona", 0) dok.setField(1, "kwota", 1097.56) dok.insert(1) dok.setField(1, "idDlaRozliczen", 2) dok.setField(1, "opis", "opis") dok.setField(1, "strona", 1) dok.setField(1, "kwota", 1097.56) dok.insRec() I dokument ładnie powstaje. Brakuje w nim jednak rejestrów - zgodnie z dokumentacją rejestry wstawiamy zamieniając w argumentach metod 1 na 2, zatem przed stworzeniem dokumentu można dodać: Kod: dok.insert(2) dok.setField(2, "okres", "2019-01-01") dok.setField(2, "kontrahent", 6) dok.setField(2, "okrDok", 1) dok.setField(2, "numerWl", "198/1/m/19") dok.setField(2, "datadok", "2019-01-01") dok.setField(2, "dataWS", "2019-01-12") dok.setField(2, "nip", "1132470708") dok.setField(2, "typabc", 1) dok.setField(2, "stawka", 23) dok.setField(2, "brutto", 1350.00) dok.setField(2, "netto", 1097.56) dok.setField(2, "vat", 252.44) dok.setField(2, "dozaplaty", 1350.00) dok.setField(2, "pozNum", -1) dok.setField(2, "danekh", 3) Czyli mielibyśmy coś takiego: Kod: // doc dok.setField(0, "skrot", "FVZ") dok.setField(0, "nazwa", using "FVZ/%d", 1) dok.setField(0, "tresc", using "treść %d", 1) //pos dok.insert(1) dok.setField(1, "idDlaRozliczen", 1) dok.setField(1, "opis", "opis") dok.setField(1, "strona", 0) dok.setField(1, "kwota", 1097.56) dok.insert(1) dok.setField(1, "idDlaRozliczen", 2) dok.setField(1, "opis", "opis") dok.setField(1, "strona", 1) dok.setField(1, "kwota", 1097.56) //rej dok.insert(2) dok.setField(2, "okres", "2019-01-01") dok.setField(2, "kontrahent", 6) dok.setField(2, "okrDok", 1) dok.setField(2, "numerWl", "198/1/m/19") dok.setField(2, "datadok", "2019-01-01") dok.setField(2, "dataWS", "2019-01-12") dok.setField(2, "nip", "1132470708") dok.setField(2, "typabc", 1) dok.setField(2, "stawka", 23) dok.setField(2, "brutto", 1350.00) dok.setField(2, "netto", 1097.56) dok.setField(2, "vat", 252.44) dok.setField(2, "dozaplaty", 1350.00) dok.setField(2, "pozNum", -1) dok.setField(2, "danekh", 3) dok.insRec() ... i tu pojawia się problem. Okazuje się, że samo wstawienie instrukcji Kod: dok.insert(2) powoduje błąd instrukcji: Kod: dok.insRec() Wyskakuje okno z komunikatem: Cytuj: Niedozwolony dostęp do pliku 0 ????? Żadne kombinacje nie pomagają. Dodam jeszcze, że całość dotyczy FK Sage 50c. Komunikat błędu nic mi nie mówi :( Jakiego pliku? Czy ktoś z Was miał może podobne doświadczenia, ew. jest w stanie jakoś podpowiedzieć? /pozdr irek |
Autor: | michalkurzak [ 2021-10-11, 21:31 ] |
Tytuł: | Re: InfoDok - jak wczytać rejestr |
Hej :) Masz może jakieś wnioski? Czy coś Ci się udało poradzić? |
Autor: | michalkurzak [ 2021-10-11, 22:53 ] |
Tytuł: | Re: InfoDok - jak wczytać rejestr |
Jak jeszcze kolega nie ma, a jak nie to dla innych To tak, u góry brakuje dok.bRej, dla ERP będzie to: Kod: dok.bRej = dbOpenVatBase( ZRODLO_BUFOR, true ) Wtedy rozpoczynamy insertem i dodajemy jeszcze pole definicji rejestru: Kod: dok.insert(2) dok.setField(2, "def", 5) |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |