Логично.
В итоге у меня получился вот такой скрипт:
Sub FormMacro_Test(TCSModule)
Set BalanceNmkCards = TCSApp.Inventory.BalanceNmkCardsByPlantDepartment(89)
Call BalanceNmkCards.CreateNew
BalanceNmkCards.Properties("NMK_ID").Value = "735"
Call BalanceNmkCards.SaveChanges
Set NomenclatureSerialNumbers = TCSApp.Inventory.NomenclatureSerialNumbers(735)
Call NomenclatureSerialNumbers.CreateNew
NomenclatureSerialNumbers.Properties("NUMBER").Value = "1234567"
Set Par = NomenclatureSerialNumbers.Properties("Parameters").AsIDispatch
If Not Par Is Nothing Then
R = Par.SetParameterValueByParCode("TCS_WM_EN", "1", 0, True)
End If
Set Par = Nothing
NumID = NomenclatureSerialNumbers.Properties("ID").AsString
NomenclatureSerialNumbers.SaveChanges
Set BalanceNmkCards = Nothing
Set BalanceNmkCards = TCSApp.Inventory.BalanceNmkCards(89, 735)
I = BalanceNmkCards.AddNmkCard("", "", 0, -1, NumID, 0, "", Date())
Set BalanceNmkCards = Nothing
End Sub
Скрипт полностью выполняется, но на строчке:
I = BalanceNmkCards.AddNmkCard("", "", 0, -1, NumID, 0, "", Date())
вылетает ошибка:
SQL Server Error: The statement has been terminated.
Cannot insert duplicate key row in object 'BLNMK_SERIALNUM' with unique index 'BLNMK_SERIALNUM_NMK_IDX'.
В чем дело, понять не могу, подскажите пожалуйста.