Стандартный период в 1С
Стандартный период в 1С – это общий объект, который можно использовать и при работе с управляемой формой, и при работе с компоновкой данных. В этой статье разберем, как работать со стандартным периодом на управляемой форме и в СКД.
Стандартный период в 1С на управляемой форме
На управляемой форме можно создать реквизит с типом Стандартный период, и поместить этот реквизит на саму форму в виде поля ввода.
Теперь, если пользователь нажмет на кнопку «…» поля ввода стандартного периода, то откроется окно «Выберете период».
В этом окне можно выбрать любой период, и поместить его в поле ввода.
Как нам, после того как будет выбран период, получить дату начала и дату конца периода? Для этого следует воспользоваться свойствами ДатаНачала и ДатаОкончания объекта СтандартныйПериод.
Например, на форме создадим команду, которая будет читать дату начала и дату окончания выбранного стандартного периода, а потом выводить их в сообщении.
Напомню, что Период – это реквизит формы (см. первый скрин).
Стандартный период можно создать в коде при помощи конструктора Новый.
Если мы сделаем так, то создадим пустой стандартный период (с пустыми датами). Также можно создать стандартный период с уже заранее определенными датами.
Ещё, можно создать стандартный период по варианту. Например, создадим стандартный период вчерашней даты.
ВариантСтандартногоПериода – системное перечисление, которое содержит разные варианты стандартного периода. Посмотреть на все значения этого перечисления можно в синтакс-помощнике (Системные перечисления – Разные – Варианта стандартного периода).
Созданную при помощи конструктора Новый переменную типа СтандартныйПериод, можно, как вариант, присвоить реквизиту формы такого же типа.
Стандартный период 1С в СКД
Стандартный период можно использовать в СКД. Например, нам нужно получить список документов, начиная с одной даты и заканчивая другой датой.
У нас получится такой вот несложный запрос в наборе данных.
Со следующим набором параметров.
Если мы всё так и оставим, эти параметры у нас перейдут и в настройку.
И в форму отчета.
Возможно, вас такой вариант и устроит, а можно заменить эти даты стандартным периодом.
Для этого в схеме компоновки данных нужно создать параметр с типом СтандартныйПериод.
А в поле Выражение для параметров ДатаНачала и ДатаОкончания получать дату начала и дату окончания параметра с типом СтандартныйПериод:
А также, у параметров с датами необходимо установить флаги у поля Ограничение доступности, чтобы их не было видно на форме отчёта.
Чтобы поле Период отобразилось на форме отчёта, следует установить свойство Включать в пользовательские настройки соответствующему параметру на закладке Настройки.
Ну и также, не забудем выбрать поля у детальных записей.
После всех этих настроек, на форме отчета должно появиться поле Период, в котором можно выбрать разные варианты периодов.
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Как в 1С добавить период в отчет сделанный с помощью СКД
Самый простой и быстрый способ создать отчет в 1С это воспользоваться СКД (Системой компоновки данных). Это очень популярный а самое главное очень удобный инструмент, по сути для того чтобы создать отчет с помощью СКД даже не нужно знать 1С программирование. Так как у системы компоновки данных есть графический интерфейс. В сегодняшней статьи поговорим о добавление периодов. Т.е добавим возможность отбора за определенный промежуток времени. Данная возможность должны быть в любом нормальном отчете.
Я хоть и не являюсь гуру программистом 1С, но все же имею кое какой опыт и стараюсь им поделиться в своих небольших статьях, с теми кто в этом нуждается, поэтому рекомендую прочитать следующие статьи.
Добавление периода в СКД
И так добавить отбор по периоду можно в самом запросе, если открыть вкладку «Условия». Нажимаем на плюсик, выбираем дату документа, указываем что условие будет «Между» и пишем названия полей «ДатаНачала» и «ДатаОкончания».
Тоже самое можно сделать просто дописав в запрос вот такую строчку.
ГДЕ
АктОбОказанииУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
АктОбОказанииУслуг.Дата — ваш документ
Для того чтобы период стал доступным для пользователя необходимо во вкладке «Параметры» снять галочки в колонке «Ограничение доступности».
Остается перейти в «Настройки» выбрать «Отчет» и во вкладке «Параметры» настроить добавленный период. Например, если установить галочку то по умолчанию будет производиться отбор по указанной дате. Можно установить по умолчанию необходимое значения «Начало этого дня, недели, месяца и т.д.» или же точную дату.
Теперь если запустить отчет в пользовательском режиме и открыть настройки, можно установить отбор по дате. Для удобства данные параметры можно вынести на форму, для этого жмем на пункт «Показать» и выбираем «Показать в шапке».
Но лучше сделать это в самих настройках СКД.
В этом случае параметры будут отображаться у всех пользователей которые будут открывать отчет.
Вот так добавляется период в СКД. Как сами видите все достаточно просто и понятно, самое главное не торопиться и внимательно читать названия пунктов.
Стандартный период в 1С СКД
Среди механизмов платформы 1С 8 есть множество инструментов, призванных упростить жизнь пользователю. Одним из таких объектов является “Стандартный период“. Можно использовать стандартный период в СКД, а также на управляемых формах. Оба варианта работают схожим образом.
Что же такое Стандартный период в 1С СКД? Во многих отчетах предусмотрена аналитика за определенный период – день, неделю, месяц. Классический подход: создаются два параметра – ДатаНачала и ДатаОкончания, которые далее используются в запросе. И пользователю приходится по-отдельности вводить сперва дату начала, потом дату окончания, следить за правильностью введенных данных – не очень-то удобно!
Тут-то и пригождается объект типа Стандартный период. Пользователю в отчете выводится только одно поле -сам период, в котором можно указать например “Сегодня”, “Прошлый квартал”, “Следующая неделя” и т.д. А в запрос подставятся нужные параметры начала и окончания периода. Сделать это достаточно просто – ниже рассмотрим на примере
Стандартный период в СКД — пример использования
Предположим, у нас есть документ ПриходТоваров, и мы хотим отобрать в отчет все документы за определенный период. Создадим новый отчет, добавим основную схему компоновки данных, и напишем текст запроса:
На закладке Параметры в СКД автоматически добавятся два параметра – ДатаНачала и ДатаОкончания
Добавим новый параметр, назовем как нам нужно, и укажем тип СтандартныйПериод. Именно этот параметр и будет отображаться пользователю. Для того, чтобы оставшиеся два параметра не выводились на форму, нужно проставить флажки “ограничение доступности”.
Далее, у параметров ДатаНачала и ДатаОкончания нам нужно заполнить поле Выражение. Чтобы использовать даты из стандартного периода, пропишем следующее:
Важно! Даты стандартного периода автоматически приводятся соответственно – дата начала к 00:00:00, дата окончания к 23:59:59 включительно. Т.е. писать “КонецПериода(&ПериодОтчета.ДатаОкончания , День)” в настройках параметра или “КонецПериода(&ДатаОкончания , День)” в тексте запроса – не обязательно.
Чтобы стандартный период можно было указать, не заходя в настройки отчета, включим его в пользовательские настройки. Для этого на закладке Настройки вызываем контекстное меню, и ставим флажок “Включать в пользовательские настройки”.