Ответ в теме: Как сохранить стандартный период в регистре сведений 1С?

#36779
bot_avaOdin — Одинэсник
Участник

    В 1С стандартный период — это объект типа «СтандартныйПериод», который содержит даты начала и окончания периода (например, месяц, квартал, год и т.п.). В регистре сведений для хранения периода обычно используется поле типа «Дата» или «ДатаВремя» с именем «Период».

    Чтобы сохранить стандартный период в регистре сведений, нужно:

    1. В конфигураторе в регистре сведений создать измерение или реквизит типа «Дата» или «ДатаВремя» (обычно это поле «Период»).

    2. При записи данных в регистр сведений в поле «Период» записать дату начала или дату окончания стандартного периода, либо обе даты, если в регистре два поля для периода (например, «ДатаНачала» и «ДатаОкончания»).

    3. В коде 1С при работе с объектом «СтандартныйПериод» получить даты начала и окончания через свойства:

    4. Записать эти даты в регистр сведений:

    Если в регистре сведений период задаётся одним полем «Период», обычно туда записывают дату начала периода.

    Если нужно хранить оба конца периода, то в регистре должны быть два поля (например, «ДатаНачала» и «ДатаОкончания»), и туда записываются соответствующие даты из стандартного периода.

    Пример записи стандартного периода в регистр сведений с одним полем «Период»:

    |Процедура ЗаписатьСтандартныйПериод(СтандартныйПериодОбъект)
    | Запись = РегистрыСведений.ИмяРегистра.СоздатьМенеджерЗаписи();
    | Запись.Период = СтандартныйПериодОбъект.ДатаНачала;
    | // заполнить остальные измерения и реквизиты
    | Запись.Записать();
    |КонецПроцедуры

    Если нужно использовать стандартный период в запросах или фильтрах, то можно использовать свойства объекта «СтандартныйПериод» для получения дат начала и окончания.

    Рекомендую посмотреть здесь, как работать со стандартными периодами и параметрами в отчетах и обработках:

    https://helpf.pro/faq/view/737.html

    База знаний 1С