Комплексная 4.5.9 Больная рекурсия в док.РегламентныеОперацииПоНалоговомуУчету
26.10.2005
12:01
#1
"Процедура ЗакрытиеСчета(Счет, БухИт, НомерВыбираемогоСубконто = 0)
Иначе
НомерВыбираемогоСубконто = НомерВыбираемогоСубконто + 1;
// Итоги не разворачиваются по оборотным субконто.
Если Счет.ТолькоОбороты(НомерВыбираемогоСубконто) = 0 Тогда // не оборотное субконто
БухИт.ВыбратьСубконто(НомерВыбираемогоСубконто);
ВремНомер = НомерВыбираемогоСубконто; // лечим рекурсию
Пока БухИт.ПолучитьСубконто(ВремНомер) = 1 Цикл // лечим рекурсию - было НомерВыбираемогоСубконто
ЗакрытиеСчета(Счет, БухИт, НомерВыбираемогоСубконто)
КонецЦикла;
НомерВыбираемогоСубконто = ВремНомер; // лечим рекурсию
Иначе
ЗакрытиеСчета(Счет, БухИт, НомерВыбираемогоСубконто)
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ЗакрытиеСчета()
"
Иначе
НомерВыбираемогоСубконто = НомерВыбираемогоСубконто + 1;
// Итоги не разворачиваются по оборотным субконто.
Если Счет.ТолькоОбороты(НомерВыбираемогоСубконто) = 0 Тогда // не оборотное субконто
БухИт.ВыбратьСубконто(НомерВыбираемогоСубконто);
ВремНомер = НомерВыбираемогоСубконто; // лечим рекурсию
Пока БухИт.ПолучитьСубконто(ВремНомер) = 1 Цикл // лечим рекурсию - было НомерВыбираемогоСубконто
ЗакрытиеСчета(Счет, БухИт, НомерВыбираемогоСубконто)
КонецЦикла;
НомерВыбираемогоСубконто = ВремНомер; // лечим рекурсию
Иначе
ЗакрытиеСчета(Счет, БухИт, НомерВыбираемогоСубконто)
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ЗакрытиеСчета()
"
Читают тему
(гостей: 1)