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