|
движения в транзакциях | ☑ | ||
---|---|---|---|---|
0
assest
03.08.18
✎
11:37
|
Ситуация
Заказ покупателя при проведении проверяет, нет ли по позициям товаров резервов по этому КА, если есть, то автоматически создается корректировка того заказа который резервировал товар. Все это должно происходить только если пользователь руками проводит документ. Для этого я в форме документа перед записью начинаю транзацию работаю с корректировкой, если все ок фиксирую корректировку, провожу документ. Но если при проведении что случается, то документ не проводится, а транзакция уже зафиксирована. ТОгда я начал фиксировать транзакцию в событии формы призаписи, но тогда в модуле объекта не видно освободившихся остатков. Теперь вопрос как и остатки увидеть и в случае отмены проведения откатить транзакцию с корректировкой |
|||
1
H A D G E H O G s
03.08.18
✎
11:48
|
Дичь какая.
|
|||
2
H A D G E H O G s
03.08.18
✎
11:49
|
УФ?
|
|||
3
Вафель
03.08.18
✎
11:50
|
Делай не в модуле, а на форме
|
|||
4
1Сергей
03.08.18
✎
11:50
|
(1) +1
(3) +1 |
|||
5
assest
03.08.18
✎
11:52
|
(2) Обычное приложение
|
|||
6
Deon
03.08.18
✎
11:52
|
чё такое КА?
|
|||
7
Вафель
03.08.18
✎
11:53
|
(6) конфа такая
|
|||
8
H A D G E H O G s
03.08.18
✎
11:53
|
в модуле формы:
ПередЗаписью ЭтотОбъект.мПроведениеВыполняетсяИнтерактивноНоЭтоВсеРавноТупо=Истина; В модуле объекта документа: ОбработкаПроведения() , перед контролем остатка - проверяем остатки своим методом, если не хватает - делаем корректировку. |
|||
9
H A D G E H O G s
03.08.18
✎
11:56
|
При этом, делание корректировки выполняем в Попытке, а в исключении ты должен проставить флаг
ЭтотОбъект.мЗапретЧтенияДанныхПоОшибке=Истина; и обработать его во всех подписках, иначе у тебя вылезет "В данной транзакции уже происходили ошибки" |
|||
10
Deon
03.08.18
✎
11:57
|
(7) Чё-то в контексте (0) "КА" на название конфы не тянет.
|
|||
11
assest
03.08.18
✎
11:58
|
(6) Контрагент,
Я понял свою ошибку, не зафиксировав в процедуре перед записью и выйдя из него я потерял эти изменения. Поэтому я объявил в модуле объекта переменную что проведение идет из формы, и объявил транзакцию в начале обработки проведения, а фиксирую или отменяю в конце обработки проведения, так освободившиеся остатки видно и при проблемах проведения, корректировки тоже откатываются. |
|||
12
assest
03.08.18
✎
11:58
|
Суть же проблемы была в том что я раньше не пользовался транзакцией и не знал что фиксировать транзакцию нужно в той же процедуре или функции, где она была объявлена. Это ведь так? в Синтакс помошнике по этому повду ничего не сказано
|
|||
13
assest
03.08.18
✎
11:59
|
(10) Есть конфа КА - комплексная автоматизация
|
|||
14
H A D G E H O G s
03.08.18
✎
12:03
|
(12) Суть проблемы в том, что системе пофиг, объявили вы там транзакцию, или нет. В обработке проведения уже выполняется встроенная транзакция.
|
|||
15
assest
03.08.18
✎
13:17
|
(14) А при отмени это транзакции документы которые были созданы, тоже отменятся?
|
|||
16
H A D G E H O G s
03.08.18
✎
14:28
|
(15) Да
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |