begin tran if exists(SELECT ID FROM sc104 AS Вал WHERE Вал.CODE = '810') raiserror('Не найдена валюта для анкода',16, 1) else INSERT INTO sc47217 ( ID, CODE, DESCR, sp47218, sp49272, VERSTAMP, ISMARK, sp53019 ) SELECT ' L ','000040','Адаптовит фл 100мл', (SELECT TOP 1 ID FROM sc104 AS Вал WHERE Вал.CODE = '810')as Валюта , 2,1,0,810000040
State HY007, native 0, message [Microsoft][ODBC SQL Server Driver]Associated statement is not prepared if @@trancount > 0 rollback tran
Попытка Запрос.ВыполнитьИнструкцию("begin tran"); ТекстЗапроса = " |if exists(SELECT ID FROM sc104 AS Вал WHERE Вал.CODE = :КодВалюты) |raiserror('Не найдена валюта для анкода',16, 1) |else |INSERT INTO $Справочник.farmАнкоды ( |ID, |CODE, |DESCR, |$Справочник.farmАнкоды.Валюта, |$Справочник.farmАнкоды.ЖВП, |VERSTAMP, |ISMARK, |$Справочник.farmАнкоды.ID |) |SELECT :ID,:Код,:Наименование, |(SELECT TOP 1 ID FROM $Справочник.Валюты AS Вал WHERE Вал.CODE = :КодВалюты)as Валюта , |:ЖВП,1,0,:ID2 | |"; Запрос.УстановитьТекстовыйПараметр("ID",Лок.НовыйИД()); Запрос.УстановитьТекстовыйПараметр("Код",ИЛТЗ.Код); ); Запрос.УстановитьТекстовыйПараметр("КодВалюты",ИЛТЗ.ВалютаКод); Запрос.УстановитьТекстовыйПараметр("ЖВП",ИЛТЗ.ЖВП); Запрос.УстановитьТекстовыйПараметр("ID2",ИЛТЗ.Элемент); Запрос.Отладка(1); Запрос.ВыполнитьИнструкцию(ТекстЗапроса,ЛТЗ,1); Запрос.ВыполнитьИнструкцию("if @@trancount > 0 commit tran"); ТекстЗапроса=""; Исключение //откат транзакции Сообщить(Запрос.ПолучитьОписаниеОшибки());; Запрос.Выполнить("if @@trancount > 0 rollback tran");
|