Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Сломалась транзакция (

Сломалась транзакция (
Я
   Юзер123
 
28.09.21 - 12:44
Добрый день.
Есть обработка которая создает документы в базе 1С Бухгалтерия.
В данном случае идет речь о документе поступление из переработки.


Операция в транзакции выполняется.

Вопрос такой.  Смотрю по отладчику все проходит до конца без ошибок.
В процессе заполнения документа я вижу в отладчике все реквизиты. Он записывается. С номером датой и ссылкой все ок.

в Конце         ЗафиксироватьТранзакцию();     проходит без ошибок.

Но  документ не появляется.

ЖР говорит

https://i.gyazo.com/560af82965f19bf777ae6d7a0ec1dd2d.png

что нетак ?(
   DrZombi
 
1 - 28.09.21 - 12:45
(0) Код покажи :)
   Юзер123
 
2 - 28.09.21 - 12:45
Точнее так.  После зафиксировать транзакцию ничего не происходит.
   DrZombi
 
3 - 28.09.21 - 12:46
(2) Код покажи, У тебя Ошибка в строке № 3400 :)
   1Сергей
 
4 - 28.09.21 - 12:47
   Юзер123
 
5 - 28.09.21 - 12:50
   Юзер123
 
6 - 28.09.21 - 12:50
(4) ахахахаа  как смешно.. а по делу?
   fisher
 
7 - 28.09.21 - 12:51
(0) Посмотри представление несуществующего документа в ЖР, какое записалось при создании, и поищи по нему. Возможно док просто был удален после создания.
   timurhv
 
8 - 28.09.21 - 12:51
(6) уберите транзакцию на тесте, убедитесь что вывалилась ошибка, исправьте
   fisher
 
9 - 28.09.21 - 12:53
(7) + Хотя точно не вспомню - пишется ли при удалении представление...
   DrZombi
 
10 - 28.09.21 - 12:53
(5) Да
   Ненавижу 1С
 
11 - 28.09.21 - 12:55
Возможно фиксируется вложенная транзакция а внешняя отказывается
   DrZombi
 
12 - 28.09.21 - 12:55
+(0) Ну, если лениво.
Начни показ, с процедуры "Запустил начало транзакции"
Потом покажи "Выполняю Код"
Потом Покажи А вот тут, после "Запустил начало транзакции", я вызвал "Зафиксировать транзакцию".
   Юзер123
 
13 - 28.09.21 - 12:55
(8)  Убрал транзакцию - док создался.
   d4rkmesa
 
14 - 28.09.21 - 12:57
(0) Дата запрета редактирования, например.
   1Сергей
 
15 - 28.09.21 - 12:57
(13) Значит не доходит до фиксирования транзакции. Отладчик помомжет
   Юзер123
 
16 - 28.09.21 - 12:58
(11) Всего одна она.  Или я не понимаю что то)
Грубо говоря 

    НачатьТранзакцию();  

 КОД СОЗДАНИЯ И ЗАПОЛНЕНИЯ ДОКУМЕНТА


     Если (ФлТест=0) тогда          

    ЗафиксироватьТранзакцию();
    КонецЕсли;                
    Иначе          
        ОтменитьТранзакцию();          
    КонецЕсли;

В конце вот так.  Типа тестовый прогон для обнаружения ошибок до загрузки.  ( СЕйчас Эта галка не стоит )

Отладчик заходит.

В ) писал)
   DrZombi
 
17 - 28.09.21 - 12:58
(16) Ошибка в:    ФлТест=0

Убери ограничение.
   Юзер123
 
18 - 28.09.21 - 12:59
(17)  это работало всегда. Работает для других доков...
   DrZombi
 
19 - 28.09.21 - 12:59
+ (16) Условие ошибочное. Много Концов по Если :)

  Если (ФлТест=0) тогда          

    ЗафиксироватьТранзакцию();
    КонецЕсли;                
    Иначе          
        ОтменитьТранзакцию();          
    КонецЕсли;
   Gimalaj
 
20 - 28.09.21 - 13:00
(16) >>Или я не понимаю что то
Почитай вот это: https://habr.com/ru/post/419715/
   Юзер123
 
21 - 28.09.21 - 13:08
(19) Там я лишнее раскоментил.  Нет там этого КонецЕсли.
   Юзер123
 
22 - 28.09.21 - 15:49
(21) Там ошибка при создании счф была.  ЗАкоментил и все заработало в транзакции..  Спс.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.