Имя: Пароль:
1C
1C 7.7
v7: ЗиК - поиск последнего документа-исправления отпуска
0 Looking
 
22.04.13
19:59
Взял за основу для анализа оставшихся к начислению дней отпусков отчет с инфостарта.
В нем для анализа документов исправлений отпусков используется следующая функция:

Функция ПолучитьПодчиненныйДокументОтпуск(ДокОсн)
ПодчДокОтп = СоздатьОбъект("Документ");
ПодчДокОтп.УстановитьФильтр(1, 0);
ПодчДокОтп.ВыбратьПодчиненныеДокументы(,,ДокОсн);
Пока ПодчДокОтп.ПолучитьДокумент() = 1 Цикл
Если ПодчДокОтп.Вид() = "НачислениеОтпуска" Тогда
Возврат ПодчДокОтп.ТекущийДокумент();
КонецЕсли;
КонецЦикла;
Возврат 0;
КонецФункции

НО, когда вводится несколько исправлений отпуска, то второе исправление вводится на основании первого и т.д., то есть последующие исправления находятся в подчинении не первоначального документа начисления отпуска, а своего непосредственного предшественника. Как-же правильно написать процедуру? Анализировать подчиненные документы документов-исправлений через рекурсию?
1 Storm911
 
23.04.13
08:40
Нет, через цикл анализировать.