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/