Перейти к содержимому

Как сделать период в отчете 1с

  • автор:

Стандартный период в 1С

Стандартный период в 1С – это общий объект, который можно использовать и при работе с управляемой формой, и при работе с компоновкой данных. В этой статье разберем, как работать со стандартным периодом на управляемой форме и в СКД.

Стандартный период в 1С на управляемой форме

На управляемой форме можно создать реквизит с типом Стандартный период, и поместить этот реквизит на саму форму в виде поля ввода.

Стандартный период 1С

Теперь, если пользователь нажмет на кнопку «…» поля ввода стандартного периода, то откроется окно «Выберете период».

Стандартный период 1С

В этом окне можно выбрать любой период, и поместить его в поле ввода.

Стандартный период 1С

Как нам, после того как будет выбран период, получить дату начала и дату конца периода? Для этого следует воспользоваться свойствами ДатаНачала и ДатаОкончания объекта СтандартныйПериод.

Например, на форме создадим команду, которая будет читать дату начала и дату окончания выбранного стандартного периода, а потом выводить их в сообщении.

Напомню, что Период – это реквизит формы (см. первый скрин).

Стандартный период 1С

Стандартный период можно создать в коде при помощи конструктора Новый.

Если мы сделаем так, то создадим пустой стандартный период (с пустыми датами). Также можно создать стандартный период с уже заранее определенными датами.

Ещё, можно создать стандартный период по варианту. Например, создадим стандартный период вчерашней даты.

ВариантСтандартногоПериода – системное перечисление, которое содержит разные варианты стандартного периода. Посмотреть на все значения этого перечисления можно в синтакс-помощнике (Системные перечисления – Разные – Варианта стандартного периода).

Созданную при помощи конструктора Новый переменную типа СтандартныйПериод, можно, как вариант, присвоить реквизиту формы такого же типа.

 Стандартный период 1С

Стандартный период 1С в СКД

Стандартный период можно использовать в СКД. Например, нам нужно получить список документов, начиная с одной даты и заканчивая другой датой.

У нас получится такой вот несложный запрос в наборе данных.

Стандартный период 1С в СКД

Со следующим набором параметров.

Стандартный период 1С в СКД

Если мы всё так и оставим, эти параметры у нас перейдут и в настройку.

Стандартный период 1С в СКД

И в форму отчета.

Стандартный период 1С в СКД

Возможно, вас такой вариант и устроит, а можно заменить эти даты стандартным периодом.

Для этого в схеме компоновки данных нужно создать параметр с типом СтандартныйПериод.

Стандартный период 1С в СКД

А в поле Выражение для параметров ДатаНачала и ДатаОкончания получать дату начала и дату окончания параметра с типом СтандартныйПериод:

А также, у параметров с датами необходимо установить флаги у поля Ограничение доступности, чтобы их не было видно на форме отчёта.

Стандартный период 1С в СКД

Чтобы поле Период отобразилось на форме отчёта, следует установить свойство Включать в пользовательские настройки соответствующему параметру на закладке Настройки.

Стандартный период 1С в СКД

Ну и также, не забудем выбрать поля у детальных записей.

Стандартный период 1С в СКД

После всех этих настроек, на форме отчета должно появиться поле Период, в котором можно выбрать разные варианты периодов.

Стандартный период 1С в СКД

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

Как в 1С добавить период в отчет сделанный с помощью СКД

Самый простой и быстрый способ создать отчет в 1С это воспользоваться СКД (Системой компоновки данных). Это очень популярный а самое главное очень удобный инструмент, по сути для того чтобы создать отчет с помощью СКД даже не нужно знать 1С программирование. Так как у системы компоновки данных есть графический интерфейс. В сегодняшней статьи поговорим о добавление периодов. Т.е добавим возможность отбора за определенный промежуток времени. Данная возможность должны быть в любом нормальном отчете.

Я хоть и не являюсь гуру программистом 1С, но все же имею кое какой опыт и стараюсь им поделиться в своих небольших статьях, с теми кто в этом нуждается, поэтому рекомендую прочитать следующие статьи.

Добавление периода в СКД

И так добавить отбор по периоду можно в самом запросе, если открыть вкладку «Условия». Нажимаем на плюсик, выбираем дату документа, указываем что условие будет «Между» и пишем названия полей «ДатаНачала» и «ДатаОкончания».

1С СКД Период

Тоже самое можно сделать просто дописав в запрос вот такую строчку.

ГДЕ
АктОбОказанииУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

АктОбОказанииУслуг.Дата — ваш документ

Как в 1С добавить период в отчет сделанный с помощью СКД

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

Добавление периода в СКД

Остается перейти в «Настройки» выбрать «Отчет» и во вкладке «Параметры» настроить добавленный период. Например, если установить галочку то по умолчанию будет производиться отбор по указанной дате. Можно установить по умолчанию необходимое значения «Начало этого дня, недели, месяца и т.д.» или же точную дату.

1С СКД настройка периода

Теперь если запустить отчет в пользовательском режиме и открыть настройки, можно установить отбор по дате. Для удобства данные параметры можно вынести на форму, для этого жмем на пункт «Показать» и выбираем «Показать в шапке».

1С СКД отбор по периоду

Но лучше сделать это в самих настройках СКД.

1С СКД добавить период на форму

В этом случае параметры будут отображаться у всех пользователей которые будут открывать отчет.

1С СКД как добавить отбор по периоду

Вот так добавляется период в СКД. Как сами видите все достаточно просто и понятно, самое главное не торопиться и внимательно читать названия пунктов.

Стандартный период в 1С СКД

Среди механизмов платформы 1С 8 есть множество инструментов, призванных упростить жизнь пользователю. Одним из таких объектов является “Стандартный период“. Можно использовать стандартный период в СКД, а также на управляемых формах. Оба варианта работают схожим образом.

Что же такое Стандартный период в 1С СКД? Во многих отчетах предусмотрена аналитика за определенный период – день, неделю, месяц. Классический подход: создаются два параметра – ДатаНачала и ДатаОкончания, которые далее используются в запросе. И пользователю приходится по-отдельности вводить сперва дату начала, потом дату окончания, следить за правильностью введенных данных – не очень-то удобно!

Тут-то и пригождается объект типа Стандартный период. Пользователю в отчете выводится только одно поле -сам период, в котором можно указать например “Сегодня”, “Прошлый квартал”, “Следующая неделя” и т.д. А в запрос подставятся нужные параметры начала и окончания периода. Сделать это достаточно просто – ниже рассмотрим на примере

Стандартный период в СКД — пример использования

Предположим, у нас есть документ ПриходТоваров, и мы хотим отобрать в отчет все документы за определенный период. Создадим новый отчет, добавим основную схему компоновки данных, и напишем текст запроса:

На закладке Параметры в СКД автоматически добавятся два параметра – ДатаНачала и ДатаОкончания

Стандартный период в 1С СКД

Добавим новый параметр, назовем как нам нужно, и укажем тип СтандартныйПериод. Именно этот параметр и будет отображаться пользователю. Для того, чтобы оставшиеся два параметра не выводились на форму, нужно проставить флажки “ограничение доступности”.

Далее, у параметров ДатаНачала и ДатаОкончания нам нужно заполнить поле Выражение. Чтобы использовать даты из стандартного периода, пропишем следующее:

Важно! Даты стандартного периода автоматически приводятся соответственно – дата начала к 00:00:00, дата окончания к 23:59:59 включительно. Т.е. писать “КонецПериода(&ПериодОтчета.ДатаОкончания , День)” в настройках параметра или “КонецПериода(&ДатаОкончания , День)” в тексте запроса – не обязательно.

Чтобы стандартный период можно было указать, не заходя в настройки отчета, включим его в пользовательские настройки. Для этого на закладке Настройки вызываем контекстное меню, и ставим флажок “Включать в пользовательские настройки”.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *