0
Looking
22.04.13
✎
19:59
|
Взял за основу для анализа оставшихся к начислению дней отпусков отчет с инфостарта.
В нем для анализа документов исправлений отпусков используется следующая функция:
Функция ПолучитьПодчиненныйДокументОтпуск(ДокОсн)
ПодчДокОтп = СоздатьОбъект("Документ");
ПодчДокОтп.УстановитьФильтр(1, 0);
ПодчДокОтп.ВыбратьПодчиненныеДокументы(,,ДокОсн);
Пока ПодчДокОтп.ПолучитьДокумент() = 1 Цикл
Если ПодчДокОтп.Вид() = "НачислениеОтпуска" Тогда
Возврат ПодчДокОтп.ТекущийДокумент();
КонецЕсли;
КонецЦикла;
Возврат 0;
КонецФункции
НО, когда вводится несколько исправлений отпуска, то второе исправление вводится на основании первого и т.д., то есть последующие исправления находятся в подчинении не первоначального документа начисления отпуска, а своего непосредственного предшественника. Как-же правильно написать процедуру? Анализировать подчиненные документы документов-исправлений через рекурсию?
|
|