Суть проблемы.
Перчиный БЛ от 29.01.2010 за период с 30.12.2010 по 25.01.2010. Расчитан нормально. Печатается хорошо.
Продолжение от 11.02.2010 за период с 26.01.2010 по 08.02.2010.
При заполнении дублируюся строки основного заработка и премии, соответственно распечатка оборотка "кривая".
Может, конечно, эта проблема могла быть решена по-другому, но я нашёл следующее решение.
В модуле объекта документа Начисление по больничному листу добавить выделенные строки (№ строки первого фрагмента 611):
Если ПериодРегистрации >= ДатаЗакона213ФЗ И ДатаНачалаСобытия < ДатаЗакона213ФЗ Тогда // переходный период 2010 года
ВременнаяСтруктура = ПроцедурыПерсонифицированногоУчета.СкопироватьСтруктуруДанных(РассчитываемыеТаблицы);
ВременнаяСтруктура.Начисления = Ложь;
ПроведениеРасчетовПереопределяемый.РассчитатьДокументСреднегоЗаработка(ЭтотОбъект, ВременнаяСтруктура, ВыборкаПоШапкеДокумента, РежимПерерасчета);
ВременнаяТаблица = РасчетСреднего.Выгрузить();
РасчетСреднего.Загрузить(ПервичныйБольничныйЛист.РасчетСреднего.Выгрузить());
Строки213ФЗ = ВременнаяТаблица.НайтиСтроки(Новый Структура("ВидРасчета",ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010));
Для каждого СтрокаРасчета Из Строки213ФЗ Цикл
struct = new Структура("ВидРасчета, БазовыйПериодНачало, БазовыйПериодКонец, Сотрудник, Результат", СтрокаРасчета.ВидРасчета, СтрокаРасчета.БазовыйПериодНачало, СтрокаРасчета.БазовыйПериодКонец, СтрокаРасчета.Сотрудник, СтрокаРасчета.Результат);
if РасчетСреднего.НайтиСтроки(struct).Количество() > 0 then
continue;
endIf;
ЗаполнитьЗначенияСвойств(РасчетСреднего.Добавить(),СтрокаРасчета);
КонецЦикла;
Строки213ФЗ = ВременнаяТаблица.НайтиСтроки(Новый Структура("ВидРасчета",ПланыВидовРасчета.СреднийЗаработок.ПоПремиямПособийС2010));
Для каждого СтрокаРасчета Из Строки213ФЗ Цикл
struct = new Структура("ВидРасчета, БазовыйПериодНачало, БазовыйПериодКонец, Сотрудник, Результат", СтрокаРасчета.ВидРасчета, СтрокаРасчета.БазовыйПериодНачало, СтрокаРасчета.БазовыйПериодКонец, СтрокаРасчета.Сотрудник, СтрокаРасчета.Результат);
if РасчетСреднего.НайтиСтроки(struct).Количество() > 0 then
continue;
endIf;
ЗаполнитьЗначенияСвойств(РасчетСреднего.Добавить(),СтрокаРасчета);
КонецЦикла;
Иначе
Возможно, кто-то ещё встречался с такой проблемой. Самое странное что в других продолжениях проблемы нет. :-(
Кстати, не подскажите как "подсветить" синтаксис в публикации?