![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
1c транзакции
Fbin © (2004-04-22 15:47:00)Работаю с 1С через ole из приложения, написаного на Delphi5.
Все работало нормально до введения транзакций.
При вызове транзакции из клиента при помощи
ExecuteBatch('НачатьТранзакцию()');
EvalExpr('МояФункция(Параметры)');
ExecuteBatch('ОтменитьТранзакцию()'); происходит некорректный откат, то есть часть удаленных данных (табличная часть документа) восстанавливаются, а другие (записи в справочнике) НЕ восстанавливаются
В качестве эксперимента вызов транзакции был перенесен в МояФункция
При вызове функции из 1с все проходит нормально, а при вызове из клиента происходит ошибка при вызове НачатьТранзакцию():
- Ошибка при выполнении процедуры НачатьТранзакцию: 3272
Транзакцию всетаки хотелось бы инициировать на клиенте
Fbin (2004-04-23 10:38:00) [1]1с несовсем наверно лицензионная
дык эт понятно что скобки - важная весчь для 1с
вощем спасибо
VMcL (2004-04-23 10:27:00) [2]>>Fbin © (23.04.04 09:27) [2]
1С, надеюсь, лицензионная? ;)
Тогда звони в 1С или в фирму-франчайзи, где покупалась 1С-ка.
P.S. Кстати, я в [1] ошибся, нужно так:
Str := EvalExpr('глТранзакцияНачать ()'); // Str = OleVariant
Fbin (2004-04-23 09:27:00) [3]Теже яйца, вид сбоку, возвращает:
Ошибка при выполнении процедуры НачатьТранзакцию
VMcL (2004-04-22 23:30:00) [4]>>Fbin © (22.04.04 15:47)
Не знаю, что за ошибка 3272, 1С скупа на документацию :)
Может так прокатит. Попробуй написать в ГМ:
Функция глТранзакцияНачать() Экспорт
Попытка
НачатьТранзакцию();
Исключение
Стр = ОписаниеОшибки();
Возврат Стр;
КонецПопытки;
Возврат "";
КонецФункции
А в Delphi:
Str := EvalExpr('глТранзакцияНачать'); // Str = OleVariant
Посмотри, что в таком случае вернет EvalExpr в Str.
?