|
Двойное проведение документа |
☑ |
0
alexshape
21.09.17
✎
12:05
|
Привет Всем. По наследству достался код
попытка
РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Проведение);
исключение
Отказ=истина;
РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
//СписокРеализ
Только вот в момент Исключения документ еще не записан, и тут же проходит еще одна запись. Выдает ошибку Наличия товаров. Т.е. На первое проведение товара хватает, а на второе нет.
Можно ли так вообще делать, и как узнать не проводит, если никаких ошибок нет
|
|
1
Джинн
21.09.17
✎
12:06
|
?! Что это?
|
|
2
h-sp
21.09.17
✎
12:07
|
(0) РежимЗаписиДокумента.Запись - это не проведение.
|
|
3
Tatitutu
21.09.17
✎
12:11
|
у тебя в процедуре ПередЗаписью() что происходит
проверка наличия остатка - вот и не дает ни записать не провести
при проведении - сначала запись, потом проведение
|
|
4
alexshape
21.09.17
✎
12:13
|
(3) В том то и дело, что вплоть до конца процедуры при записи в строке РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Проведение); Отказ = ложь, но все равно прилетает Исключение
|
|
5
aleks_default
21.09.17
✎
12:15
|
До ОписаниеОшибки()в СП ты видимо еще не дошел.
|
|
6
Рэйв
21.09.17
✎
12:16
|
(0)Зачем ты проверяешь остатки ПриЗаписи? Проверяй только при проведении.
|
|
7
alexshape
21.09.17
✎
12:19
|
ОписаниеОшибки() = ""
|
|
8
Вафель
21.09.17
✎
12:21
|
лучше так
РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Запись);
РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Проведение);
|
|
9
aleks_default
21.09.17
✎
12:23
|
Его в Сообшить выводить надо. В отладке оно не кажет.
Вообще на вопрос "Можно ли так вообще делать? ответ - можно и в некоторых случаях даже нужно.
"И как узнать не проводит, если никаких ошибок нет" - так не проводит или даже не записывает?
|
|
10
alexshape
21.09.17
✎
12:25
|
Мне одно не понятно, как все это выполняется вплоть до РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Проведение); ПРи записи в модуле объекта, и после выполнения Ошибка?
|
|
11
alexshape
21.09.17
✎
12:25
|
(9) А какая разница?
|
|
12
aleks_default
21.09.17
✎
12:28
|
(11)Тебе ясна разница между ЗАПИСЬЮ документа и его ПРОВЕДЕНИЕМ?
|
|
13
alexshape
21.09.17
✎
12:39
|
(12) Да, ясна. Но проблема в том что он все проверки проходит на строке
РеализацияТоваровУслуг.Записать(РежимЗаписиДокумента.Проведение);
Но все равно выдает попадает в исключения
|
|
14
Михаил Козлов
21.09.17
✎
12:42
|
(13) Могут быть еще подписки, которые вырабатывают отказ.
Можно сначала записать, а потом провести. Правда 2 раза запись, вместо 1-ой.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший