Стандартный период в 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С:Предприятие 7.7 Торговля и склад.
Обчно происходит следующее. Утром, при открытии бухгалтером программы, выскакивает табличка с предупреждением о необходимости открытия периода.
Как нужно действовать? После закрытия программы по требованию предупреждающего сообщения, необходимо открыть 1С повторно, но в монопольном режиме. Для этого в стартовом окошке выбора баз («Запуск 1С:Предприятия») нажмите галочку «монопольно»
Теперь, после входа в программу, появится предупреждающее сообщение, но несколько иного характера. В нем, если нажать кнопку «Да», то программа выполнит открытие периода самостоятельно.
Если же мы откажемся от открытия периода в этот раз, то вновьсозданные документы проводиться не будут, а при последующих стартах программы нас будет встречать все то же сообщение о необходимости открыть период.
Бывают случаи, когда операцию по открытию нового периода нужно выполнить не в начале месяца, а например, когда не окончен действующий период. Т.е. заранее.
Для этого нужно повторить вход в программу 1С:Предприятие 7.7 Торговля и Склад в монопольном режиме. Затем перейти в главном меню в раздел «Операции» и выбрать кнопку «Управление оперативными итогами»
В открывшемся окне возле секции, отображающей новый период, имеется кнопка «Открыть». Нажмем ее. Появится предупреждение о необходимости изменить точку актуальности итогов.
«Точка актуальности итогов» или ТА, что это такое? Под точкой актуальности итогов понимается точка во времени, в которой во всех необоротных регистрах программы находятся актуальные, текущие данные. Фактически, это время, на которое хранятся оперативные итоги.
Нажимаем кнопку «Да». Появляется форма переустановки актуальности итогов. В нашем случае, естественно, нужно выбрать все проведенные документы и нажать «Выполнить». После непродолжительного времени, если с порядком документов нет нарушений, программа выполнит перенесение точки актуальности на новую дату.
Смело выбирайте «Выход». На этом открытие периода в программе 1С:Предприятие 7.7 Торговля и Склад завершено.
В случае, если у Вас появятся какие-либо сложности, свяжитесь с нами, мы обязательно поможем.
Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы
1С 8. Настройка параметра — период в системе компоновки данных. Удобство пользователю.
Расскажу о том, как я реализую выбор периода в отчетах на системе компоновке данных (СКД) — периоды требуется указывать не с точностью до секунды, а с точностью до дня.
Допустим, у нас есть макет СКД, со следующим запросом набора данных:
РегистрСведений.Валюты КАК КурсыВалют
КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
Конечно можно было бы указать в описании параметра данных тип параметра «Дата» — состава даты «Дата», а в запросе использовать
КурсыВалют.Период МЕЖДУ НачалоПериода(&ДатаНачала, ДЕНЬ) И КонецПериода(&ДатаОкончания, ДЕНЬ)
Но я пользуюсь следующей схемой:
Добавляю новый параметр «Период» тип «Стандартный период». Для параметров «ДатаНачала» и «ДатаОкончания» указываю значения &Период.ДатаНачала &Период.ДатаОкончания, и ограничиваю их вывод .
Теперь можно вывести выбор периода на форму.
Добавим Табличное поле, укажим данные КомпоновщикНастроек.Настройки.ПараметрыДанных
В итоге пользователь увидит:
УправляемаяФорма (не забудем указать форму основной на закладке «Дополнительные»)
Перенесем из поля реквизитов в лево реквизит отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных
Выбор стандартного периода
Подскажите как сделать интерактивный выбор стандартного периода:
Что-то типа такого:
ВыбПериод = Новый СтандартныйПериод;
Если ВвестиЗначение(ВыбПериод) Тогда
.
&НаКлиенте
Процедура ВыбратьПериодНажатие(Элемент)
Диалог = Новый ДиалогРедактированияСтандартногоПериода();
СтандартныйПериод = Новый СтандартныйПериод();
ДатаНачала = Объект.НачалоПериода;
ДатаОкончания = Объект.КонецПериода;
СтандартныйПериод.ДатаНачала = ДатаНачала;
СтандартныйПериод.ДатаОкончания = ДатаОкончания;
Диалог.Период = СтандартныйПериод;
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаВыбораПериода",ЭтаФорма);
&НаКлиенте
Процедура ОбработкаВыбораПериода(Период,Параметры) Экспорт
Если Период <> Неопределено Тогда
Объект.НачалоПериода = Период.ДатаНачала;
Объект.КонецПериода = Период.ДатаОкончания;