Здравствуйте друзья. Такая задача.. Есть Табличная часть, где есть реквизит Перечисления "Месяц" - там есть 12 месяцев по именами.. Январь, февраль и т.д.. Есть еще и табличнаячасть где в каждой строке есть реквизит "Дата" и Реквизит "Приход". Задача такая. При выборе например перечисления "Февраль" , программа создает 28 дней. по дням. а это означает что 28 строк создает и в каждой строке по дням даты а в колонке "приход" для каждой строки создает сам "10" Прошу мне в этом помочь.
---
```1c
    Дата=НачалоГода(ТекущаяДата());
    Если Месяц=Перечисления.МесяцаГода.Январь
    Тогда
    ДнейВМесяце=31;

    ИначеЕсли
    Месяц=Перечисления.МесяцаГода.Февраль
    Тогда
    ДнейВМесяце=28;
    Дата=ДобавитьМесяц(Дата,1);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Март
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,2);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Апрель
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,3);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Май

    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,4);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Июнь
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,5);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Июль
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,6);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Август
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,7);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Сентябрь
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,8);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Октябрь
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,9);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Ноябрь
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,10);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Декабрь
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,11);
    КонецЕсли;

    Сч=0;
    ТБ.Очистить();
    Пока Сч<ДнейВМесяце Цикл
    Строка= ТБ.Добавить();
    Строка.Дата=Дата;
    Строка.КолВо=10;
    Сч=Сч+1;
    Дата=(Дата+(60*60*24));
    КонецЦикла
```

Вот на быструю руку))). Это если расчет делать по ТекущаяДата();
А если делать иначе то тогда нужно еще анализировать на высокосный год.. Может есть и проще решения но это первое что пришло в голову))
---
Определяешь число дней в каждом месяце через перечисление условием.
Потом циклом по счетчику (Ко-во дней) добавляешь строки в табличную часть
---
Так этого я понимаю, но мне не доходит структура. как правильнее этого сделать
---
Сделайте сначала просто чтобы по нажатию кнопки строки в таблице заполнялись, например всегда 20 строк.
Потом добавьте заполнение реквизитов в строках.
Выложите результат, подскажут что дальше делать.
---
```1c
    Дата=НачалоГода(ТекущаяДата());
    Если Месяц=Перечисления.МесяцаГода.Январь
    Тогда
    ДнейВМесяце=31;

    ИначеЕсли
    Месяц=Перечисления.МесяцаГода.Февраль
    Тогда
    ДнейВМесяце=28;
    Дата=ДобавитьМесяц(Дата,1);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Март
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,2);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Апрель
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,3);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Май

    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,4);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Июнь
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,5);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Июль
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,6);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Август
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,7);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Сентябрь
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,8);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Октябрь
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,9);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Ноябрь
    Тогда
    ДнейВМесяце=30;
    Дата=ДобавитьМесяц(Дата,10);
    ИначеЕсли

    Месяц=Перечисления.МесяцаГода.Декабрь
    Тогда
    ДнейВМесяце=31;
    Дата=ДобавитьМесяц(Дата,11);
    КонецЕсли;

    Сч=0;
    ТБ.Очистить();
    Пока Сч<ДнейВМесяце Цикл
    Строка= ТБ.Добавить();
    Строка.Дата=Дата;
    Строка.КолВо=10;
    Сч=Сч+1;
    Дата=(Дата+(60*60*24));
    КонецЦикла
```

Вот на быструю руку))). Это если расчет делать по ТекущаяДата();
А если делать иначе то тогда нужно еще анализировать на высокосный год.. Может есть и проще решения но это первое что пришло в голову))
---
Спасибо большое :)
---
Помощь в чем заключается. За тебя все сделать? или ты хочешь чему-то научится?
---
Ой всё. =))
---
За меня ничего делать не нужно.. Я учусь это не реальная задача, а задача которую я сам поставил себе.. Просто для меня это очень сложно поэтому хочу понять как работает все это. вот и все. а то что кто-то поможет или нет, всем желаю добра и здаровье :)
---
Предпологаю что в первом долгом должно быть так :
Если Объект.Месяц = Перечисления.Месяца.Январь Тогда
  Для каждого Тч из Объект.ТабличнаяЧасть цикл
   Тч.дата = "Что-то".Добавить;
в конце конеццикла
конецесли
---
сначало нужно определить количество дней в месяце в зависимости от перечисления. + автору нужно выйти на начало этого месяца для проставления даты в цикле.