Здравствуйте. Подскажите пожалуйста, создал свой документ, и в нём пф, в этой печатной форме есть область, где в первой колонке заполнены 12 месяцев. В ТЧ у меня в разных документах разные заполнены данные тоже по месяцам, но могут быть не всё, например только с апреля по декабрь, как мне заполнить только тем строки в пф, которые соответствуют месяцам из ТЧ. Сейчас я разделил всё строки по областям месяцам и по условию проверяю, если месяц в т. Ч. Равен январю, то заполняю свойства, а остальные области вывожу без всякого заполнения, вроде всё работает, но код громадный и дублированный, одно и тоже 12 раз. Может есть что-нибудь?
---
ну так уже ответили в (1)
по коде же четко полное дублирование, кроме одного места
все это

```1c
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
```

в отдельную процедуру и вызывать в цикле, передавая
```1c
    ВыборкаТЧ.Месяц
```

а уже в процедуре сделать по переданному параметру заполнение нужной части

```1c
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьМай.Параметры.Заполнить(ДанныеЗаполненияТЧ);
```

дело 5 минут
---
```1c
    Ваш код...

    Месяца = Новый Массив;
    Месяца.Добавить("Январь");
    Месяца.Добавить("Февраль");
    ....

    ВыборкаТЧ = РезультатТЧ.Выбрать();
    Пока ВыборкаТЧ.Следующий() Цикл
    Для Каждого месяц из Месяца Цикл
    Если ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки[месяц] Тогда
    Область_= Макет.ПолучитьОбласть(месяц);
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    Область_.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(Область_);
    Иначе
    Область_ = Макет.ПолучитьОбласть(месяц);
    ТабДокумент.Вывести(Область_);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
```
---
Может есть что-нибудь? Откройте для себя понятие цикл, в качестве счетчика - номер месяца.

Или даже без цикла: "код громадный" - в отдельную процедуру, вызываем ее подряд 12 раз (12 строчек кода), в качестве параметра, опять таки, номер месяца.

Или два параметра - НачалоМесяца и КонецМесяца, смотря что за данные вы там отлавливаете в своем коде.
---
Здравствуйте. Данные заполнены обработкой из экселя, проценты KPI по группам, обработка ищет документ с годом и сотрудником, если находит, то добавляет строку ТЧ в этот документ, если нет, то создает документ и добавляет 1 строку с текущим месяцем. В итоге в каждом документе может быть не больше 12 строк (кол. месяца, если сотрудник пришел в середине года, то у него например только 6 строк, но в печатную форму, должны попадать все 12 месяцев, только первые 6 месяцев будут с пустыми значениями, а уже остальные мясяцы, будут заполнятся исходя из документа.
Например сейчас август, сотрудник пришел в июне ПФ будет выглядеть так: смотри скриншот!
Таких макетов будет 12, по одному на каждый месяц, чтобы эта пф могла учувствовать в документообороте через сервис 1С Кабинет сотрудника.
Как лучше сделать? Одной областью, может можно привязаться к тексту в первой колонке, а именно месяцам или оставить как сейчас ( на каждую строку своя область, но как тогда можно улучшить код?

```1c
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();

    СписокПолей = ";
    Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл
    СписокПолей = СписокПолей + ?(СписокПолей = ", ", ",") + Колонка.Имя;
    КонецЦикла;

    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ДанныеЗаполнения = Новый Структура(СписокПолей);
    Выборка.Следующий();
    ЗаполнитьЗначенияСвойств(ДанныеЗаполнения, Выборка);
    ДанныеЗаполнения.Вставить("Сотрудник", Выборка.Фамилия + " " + Выборка.Инициалы);
    ОбластьШапка.Параметры.Заполнить(ДанныеЗаполнения);
    ТабДокумент.Вывести(ОбластьШапка);

    РезультатТЧ = Выборка.СуммарныеОценки;
    СписокПолейТЧ = ";
    Для Каждого Колонка2 Из РезультатТЧ.Колонки Цикл
    СписокПолейТЧ = СписокПолейТЧ + ?(СписокПолейТЧ = ", ", ",") + Колонка2.Имя;
    КонецЦикла;
    ВыборкаТЧ = РезультатТЧ.Выбрать();
    Пока ВыборкаТЧ.Следующий() Цикл
    Если ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.январь Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьЯнварь.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);

    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.февраль Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьФевраль.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.март Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьМарт.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.апрель Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьАпрель.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.май Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьМай.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.июнь Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьИюнь.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.июль Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьИюль.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.август Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьАвгуст.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.сентябрь Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьСентябрь.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.октябрь Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьОктябрь.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.ноябрь Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьНоябрь.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
    ИначеЕсли ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки.декабрь Тогда
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьДекабрь.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(ОбластьДекабрь);
    КонецЕсли;

    КонецЦикла;
    Возврат ТабДокумент
```
---
ну так уже ответили в (1)
по коде же четко полное дублирование, кроме одного места
все это

```1c
    ОбластьЯнварь= Макет.ПолучитьОбласть("Январь");
    ТабДокумент.Вывести(ОбластьЯнварь);
    ОбластьФевраль = Макет.ПолучитьОбласть("Февраль");
    ТабДокумент.Вывести(ОбластьФевраль);
    ОбластьМарт = Макет.ПолучитьОбласть("Март");
    ТабДокумент.Вывести(ОбластьМарт);
    ОбластьАпрель= Макет.ПолучитьОбласть("Апрель");
    ТабДокумент.Вывести(ОбластьАпрель);
    ОбластьМай = Макет.ПолучитьОбласть("Май");
    ТабДокумент.Вывести(ОбластьМай);
    ОбластьИюнь = Макет.ПолучитьОбласть("Июнь");
    ТабДокумент.Вывести(ОбластьИюнь);
    ОбластьИюль = Макет.ПолучитьОбласть("Июль");
    ТабДокумент.Вывести(ОбластьИюль);
    ОбластьАвгуст = Макет.ПолучитьОбласть("Август");
    ТабДокумент.Вывести(ОбластьАвгуст);
    ОбластьСентябрь= Макет.ПолучитьОбласть("Сентябрь");
    ТабДокумент.Вывести(ОбластьСентябрь);
    ОбластьОктябрь = Макет.ПолучитьОбласть("Октябрь");
    ТабДокумент.Вывести(ОбластьОктябрь);
    ОбластьНоябрь = Макет.ПолучитьОбласть("Ноябрь");
    ТабДокумент.Вывести(ОбластьНоябрь);
    ОбластьДекабрь = Макет.ПолучитьОбласть("Декабрь");
    ТабДокумент.Вывести(ОбластьДекабрь);
```

в отдельную процедуру и вызывать в цикле, передавая
```1c
    ВыборкаТЧ.Месяц
```

а уже в процедуре сделать по переданному параметру заполнение нужной части

```1c
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    ОбластьМай.Параметры.Заполнить(ДанныеЗаполненияТЧ);
```

дело 5 минут
---
```1c
    Ваш код...

    Месяца = Новый Массив;
    Месяца.Добавить("Январь");
    Месяца.Добавить("Февраль");
    ....

    ВыборкаТЧ = РезультатТЧ.Выбрать();
    Пока ВыборкаТЧ.Следующий() Цикл
    Для Каждого месяц из Месяца Цикл
    Если ВыборкаТЧ.Месяц = Перечисления.VIDМесяцДляОценки[месяц] Тогда
    Область_= Макет.ПолучитьОбласть(месяц);
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    Область_.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(Область_);
    Иначе
    Область_ = Макет.ПолучитьОбласть(месяц);
    ТабДокумент.Вывести(Область_);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
```
---
Спасибо! Всем!
---
Сделал так:

```1c
    Месяца = Новый Массив;
    Месяца.Добавить("Январь");
    Месяца.Добавить("Февраль");
    Месяца.Добавить("Март");
    Месяца.Добавить("Апрель");
    Месяца.Добавить("Май");
    Месяца.Добавить("Июнь");
    Месяца.Добавить("Июль");
    Месяца.Добавить("Август");
    Месяца.Добавить("Сентябрь");
    Месяца.Добавить("Октябрь");
    Месяца.Добавить("Ноябрь");
    Месяца.Добавить("Декабрь");

    //
    Для Каждого месяц2 из Месяца Цикл
    Отбор = Новый Структура;
    Отбор.Вставить("Месяц", Перечисления.VIDМесяцДляЛОТЭ[месяц2]);
    Строка = ВыборкаТЧ2.НайтиСтроки(Отбор);
    Если Строка.Количество() <> 0 Тогда
    Пока ВыборкаТЧ.Следующий() Цикл
    Область_= Макет.ПолучитьОбласть(месяц2);
    ДанныеЗаполненияТЧ = Новый Структура(СписокПолейТЧ);
    ЗаполнитьЗначенияСвойств(ДанныеЗаполненияТЧ, ВыборкаТЧ);
    Область_.Параметры.Заполнить(ДанныеЗаполненияТЧ);
    ТабДокумент.Вывести(Область_);
    Прервать;
    КонецЦикла;
    Иначе
    Область_ = Макет.ПолучитьОбласть(месяц2);
    ТабДокумент.Вывести(Область_);
    КонецЕсли;
    КонецЦикла;
```