1с скд период конец дня
Использование дат
Для многих отчетов необходимо дать возможность пользователю указывать период, за который необходимо получить отчет. Часто данные периоды требуется указывать не с точностью до секунды, а с точностью до дня. Для того чтобы пользователь имел возможность ввести в параметрах данных дату без времени, достаточно указать в описании параметра данных тип параметра Дата с указанием состава даты «Дата».
После этого пользователь сможет вводить в параметры данных только значения дат, без времени.
В данном примере в качестве значений параметров виртуальной таблицы будут передаваться начало и конец дней, выбранных пользователем.
Использование стандартных периодов
Система компоновки данных позволяет использовать стандартные периоды для указания периода отчета.
Пользователь будет редактировать параметр в следующем виде:
1с скд период конец дня
1С 8.х: «Конец периода» в Схеме компоновки данных
См. так же
1С 8.х: «Конец периода» в Схеме компоновки данных
В Схеме компоновки данных (СКД) в случае использования в параметрах компоновки поля с типом дата, эти поля по умолчанию имеют тип «Дата и время» и при ручном заполнении всегда встает начало дня:
Пользователи и разработчики не всегда помнят/хотят у даты конца периода указывать время 23:59:59. Встает вопрос: как сделать так, чтобы в качестве конца периода всегда вставал бы конец дня от выбранной даты, при этом не нужно было бы вбивать время?
Ответ кроется в самом запросе – надо использовать функцию (метод) «КонецПериода».
Меняем тип параметра «КонецПериода» на тип Дата с составом даты «Дата»
Теперь, время у значения параметра показыватьс я не будет, но по умолчанию в КонецПериода встанет начало выбранного дня.
В колонку «выражение» в параметра «КонецПериода»
нужно прописать следующую строку:
&КонецПериода – типовое обращение к параметру запроса через символ «&»
Теперь, пользователь будет указывать в качестве параметра просто дату, а в отчет пойдет конец дня выбранной даты
Как настроить отбор концом дня в 1С СКД
Когда я создал свой первый отчет в 1С с помощью системы компоновки данных (СКД) и начал проверять его на правильность заполнения, то обнаружил одну проблему, с которой думаю будут сталкиваться все начинающие 1С программисты. Проблема заключалась в том что в отчет попадали не все документы. Если сказать точнее не попадали документы за последнее число, установленного периода. Данная статья предназначена тем кто только делает первые шаги в изучение 1С. Если Вы более менее опытный можете дальше не читать.
СКД я посвятил достаточно много статей которые будут полезны начинающим программистам, рекомендую Вам с ними обязательно ознакомиться.
Как правильно настроить отбор по периодам в СКД
И так давайте разберем все на примере, вот у нас есть отчет, мы задали период и сформировали его и видим что за 11.06 есть документы.
Но если мы сформируем отчет на эту дату то он будет пустой.
Внимательные люди заметили что у нас в периоде отображается не только дата но и время, и время установлено началом дня, т.е. мы выбираем документы которые созданы 11.06.2017 в 0:00:00.
Логично что документы которые созданы в другое время не попали в отчет, что бы это исправить нужно установить еще и время 23.59.59. В этом случае отчет будет формироваться корректно.
Но в большинстве случаев время в периоде просто не нужно, если пользователь выбирает 11.06 соответственно он хочет видеть документы за весь этот день.
Для того чтобы установить период концом выбранного дня нужно немного изменить запрос, поменять условие это
СчетНАОплатуКлиенту.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
СчетНАОплатуКлиенту.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
Т.е мы добавили стандартную функцию НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.
Так же можно изменить состав даты и убрать о туда время, делается это во вкладке «Параметры» в поле «Тип».
Если теперь мы выберем тот же период то отчет сформируется правильно.
На эту тему в интернете достаточно много ответов, но все они на форумах, чаще всего там пишут «используй функцию КОНЕЦПЕРИОДА». Тут же у новичком возникает вопрос а где её использовать и как правильно. Поэтому я написал эту небольшую статью и попытался рассказать все как можно проще и понятней.
Возможность установки времени нужно продумывать на начальном этапе, и если в нем нет необходимости то и выводить его не нужно.
Стандартный период в 1С СКД (8.3/8.2)
Вы, наверное, встречали, что в некоторых отчетах нет привычного выбора НачалаПериода и КонцаПериода. А есть только одно поле, где можно выбрать значение «Сегодня», «Эта неделя», Этот месяц» и так далее. Называется это в системе СКД 1С «Стандартный период». Действительно, это иногда удобно, ведь редко когда нужны отчеты за полдня или за 14 дней и 32 минуты.
Но здесь возникает вопрос, как же нам передать параметры &НачалаПериода и &КонцаПериода в запрос, а на форме чтобы был виден только один «стандартный период».
Оказывается, это очень просто сделать в механизме 1С СКД, сейчас расскажу.
Сначала создадим новый отчет и зайдем в систему компоновки данных. Напишем простенький запрос с параметрами, задающими период. Например, выведем остатки и обороты за какой-то промежуток времени:
РегистрНакопления.СвободныеОстатки.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК СвободныеОстаткиОбороты
Теперь займемся параметрами. Кроме стандартных НачалоПериода и КонецПериода, которые мы указали в запросе, добавим еще параметр «СтандартныйПериод» и присвоим ему тип «СтандартныйПериод». А в колонке «Выражение» для параметров НачалоПериода и КонецПериода пропишем следующие выражения:
Не забудем установить флажки «Ограничение доступа» у первых двух параметров. Должна получиться такая картина:
Теперь зайдем в закладку «Настройки» и для параметра «СтандартныйПериод» сделаем следующее:
После всего проделанного сохраняем отчет и открываем его в режиме предприятия. Теперь мы можем выбирать дату следующим образом:
Следует заметить, что при выборе стандартного периода конечная дата всегда будет 23:59:59 (включая последнюю секунду).
Скачать получившийся отчет для 1С Управление торговлей 11.2 можно по ссылке.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Стандартный период в 1С СКД 8.3
Формируя отчеты в 1С, для удобства работы задается период для получения интересующих данных. При этом большинство отчетов любой сложности, создаваемые в программе «1С:Предприятие», строятся через «Систему компоновки данных» (СКД). Это мощный и гибкий инструмент, предназначенный не только для построения разных форм отчетности, но и для вывода информации со сложной структурой, содержащей произвольный набор диаграмм и таблиц.
Данный механизм позволяет устанавливать стандартный период в любых отчетах, благодаря чему оптимизируется и ускоряется работа пользователя с необходимой информацией. Рассмотрим на примере, как реализуется на практике данный механизм.
Для начала откроем конфигурацию базы и перейдем в «Макеты». Пользователю необходимо выбрать «Схемы компоновки данных» – раздел для установки параметров.
Теперь переходим к «Параметрам». В отчете мы имеем два основных параметра – Начало Периода и Конец Периода. Добавим третий – Стандартный период с установкой типа «СтандартныйПериод». В колонке «Выражение» пропишем следующее: &Период.ДатаНачала и &Период.ДатаОкончания. Обязательно устанавливаем флажок «Ограничение доступности».
Далее активируем вкладку «Настройки», устанавливаем галочку «Отображать недоступные параметры» и переходим в пользовательские настройки указанного параметра – «Период». На мониторе откроется окно, где необходимо установить флажок напротив «Включать в пользовательские настройки».
После обновления данных в конфигурации, переходим в пользовательский режим. Выбор периода включает в себя несколько стандартных вариантов: день, 6 или 9 месяцев, 1 год.
В обновленных версиях 1С большинство отчетов уже реализованы с представленным вариантом выбора периода. В этом можно убедиться, открыв любой отчет. Например, «Универсальный отчет», «Анализ взносов в фонды».
Из представленных примеров видно, что в отчетах уже установлен стандартный период. Использование механизма СКД «Стандартный период» существенно упрощает работу, экономит время при формировании отчетов и повышает эффективность рабочего процесса пользователя.