Появились впечатления, рассказываю Вот такой пример из документации не работает ;-(
//Пример создания элементов справочника: Процедура ВыполнитьЗапрос(Запрос,Текст = "") Перем Рез; Если ПустаяСтрока(Текст)=1 Тогда Рез=Запрос.Выполнить(); Иначе Рез=Запрос.Выполнить(Текст); КонецЕсли; Если Рез=0 Тогда ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль"); ВыполняемыйМодуль.СформироватьОшибку(Запрос.ПолучитьОписаниеОшибки()); КонецЕсли; КонецПроцедуры //********************************* Процедура ПодготовитьЗапрос(Запрос,Текст) Если Запрос.Подготовить(Текст)=0 Тогда ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль"); ВыполняемыйМодуль.СформироватьОшибку(Запрос.ПолучитьОписаниеОшибки()); КонецЕсли; КонецПроцедуры //********************************* Процедура ДобавитьПараметр(Запрос,Тип,Длина,Точность) Если Запрос.ДобПараметр(1,Тип,Длина,Точность)=0 Тогда ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль"); ВыполняемыйМодуль.СформироватьОшибку(Запрос.ПолучитьОписаниеОшибки()); КонецЕсли; КонецПроцедуры //********************************* Процедура ПробнаяЗагрузка() СпрКА=СоздатьОбъект("Справочник.Контрагенты"); Запрос=СоздатьОбъект("ODBCRecordset"); БлокировкаКонтрагенты=СоздатьОбъект("SQLLock"); БлокировкаКонтрагенты.УстановитьТипОбъекта("Справочник","Контрагенты"); БлокировкаКонтрагенты.УстановитьТаймаут(10); ФлагУдачи=0; Пока ФлагУдачи=0 Цикл Попытка ВыполнитьЗапрос(Запрос,"begin tran"); ПодготовитьЗапрос(Запрос,"insert $Справочник.Контрагенты values(?ID, ' 0 ', ?Код, ?Наименование, 2, 0, 0, '')"); ДобавитьПараметр(Запрос, 14, 9, 0); ДобавитьПараметр(Запрос, 14, 6, 0); ДобавитьПараметр(Запрос, 14, 100, 0); Для Тек=1 По 10 Цикл Запрос.УстПараметр("ID",БлокировкаКонтрагенты.НовыйИД()); Запрос.УстПараметр("Код",БлокировкаКонтрагенты.НовыйКод()); Запрос.УстПараметр("Наименование","Сгенерированный в SQL транзакции "+Тек); ВыполнитьЗапрос(Запрос); КонецЦикла; ВыполнитьЗапрос(Запрос,"if @@trancount > 0 commit tran"); ФлагУдачи=1; Исключение Запрос.Выполнить("if @@trancount > 0 rollback tran"); Если ОписаниеОшибки()="LockTimeoutExpired" Тогда Если Вопрос("Не удалось заблокировать справочник Контрагенты!Повторить попытку?","ОК+Отмена")="Отмена" Тогда ФлагУдачи=2; КонецЕсли; Иначе ВызватьИсключение; КонецЕсли; КонецПопытки; КонецЦикла; КонецПроцедуры
ругается на
ВыполняемыйМодуль.СформироватьОшибку(Запрос.ПолучитьОписаниеОшибки()); {Документ.Такой-То(478)}: State 22001, native 0, message [Microsoft][ODBC SQL Server Driver]String data, right truncation
|