Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ВыполнитьSQL_ИзТЗ работает в транзакции? (число прочтений - 1193 )
vectorov
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 08. Октября 2010
Пол: Мужской
ВыполнитьSQL_ИзТЗ работает в транзакции?
26. Января 2011 :: 14:45
Печать  
Добрый день.
Проясните, пожалуйста, обработка всей ТЗ методом ВыполнитьSQL_ИзТЗ происходит в одной транзакции?

Если нет, то как добиться, чтобы данные в ТЗ, например, были добавлены в приемник все или ничего не добавилось с случае каких-то проблем с одной записью из ТЗ?
  
Наверх
 
IP записан
 
vectorov
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 08. Октября 2010
Пол: Мужской
Re: ВыполнитьSQL_ИзТЗ работает в транзакции?
Ответ #1 - 28. Января 2011 :: 11:35
Печать  
Опытным путем выяснил, что ВыполнитьSQL_ИзТЗ работает не в одной транзакции?

Подскажите, пожалуйста, как организовать вставку всего набора данных из ТЗ в одной транзакции используя ВыполнитьSQL_ИзТЗ?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ВыполнитьSQL_ИзТЗ работает в транзакции?
Ответ #2 - 28. Января 2011 :: 11:56
Печать  
примерно так

ВыполнитьИнструкцию("begin tran")
ВыполнитьSQL_ИзТЗ()
если все ок
ВыполнитьИнструкцию("commit tran")
иначе
ВыполнитьИнструкцию("rollback tran")
  

1&&2&&3
Наверх
 
IP записан
 
vectorov
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 08. Октября 2010
Пол: Мужской
Re: ВыполнитьSQL_ИзТЗ работает в транзакции?
Ответ #3 - 28. Января 2011 :: 12:11
Печать  
trad писал(а) 28. Января 2011 :: 11:56:
примерно так

ВыполнитьИнструкцию("begin tran")
ВыполнитьSQL_ИзТЗ()
если все ок
ВыполнитьИнструкцию("commit tran")
иначе
ВыполнитьИнструкцию("rollback tran")


Я тут попробовал стандартные (при этом подключение к сиквелу 1С-вское)
НачатьТранзакцию();
ЗафиксироватьТранзакцию();

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

Можно этим пользоваться, а то я не понимаю полностью как работают эти методы на уровне сиквела?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать