В стаже не выделяються больничные листы и отпуска за свой счет(Комплексная 7.7)

Новая тема
При выгрузке из 1с Комплексная 7.7 в стаже не выделяются больничные листы и отпуска за свой счет.
При выгрузке чего и куда?
Отчет: Подготовка сведений для ПФР. При выгрузке пачек в файл. Суммы берет правильно а вот стажевые интервалы не правильно. Получается что у нас люди не болели и отпуска за свой счет не брали.
Проверь справочник Сотрудники - Нужный сотрудник. Открываешь. Кнопка Ввод даных - Песонифицированый учет.
"По кнопке персонифицированный учет тоже ничего не заполнялось.
Нашла ошибку в функции глЗаполнитьТаблицуПериодовДействияВР. В цикле идет перебор всегда первый месяц в массиве дней. И не учитывалось что в массиве целый год.
Но пока не удается выделять период с отпуском до 3х лет. Может у кого есть какие соображения как это исправить?  

Функция глЗаполнитьТаблицуПериодовДействияВР(Сотрудник,ТаблицаПериодов,НачалоПериода, ОкончаниеПериода, СписокВР)

Перем МассивДней[370];

ТаблицаПериодов=СоздатьОбъект("ТаблицаЗначений");
ТаблицаПериодов.НоваяКолонка("НачалоПериода");
ТаблицаПериодов.НоваяКолонка("ОкончаниеПериода");

Для Сч = 1 По 370 Цикл
МассивДней[Сч] = 1;
КонецЦикла;

глЗаполнитьМассивДней(МассивДней, Сотрудник, НачалоПериода, ОкончаниеПериода, 0, СписокВР);

КолДней = ОкончаниеПериода - НачалоПериода +1;

ЕстьПериод=0;
Для Сч = 1 По КолДней Цикл
//Если (ЕстьПериод=0) и (МассивДней[Сч] = 0) Тогда //это было раньше
Если (ЕстьПериод=0) и (МассивДней[Сч+НомерДняГода(НачалоПериода)-1] = 0) Тогда //anna
ЕстьПериод=1;
ТаблицаПериодов.НоваяСтрока();
ТаблицаПериодов.НачалоПериода=НачалоПериода+Сч-1;
//ИначеЕсли (ЕстьПериод=1) и (МассивДней[Сч] = 1) Тогда //это было раньше
ИначеЕсли (ЕстьПериод=1) и (МассивДней[Сч+НомерДняГода(НачалоПериода)-1] = 1) Тогда //anna
ЕстьПериод=0;
ТаблицаПериодов.ОкончаниеПериода=НачалоПериода+Сч-2;
КонецЕсли;

КонецЦикла;

Если ЕстьПериод=1 Тогда
//это значит, что в периоде который мы анализировали действие ВР не закончилось,
//установим дату окончания
ТаблицаПериодов.ОкончаниеПериода=ОкончаниеПериода;
КонецЕсли;

Если ТаблицаПериодов.КоличествоСтрок()>0 Тогда
Возврат 1;
Иначе
Возврат 0;
КонецЕсли;

КонецФункции //глЗаполнитьТаблицуПериодовДействияВР()
"
Читают тему
(гостей: 1)

Быстрый переход