#0
by kgivanovich
Привет всем! Подключаюсь к базе 7.7 из 8.1 по OLE. Далее пишу: Оле.НачатьТранзакцию; Ругается: Произошла исключительная ситуация (1С:Предприятие): Ошибка при выполнении процедуры НачатьТранзакцию Пишу по англицки: Оле.BeginTransaction; Такая же ругань. Пишу далее: Оле.EvalExpr("НачатьТранзакцию"); Всё-равно не хочет Подскажите, пжлста, что не так?
#3
by Kolombina
Вы уверены в использовании транцакции по оле. Может: НачатьТранзакцию; Оле....(делаем что нужно с оле) Мы же не пищем там Оле.EvalExpr("Если А>В Тогда")
#5
by kgivanovich
В твоем примере транзакция открывается в той базе, где ты находишься. Мне же нужно - в базе подключения
#9
by vde69
только отладчиком не пытайся внутри точки останова ставить и заходить, у меня рабочий код дома есть, может вечером кину
#10
by kgivanovich
В базе 7.7, к которой подключаюсь, (в глобальнике) добавил три процедурки: Обращаюсь к ним соответственно: Оле.ОлеНачатьТранзакцию; ... Оле.ОлеЗафиксироватьТранзакцию; Ругается на последнюю строчку: транзакция не активна Я так пробовал. Не получается. Однако буду ждать рабочего кода. Спасибо
#11
by Torquader
Чтобы начать транзакцию в OLE-сессии, нужно, чтобы эта сессия не прекращалась, так как возврат управления из вызова процедуры "НачатьТранзакцию" приводит к завершению и утере транзакции. Нужно в OLE-базе "открывать" форму внешней обработки с исполняемым кодом в процедуре ПриОткрытии, где можно и транзакцию открыть, и сделать всё и сразу. Кстати, EvalExpr вычисляет значение, а НачатьТранзакцию ничего не возвращает. Так что, если пробовать, то ExecuteBatch("НачатьТранзакцию;");
#12
by kgivanovich
Насчет внешней обработки, это ИМХО перебор, а вот насчет ExecuteBatch - это интересно. Завтра испытаю и сообщу. А обязательно ставить точку с запятой после НачатьТранзакцию ?
#16
by kgivanovich
Проверил метод ExecuteBatch. Ругани никакой нет, однако и толку никакого: при отмене транзакции произведенные изменения остаются. Т.е транзакция просто не включается
#17
by vde69
забыл дома посмотреть... короче правила: 1. ВСЕ OLE обьекты создаються ПОСЛЕ начала транкзации 2. 1с не подерживает вложеные и пересекающиеся транкзации (то есть если в 1с уже открыта транкзация - то фигу получишь), исключение - системные транкзации при записи элемента.
#19
by kgivanovich
А может быть я действительно не тот способ подключения использую? А какие ещё могут быть?
#25
by Ёпрст
+24 это такой же баян, как и использование списка в условии в Оле запросе.. который там не работает.
#27
by Ёпрст
Обойти - только через массив, элементом которго, например будет СЗ. А с 2000-го ничего не изменилось.. уж в ОЛЕ это точно.
#28
by Ёпрст
а вообще, имхо, лучше читать с ОЛЕ-базы, чем писать в неё.. и транзакция тебе и ошибки при записи/прорведении все есть... и скорость быстрее.
#30
by Torquader
Ещё раз напомню, что "открытие внешней обработки" даже в OLE базе позволяет работать, как будто ты находишься в обычной базе (и не надо "напрягать систему" переносом объектов через границы процесса - сохранил в файл, а после выполнения обработки - прочитал из файла).
#32
by victuan1
Неправда твоя. Прекрасно работает список значений в ОЛЕ-запросе. Надо просто уметь его создавать правильно:
#38
by Ёпрст
И чего ? Про то, что запрос можно выгрузить в ТЗ, это я и без тебя знаю.. Показывай, как ты там список в Тексте ЗАПРОСА используешь.
#41
by Ёпрст
И скунки и ктулху, тоже били тут себя пяткой в грудь - что работает, но рабочего кода так никто и не привёл..
#42
by victuan1
Как же я до сих пор не напоролся на это? Я ведь активно юзаю перенос оперативных остатков через ОЛЕ со всякими фильтрами? Буду повнимательнее
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Запрет на повторное открытие формы внешней обработки
- ЗУП РаботникиОрганизаций
- не формирует отчет, ошибка ИмпульсКомпонента.
- v7: Как в регистре сведений сделать замещение данных.
- УПП Кто ведет табель учета рабочего времени?
- Как получить тип значения через COM?
- Перенос из базовой в проф
- Когда заводишь новый элемент спр. Контрагенты выдает не уникальный код!
- ЗиК, минусовое удержание
- Перенос данных из ЗиК в Камин 2.0
- Отмена транзакции в SQL-версии 1С
- v7: ЗУП. Отразить договор аренды автомобиля.
- Как получить список возможных прав доступа объекта метаданных ?
- Прайс-лист с картинками
- ЗУП: не считается средний заработок в больничном
- Как узнать установленый в ОС разделитель целой и дробной части из 1с?
- ЗУП выгрузка проводок в БП
- Перехват клика по заголовку колонки табличного поля
- 8.1 ЗУП Как изменить формулу расчета предопределенного вида расчетов
- При удалении строки с таблицы как удалить запись с регистра