Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема док.Провести() в Транзакции -- логично или лажа? (ДБФ) (число прочтений - 1966 )
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
док.Провести() в Транзакции -- логично или лажа? (ДБФ)
12. Декабря 2008 :: 07:12
Печать  
Обнаружил, что при программном проведении документа приходится городить вот такую ботву на случай облома при проведении:
Цитата:
док = СоздатьОбъект( "Документ" );
док.НайтиДокумент( ДокументКоторыйФачим );
НачатьТранзакцию();
//*** поправили наполнение докмента:
тч = "";
док.ВыгрузитьТабличнуюЧасть(тч);
тч.....
док.ЗагрузитьТабличнуюЧасть(тч);
док.Комментарий = ....
//док.Записать(); Это как бы лишнее.
Если ( док.Провести( ) = 0 ) Тогда
     ОтменитьТранзакцию();
Иначе
     ЗафиксироватьТранзакцию();
КонецЕсли;

То есть программное док.Провести() в любом случае записывает новое состояние документа, даже если [пере]проведение завершилось неудачей.
В отличае от интерактива, в котором есть ПриЗаписиПерепроводить(1) и при обломе проведения получим и облом с записью нового содержимого в документ.

Я ни где не ошибся, и это действительно так?

(База ДБФ, сетевая)
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: док.Провести() в Транзакции -- логично или лажа? (ДБФ)
Ответ #1 - 12. Декабря 2008 :: 07:24
Печать  
Это кусок кода из обработки или из модуля формы дока, модуля дока ?
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: док.Провести() в Транзакции -- логично или лажа? (ДБФ)
Ответ #2 - 12. Декабря 2008 :: 07:31
Печать  
Ну, когда обнаружил, что доки после ошибок (превышение имеющегося остатка) всё равно внутри плывут  - сделал тестовую обработку.

Но аналогично себя эта штука ведет и в КОПе вызывающемся из модуля формы другого документа, в его ПриЗаписи().

Задача была - автоматически сформировать перепродажу из одной фирмы на другую, если остатков здесь не хватает.
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: док.Провести() в Транзакции -- логично или лажа? (ДБФ)
Ответ #3 - 12. Декабря 2008 :: 07:34
Печать  
dnp писал(а) 12. Декабря 2008 :: 07:31:
Ну, когда обнаружил, что доки после ошибок (превышение имеющегося остатка) всё равно внутри плывут  - сделал тестовую обработку.

Но аналогично себя эта штука ведет и в КОПе вызывающемся из модуля формы другого документа, в его ПриЗаписи().

Задача была - автоматически сформировать перепродажу из одной фирмы на другую, если остатков здесь не хватает.


Если в обработке то нужно В попытку завернуть и запись и проведение.
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: док.Провести() в Транзакции -- логично или лажа? (ДБФ)
Ответ #4 - 12. Декабря 2008 :: 07:39
Печать  
Ну, у меня вроде так и есть, по коду же видно?
Только... в попытку, не в транзакцию? Наверное ты ошибся?
В общем, похоже ясно, всё нормально и меня не глючит Улыбка
Пасиб
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: док.Провести() в Транзакции -- логично или лажа? (ДБФ)
Ответ #5 - 12. Декабря 2008 :: 08:39
Печать  
dnp писал(а) 12. Декабря 2008 :: 07:39:
Ну, у меня вроде так и есть, по коду же видно?
Только... в попытку, не в транзакцию? Наверное ты ошибся?
В общем, похоже ясно, всё нормально и меня не глючит Улыбка
Пасиб

более точно в транзакцию заверни попытку, а попытке запись и проведение.
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать