1с скд начало дня в параметрах
Использование дат
Для многих отчетов необходимо дать возможность пользователю указывать период, за который необходимо получить отчет. Часто данные периоды требуется указывать не с точностью до секунды, а с точностью до дня. Для того чтобы пользователь имел возможность ввести в параметрах данных дату без времени, достаточно указать в описании параметра данных тип параметра Дата с указанием состава даты «Дата».
После этого пользователь сможет вводить в параметры данных только значения дат, без времени.
В данном примере в качестве значений параметров виртуальной таблицы будут передаваться начало и конец дней, выбранных пользователем.
Использование стандартных периодов
Система компоновки данных позволяет использовать стандартные периоды для указания периода отчета.
Пользователь будет редактировать параметр в следующем виде:
Nicholas Mikuslas
Вы здесь
СКД. Стандартная дата начала
Дело в том, из типов данных доступен только тип «Стандартная дата начала», а хочется еще «Стандартная дата окончания».
Существует метод как это обойти.
Но существует небольшая тонкость. Если мы используем в запросе виртуальные таблицы, то, скорее всего, отчет перестанет работать и будет выдаваться сообщение об ошибке типа «Ошибка обработки представления, несоответствие типов, параметр номер. ».
Чтобы этого избежать, нужно убрать все параметры виртуальных таблиц.
И добавить их к таблицам на закладке «Компоновка данных».
Для того, чтобы параметны отображались в быстрых настройках отчета, включим соответствующий флаг для параметров отчета.
Теперь выбор периода на форме отчета выглядит так.
Стандартный период в 1С СКД (8.3/8.2)
Вы, наверное, встречали, что в некоторых отчетах нет привычного выбора НачалаПериода и КонцаПериода. А есть только одно поле, где можно выбрать значение «Сегодня», «Эта неделя», Этот месяц» и так далее. Называется это в системе СКД 1С «Стандартный период». Действительно, это иногда удобно, ведь редко когда нужны отчеты за полдня или за 14 дней и 32 минуты.
Но здесь возникает вопрос, как же нам передать параметры &НачалаПериода и &КонцаПериода в запрос, а на форме чтобы был виден только один «стандартный период».
Оказывается, это очень просто сделать в механизме 1С СКД, сейчас расскажу.
Сначала создадим новый отчет и зайдем в систему компоновки данных. Напишем простенький запрос с параметрами, задающими период. Например, выведем остатки и обороты за какой-то промежуток времени:
РегистрНакопления.СвободныеОстатки.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК СвободныеОстаткиОбороты
Теперь займемся параметрами. Кроме стандартных НачалоПериода и КонецПериода, которые мы указали в запросе, добавим еще параметр «СтандартныйПериод» и присвоим ему тип «СтандартныйПериод». А в колонке «Выражение» для параметров НачалоПериода и КонецПериода пропишем следующие выражения:
Не забудем установить флажки «Ограничение доступа» у первых двух параметров. Должна получиться такая картина:
Теперь зайдем в закладку «Настройки» и для параметра «СтандартныйПериод» сделаем следующее:
После всего проделанного сохраняем отчет и открываем его в режиме предприятия. Теперь мы можем выбирать дату следующим образом:
Следует заметить, что при выборе стандартного периода конечная дата всегда будет 23:59:59 (включая последнюю секунду).
Скачать получившийся отчет для 1С Управление торговлей 11.2 можно по ссылке.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
1с скд начало дня в параметрах
1С 8.х: «Конец периода» в Схеме компоновки данных
См. так же
1С 8.х: «Конец периода» в Схеме компоновки данных
В Схеме компоновки данных (СКД) в случае использования в параметрах компоновки поля с типом дата, эти поля по умолчанию имеют тип «Дата и время» и при ручном заполнении всегда встает начало дня:
Пользователи и разработчики не всегда помнят/хотят у даты конца периода указывать время 23:59:59. Встает вопрос: как сделать так, чтобы в качестве конца периода всегда вставал бы конец дня от выбранной даты, при этом не нужно было бы вбивать время?
Ответ кроется в самом запросе – надо использовать функцию (метод) «КонецПериода».
Меняем тип параметра «КонецПериода» на тип Дата с составом даты «Дата»
Теперь, время у значения параметра показыватьс я не будет, но по умолчанию в КонецПериода встанет начало выбранного дня.
В колонку «выражение» в параметра «КонецПериода»
нужно прописать следующую строку:
&КонецПериода – типовое обращение к параметру запроса через символ «&»
Теперь, пользователь будет указывать в качестве параметра просто дату, а в отчет пойдет конец дня выбранной даты
Использование стандартных периодов
Для удобства работы с параметрами типа дата, в системе компоновки данных существует возможность использовать Стандартные периоды.
Как же их использовать?
Мы имеем отчет, в котором 2 параметра: Начало периода и Конец периода. Добавим в параметры третий параметр, назовем его Стандартный период и установим ему тип СтандартныйПериод.
Для параметров Начало периода и Конец периода в Выражение запишем следующее:
&СтандартныйПериод.ДатаНачала
&СтандартныйПериод.ДатаОкончания
Также у этих параметров установим галку Ограничение доступности.
Все. Теперь можно пользоваться возможностями стандартного периода:
Кроме того, стандартная дата окончания содержит время 23:59:59 что избавляет от проблемы, когда в отчет не попадают данные за последний день!
also
Похожие FAQ
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
Разобрался
Не нужно использовать типовой параметр Период
А как быть если используем виртуальную таблицу остатки?
Ошибка обработки представления «РегистрНакопления. НазваниеРегистраНакопления. Остатки: Несоответствие типов (Параметр номер «»1″»)»
>РегистрНакопления. НазваниеРегистраНакопления. Остатки(