Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Особенности работы с объектом НастройкаПериода          
Batchir Подменю пользователя
сообщение 21.03.09, 10:58
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

В данном разделе рассмотрены особенности работы с объектом НастройкаПериода. Рассматриваются как работа объекта в табличных полях, отображающих "хронологические" динамические списки (свойство СтандартныйПериод), так и использование этого объекта для предоставления пользователю возможности, например, задавать интервал отчета, период за который нужно обработать данные и т.д.

Диалог Настройка периода

По умолчанию диалог Настройка периода имеет две закладки, которые позволяют выставлять промежуток времени в двух режимах, с использованием разных подходов. Диалог вызывается по команде "Установить интервал дат" в табличном поле или при вызове метода Редактировать() объекта НастройкаПериода.

Закладка "Интервал" дает возможность установить отдельно начало и окончание временного промежутка, причем в привязке к рабочему периоду. Например, задавая интервал "с начала недели по конец месяца", пользователь задает промежуток времени, который определяется по рабочей дате. Т.е. задавая один и тот же интервал в разные дни, пользователь задает разные результирующие интервалы, в общем случае, разной протяженности. Этот подход удобен для динамических списков и отчетов имеющих оперативный характер (текущие продажи, текущие расчеты с контрагентами и т.п.).

Закладка "Период" дает возможность установить размер периода (месяц, квартал, год) и привязать его к той или иной точке времени, в том числе к рабочей дате. Например, Февраль 2003, 1-ый квартал 2004, текущий, т.е. соответствующий текущей дате, квартал. Этот подход более удобен для анализа финансовых показателей прошлого или текущего периода. Например, когда рабочая дата уже Апрель 2004 года, некоторое время еще важно анализировать и корректировать данные первого квартала 2004 года.

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

В связи с тем, что интервалы времени на разных закладках задаются по-разному, не всегда можно однозначно отразить период заданный на одной закладке в терминах другой закладки. Например, если в 31-го марта 2004 года задать на закладке "Интервал" промежуток "с начала года по конец месяца" (т.е. промежуток с 01.01.2004 по 31.03.2004), то в терминах закладки "Период" это можно воспринять как "текущий месяц с начала года", "текущий квартал", "текущая дата с начала квартала" и "текущая дата с начала года". С такой неоднозначностью может быть связано то, что простое переключение между закладками приведет к тому, что не изменившись по сути на текущий момент времени, период будет задан уже другим способом.

Использование в динамических списках

Ряд списков динамического просмотра данных содержат такие предопределенные поля, как Дата или Период. В табличных полях таких динамических списков, помимо обычной установки отбора через диалог "Отбор и сортировка", существует стандартная команда "Установить интервал дат". Эта команда дает возможность пользователю не только задать произвольный диапазон просмотра данных, но и задать стандартные интервалы в более удобных терминах - неделя, месяц, квартал, год, а также задать период в привязке к текущей дате.

Команда вызывает диалог "Настройка периода", который является средством интерактивного управления объектом НастройкаПериода. Этот диалог позволяет запомнить стандартную настойку периода, которая будет использоваться для списка при открытии формы. При работе с настройкой периода следует помнить, что установка отбора по дате через окно "Отбор и сортировка" и через окно "Настройка периода" выполняют действия над одним и тем же элементом отбора динамического списка. В некоторых случаях для отбора по дате может быть задан такой диапазон, который не может быть адекватно отражен диалогом Настройка периода.

Дело в том, что диалог "Настройка периода" подразумевает установку интервала в терминах дат без указания времени. Это более понятно и более удобно для пользователя, но приводит к некоторым особенностям. Например, дата начала интервала, заданная через настройку периода, соответствует началу заданного дня (нулевой секунде), а дата окончания интервала - концу заданного дня (время - 23:59:59). Это приводит к тому, что если за счет интерактивных действий пользователя или при использовании встроенного языка для элемента отбора по дате установлено ЗначениеС с ненулевым временем или ЗначениеПо с временем не равным 23:59:59, то диалог "Настройка периода" при открытии отразит эту ситуацию как невыбранную границу начала и конца интервала. Если при этом просто нажать Ok, будет выдано сообщение о невозможности установить такой интервал дат. Т.е. пользователю нужно будет определиться - устанавливать ли интервал на "целые" дни или отказаться от установки периода. Желание устанавливать отбор более точно, чем "днями", может возникнуть при интенсивном документообороте, когда нужно, например, проанализировать документы первой половины дня. В таком случае использование в динамических списках диалога "Отбор и сортировка" неизбежно.

Особенностью диалога "Настройка периода", появляющегося в динамических списках, является также то, что в диалоге имеется флажок "Использовать эту настройку периода при открытии". Установка этого флажка приводит к тому, что при нажатии OK настройка периода будет сохранена для текущего списка и использована при следующем открытии формы.

Использование в отчетах

Очень часто для получения отчета в бизнес-приложениях необходимо задавать интервал, за который формируется отчет. Для этого в соответствующей форме, в которой проводится настройка такого отчета, можно использовать объект НастройкаПериода. Как правило, при этом в форме размещают два поля ввода для даты начала и конца периода формирования отчета, а также копку по которой вызывается метод Редактировать() объекта НастройкаПериода.

При работе с этим объектом в случае, когда в элементах управления формы используются даты с квалификатором типа Дата (без времени), следует учитывать следующие особенности.
Для того чтобы использовать третий параметр метода УстановитьПериод() (т.е. параметр "Предпочтительно использовать рабочий период"), необходимо запомнить в каком режиме пользователь настроил период - с привязкой к рабочему периоду (например, текущий месяц) или как абсолютный период (например, Апрель 2004). Привязка настройки к рабочему периоду происходит неявно, когда пользователь использует закладку Интервал, или явно - при установке флажка "Рабочий период" на закладке "Период". И в том и в другом случае привязка к рабочему периоду приводит к тому, что свойство ЗначениеПериода получает значение даты "начала отсчета" ('00010101'). Таким образом, для определения того, что использована привязка к рабочему периоду, достаточно сравнить ЗначениеПериода и '00010101'.
При установке периода (метод УстановитьПериод()) необходимо приводить дату окончания к концу дня, но только в том случае, если в качестве даты окончания не задана дата начала отсчета. Эта особенность связана с тем, что дата начала отсчета '00010101 0:00:00' воспринимается объектом НастройкаПериода особым образом. Если ее задать в качестве даты окончания, это будет означать, что ограничение не установлено. Но дата '00010101 23:59:59', как, впрочем, любая дата с ненулевым временем, уже не является "датой начала отсчета".
Для сохранения заданной пользователем настройки периода между сеансами работы формы можно использовать способность объекта НастройкаПериода сохраняться и восстанавливаться (например, при помощи функций глобального контекста СохранитьЗначение, ВосстановитьЗначение).

Эти особенности проиллюстрированы в демонстрационной конфигурации "Примеры ИТС" на примере формы обработки ПримерИнтернетПочты (закладка формы "Отчет по контрагенту").

В том случае, если в элементах управления формы используются даты с квалификатором "Дата + Время", пользователь должен быть подготовлен к тому, что он столкнется с поведением, похожим на описанное выше.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.04.24, 3:12
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!