import kontrahentow - problem z rodzajem
Witam.
Probuje zaimportowac kontrahenta przy pomocy ponizszego kodu:
Kod:
//================================================================================
// Import kontrahenta.
//================================================================================
int Sub CustomerImport()
Clear(basKH)
string naglowek = readColumn()
string kod = readColumn()
string nazwa = readColumn()
string miasto = readColumn()
string ulica = readColumn()
string numerDomu = readColumn()
string numerLokalu = readColumn()
string kodPocztowy = readColumn()
string nip = readColumn()
string telefon = readColumn()
string typPlatnosciId = readColumn()
string rabat = readColumn()
string czyBrutto = readColumn()
string cennikId = readColumn()
string negocjacjaCen = readColumn()
string terminPlatnosci = readColumn()
string rodzajId = readColumn()
SetField (basKH, "typ", "0")
SetField (basKH, "typi", 0)
SetField (basKH, "subtypi", 0)
SetField (basKH, "kod", kod)
SetField (basKH, "nazwa", nazwa)
SetField (basKH, "miejscowosc", miasto)
SetField (basKH, "ulica", ulica)
SetField (basKH, "dom", numerDomu)
SetField (basKH, "lokal",numerLokalu)
SetField (basKH, "kodpocz", kodPocztowy)
SetField (basKH, "nip", nip)
SetField (basKH, "tel1", telefon)
if typPlatnosciId != "" then
SetField (basKH, "formaplatn", Val(typPlatnosciId))
endif
SetField (basKH, "upust", Val(rabat))
int grupaceni = 0
if czyBrutto == "1" then
grupaceni = grupaceni + 1
endif
select case (cennikId)
case "65":
grupaceni = grupaceni + 2 // A
case "66":
grupaceni = grupaceni + 4 // B
case "67":
grupaceni = grupaceni + 6 // C
case "68":
grupaceni = grupaceni + 8 // D
endselect
SetField (basKH, "grupaceni", grupaceni)
if negocjacjaCen = "0" then
SetField (basKH, "negoc", "T")
else
SetField (basKH, "negoc", "N")
endif
if rodzajId == "" then
SetField (basKH, "rodzaj", 3100)
else
SetField (basKH, "rodzaj", Val(rodzajId))
endif
SetField (basKH, "idkraju", 5801)
SetField (basKH, "katalog", 2100)
if InsRec(basKH) != 0 then
ShowMsgError()
baseError (basKH, 2)
Error ""
endif
EndSub
Mam problem z przypisaniem rodzaju kontrahenta oraz typu platnosci. Jesli przypisze rodzaj (id = 438 tak jak dla istniejacych w bazie kontrahentow, ktorych wczesniej sobie wyeksportowalem) to powstaje ponizszy blad:
1. W podgladzie kontrahenta nie pojawia sie zaden rodzaj
2. Nie moge przypisac kontrahentowi jakiegokolwiek rodzaju (pojawia sie komunikat 'Nieznany katalog lub rodzaj')
3. Nie moge usunac takiego kontrahenta (pojawia sie nieudokumentowany blad obslugi bazy -4101)
W przypadku platnosci, nie pojawia sie przypisana forma platnosci.
Gdzie tkwi blad?
Pozdrawiam,
Jacek Frieske