Tworzenie nowego dokumentu przez COM - problem z BIORec
Witam
Rozpoczynam dopiero pracę z obiektem integracji i mam mały problem z obiektem typu BIORec. Utrudnieniem jest fakt że nie korzystam z VBA, ale z czegoś wyłącznie podobnego, czyli LotusScript.
Nie mam problemu z dostaniem się do dokumentów i z odczytem danych, jednak z jakiegoś powodu podczas importowania dokumentu pojawia się błąd.
Poniżej, fragment zmodyfikowanej wersji kodu podanego w dokumentacji:
Kod:
Set xFactory = objHMF.GetApplication.PropertyAp("HFactory")
Set xBIORec = xFactory.NewObject("BIORec")
nError= xBIORec.SetField("typDk", "FVS")
Call blad("1",nError)
nError= xBIORec.SetField("seria", "sFVS")
Call blad("2",nError)
nError= xBIORec.BeginSection("danekh")
Call blad("3",nError)
nError= xBIORec.SetField("khnazwa","Maksymilian Katz")
Call blad("4",nError)
nError= xBIORec.SetField("khulica","Zdrojowa")
Call blad("5",nError)
nError= xBIORec.SetField("khdomu","1")
Call blad("6",nError)
nError= xBIORec.SetField("khlokal","3")
Call blad("7",nError)
nError= xBIORec.SetField("khkodpocz","87-720")
Call blad("8",nError)
nError= xBIORec.SetField("khmiasto","Ciechocinek")
Call blad("9",nError)
nError= xBIORec.EndSection()
Call blad("10",nError)
nError= xBIORec.BeginSection("Pozycja dokumentu")
Call blad("11",nError)
nError= xBIORec.SetField("opis","usługa rozrywkowa")
Call blad("12",nError)
nError= xBIORec.SetField("ilosc","2")
Call blad("13",nError)
nError= xBIORec.SetField("jednostkaMiary","godz.")
Call blad("14",nError)
nError= xBIORec.SetField("cena","75")
Call blad("15",nError)
nError= xBIORec.EndSection()
Call blad("16",nError)
nError= xBIORec.BeginSection("rejestr")
Call blad("17",nError)
nError= xBIORec.SetField("kod","KASA")
Call blad("18",nError)
nError= xBIORec.EndSection()
Call blad("19",nError)
Set xFunkcja = xFactory.NewObject("BFunkcja")
Dim lId As Variant
lId = xFunkcja.ImportSp(xBIORec)
Call blad() - zwraca mi nr błędu. W tym przypadku, po uruchomieniu, błąd pojawia się w przypadku 10,16 i 19. Co oznacza, że błąd występuje zawsze przy wywołaniu xBIORec.EndSection().
Do importowania oczywiście nie dochodzi z powodu błędu
Zamiast dispatch jest Set, metody wywołujemy przez Call, wszelkie obiekty sa zadeklarowane jako Variant (odpowiednik Object), wiec teoretycznie wszystko powinno dzialac. Przypisanie nError= xBIORec.EndSection() zamiast xBIORec.EndSection(), bierze się z innej składni LotusScript. Wywołanie samego Call kończy się błędem.
Na temat błędów samego BIORec jest w dokumentacji niewiele i niestety kończą mi się pomysły. Jeśli ktoś ma jakiekolwiek wskazówki na ten temat to byłbym wdzięczny.
Pozdrawiam.