Вход | Регистрация

1С:Предприятие ::

Метки: 

движения в транзакциях

Я
   assest
 
03.08.18 - 11:37
Ситуация
Заказ покупателя при проведении проверяет, нет ли по позициям товаров резервов по этому КА, если есть, то автоматически создается корректировка того заказа который резервировал товар. Все это должно происходить только если пользователь руками проводит документ.

Для этого я в форме документа перед записью начинаю транзацию работаю с корректировкой, если все ок фиксирую корректировку, провожу документ. Но если при проведении что случается, то документ не проводится, а транзакция уже зафиксирована.

ТОгда я начал фиксировать транзакцию в событии формы призаписи, но тогда в модуле объекта не видно освободившихся остатков.

Теперь вопрос как и остатки увидеть и в случае отмены проведения откатить транзакцию  с корректировкой
 
  Рекламное место пустует
   H A D G E H O G s
 
1 - 03.08.18 - 11:48
Дичь какая.
   H A D G E H O G s
 
2 - 03.08.18 - 11:49
УФ?
   Вафель
 
3 - 03.08.18 - 11:50
Делай не в модуле, а на форме
   1Сергей
 
4 - 03.08.18 - 11:50
(1) +1
(3) +1
   assest
 
5 - 03.08.18 - 11:52
(2) Обычное приложение
   Deon
 
6 - 03.08.18 - 11:52
чё такое КА?
   Вафель
 
7 - 03.08.18 - 11:53
(6) конфа такая
   H A D G E H O G s
 
8 - 03.08.18 - 11:53
в модуле формы:
ПередЗаписью

ЭтотОбъект.мПроведениеВыполняетсяИнтерактивноНоЭтоВсеРавноТупо=Истина;

В модуле объекта документа:
ОбработкаПроведения() , перед контролем остатка - проверяем остатки своим методом, если не хватает - делаем корректировку.
   H A D G E H O G s
 
9 - 03.08.18 - 11:56
При этом, делание корректировки выполняем в Попытке, а в исключении ты должен проставить флаг
ЭтотОбъект.мЗапретЧтенияДанныхПоОшибке=Истина;

и обработать его во всех подписках, иначе у тебя вылезет

"В данной транзакции уже происходили ошибки"
   Deon
 
10 - 03.08.18 - 11:57
(7) Чё-то в контексте (0) "КА" на название конфы не тянет.
 
  Рекламное место пустует
   assest
 
11 - 03.08.18 - 11:58
(6) Контрагент,
Я понял свою ошибку, не зафиксировав в процедуре перед записью и выйдя из него я потерял эти изменения. Поэтому я объявил в модуле объекта переменную что проведение идет из формы, и объявил транзакцию в начале обработки проведения, а фиксирую или отменяю в конце обработки проведения, так освободившиеся остатки видно и при проблемах проведения, корректировки тоже откатываются.
   assest
 
12 - 03.08.18 - 11:58
Суть же проблемы была в том что я раньше не пользовался транзакцией и не знал что фиксировать транзакцию нужно в той же процедуре или функции, где она была объявлена. Это ведь так? в Синтакс помошнике по этому повду ничего не сказано
   assest
 
13 - 03.08.18 - 11:59
(10) Есть конфа КА - комплексная автоматизация
   H A D G E H O G s
 
14 - 03.08.18 - 12:03
(12) Суть проблемы в том, что системе пофиг, объявили вы там транзакцию, или нет. В обработке проведения уже выполняется встроенная транзакция.
   assest
 
15 - 03.08.18 - 13:17
(14) А при отмени это транзакции документы которые были созданы, тоже отменятся?
   H A D G E H O G s
 
16 - 03.08.18 - 14:28
(15) Да


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