Имя: Пароль:
1C
1C 7.7
v7: Операции-Проведение документов: надо отменять проведение некоторых документов
0 e-9
 
26.08.14
18:26
Забацал в ОбработкеПроведения всякие там вычисления; как это часто бывает, в зависимости от их результатов, проведение документа надо отменить.
//Понятное дело, пишу что-то типа
    Если <ВсеПлохо> Тогда
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;  
- все ок, когда надо провести один документ.
А вот если надо толпой провести десятки таких документов, за последний месяц?
Полез в Операции-Проведение документов, поставил галку на нужный док, жму Выполнить - поехали. И на первом же доке, у которого, по логике, проведение отменяется - приехали. Групповое проведение прерывается - причем, все предыдущие документы, у которых все было как надо, тоже оказались не проведены.
Т.е., СтатусВозврата(0) отменяет не только проведение одного документа - но всей группы.
Ясно, что можно сделать свою обработку - и проверять условия для проведения документов заранее, а не в их ОбработкеПроведения. Но это ж коряво...Есть ли "штатные" варианты сделать групповое проведение документов так, чтобы проведение отменялось выборочно?
1 Михаил Козлов
 
26.08.14
18:53
В транзакции. Обработка зашита, есть групповые обработки документов: в них можно поставить ПОПЫТКА ... ИСКЛЮЧЕНИЕ.
2 Злопчинский
 
26.08.14
19:55
(1) фиг вам. Алгоритмический несупех проведения не генерит ошибку... так что попытка не отловит
3 e-9
 
26.08.14
19:57
(2) вот и я так думаю...почти сваял уже внешнюю обработку (попутно еще одну задачу решает).
Так что вопрос остается чисто теоретическим - но, как я понимаю, ответ скорее "нет", чем "да"?
4 Михаил Козлов
 
26.08.14
20:22
(2) В 8-ке, сколько помню, удается. По крайней мере групповая обработка справочников и документов позволяет "пропускать" отказ в проведении.
Ошибка? Это не ошибка, это системная функция.