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
powoduje błąd instrukcji:
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