|
непонятки с ОбработкойПроведения()
| ☑ |
0
hatsher
23.01.12
✎
00:43
|
Имеется типовая БП, док реализацияТоваровУслуг, ПРоцедура ОбработкаПроведения().
В начало процедуры помещаю следующий код:
наборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
наборЗаписей.Отбор.период.установить(ТекущаяДата());
Нов = наборЗаписей.Добавить();
Нов.Валюта = КОнстанты.ВалютаРегламентированногоУчета.Получить();
Нов.Период = ТекущаяДата();
Нов.Курс =1;
Нов.Кратность =1;
НаборЗаписей.Записать();
Результат: при проведении документа без ошибок(Отказ = ЛОЖЬ) - запись в РС добавляется. Если в процедуре Отказ=ИСТИНА, то запись в РС не добавляется, несмотря на то, отладчик проходит кусок модуля с записью в РС полностью.
Получается, что процедура ОбработкаПРоведения работает в какой-то внутренней транзации чтоле.
Как сделать, чтобы данные в РС записывались при ошибках проведения?
|
|
1
GROOVY
23.01.12
✎
00:46
|
ПРи каком событии нужно поместить данные в регистр сведений?
|
|
2
hatsher
23.01.12
✎
00:48
|
(1) ну вообще-то - нужно записывать в РС все ошибки, которые возникают при проведении дока. Это ОбщегоНазначения.СообщитьОбОшибке()
Но я вот пока тестирую и вижу такую багу
|
|
3
hatsher
23.01.12
✎
00:49
|
почему не происходит запись в РС при ошибках в проведении ?
|
|
4
GROOVY
23.01.12
✎
00:50
|
Потому что там транзакция отказывается.
|
|
5
hatsher
23.01.12
✎
00:50
|
(4) а как её обмануть?
|
|
6
GROOVY
23.01.12
✎
00:51
|
(2) А журнал регистрации и технологический журнал чем не устраивают?
|
|
7
hatsher
23.01.12
✎
00:51
|
+ пробовал свой кусок модуля выполнять в транзакции - безрезультатно
|
|
8
GROOVY
23.01.12
✎
00:51
|
(5) Никак, транзакция она такая транзакция... Вариант - вынести все за транзакцию...
|
|
9
hatsher
23.01.12
✎
00:52
|
(6) не устраивает. Нужно именно такое управленческое решение.
|
|
10
GROOVY
23.01.12
✎
00:52
|
Ну изобретайте велосипед дальше...
|
|
11
hatsher
23.01.12
✎
09:28
|
ап. кто что скажет?
|
|
12
Maxus43
23.01.12
✎
09:37
|
что сказать то? Выполняется транзакция, в её рамках принимаются все изменения или всё откатывается, частично нельзя. Ты в рамках транзакции пишеш... Выводи за её пределы, другого не дано
|
|
13
Maxus43
23.01.12
✎
09:39
|
для (2) Журнал регистрации только, для этого и придуман
|
|