Как найти отчет в конфигураторе по его названию в 1С:Предприятие
Программная обработка данных отчета, полученных с помощью запроса, с выводом измененных данных в СКД
СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты
Работа с СКД и макетами
Задача: вывести в отчете заголовок вида "Реестр документов "Путевые листы" за Октябрь 2023 г.". Месяц берется из даты, содержащейся в реквизите СР_НачалоПериода
(получается ранее запросом).
Порядок действий:
- На вкладке Вычисляемые поля добавить вычисляемое поле
ПериодОтчета
.Рисунок[свернуть] - На вкладке Ресурсы добавить вычисляемое поле
ПериодОтчета
в ресурсы.Рисунок[свернуть] - На вкладке Настройки :
- добавить в отчет:
- новую группировку (детальные записи, не выбирая поле), без иерархии, установить для неё имя (в этом примере -
Заголовок2
, здесь будем выводить текст "Реестр документов "Путевые листы" за ... 2023 г."");- внизу выбрать
<Детальные записи> (Заголовок2)
, перейти на вкладку Другие настройки - (в самый низ) -Вариант использования группировки
- выбратьДополнительная информация
;
- внизу выбрать
- новую группировку (детальные записи, не выбирая поле), без иерархии, установить для неё имя (в этом примере -
- добавить в отчет:
- вверху на вкладке Макеты добавить заголовок (как в задании):
-
- добавить макет группировки, выбрать группировку
Заголовок2
; - в табличном документе в ячейке размещаем текст заголовка из задания с параметрами ("Реестр документов "Путевые листы" за [Месяц] 2023 г."), форматируем шрифт как в задании, в свойствах ячейки меняем заполнение на
Шаблон
, связываем эту ячейку с макетомЗаголовок2
в полеОбласть
; - связываем параметр
[Месяц]
шаблона с соответствующим параметром отчета (в полеПараметрыДанных
).Рисунок[свернуть]
- добавить макет группировки, выбрать группировку
-
Примечание: вывод года тоже можно сделать в параметре Месяц
, заменив выражение вычисляемого поля на Формат(СР_НачалоПериода, "ДФ=ММММ") + " " + Формат(СР_НачалоПериода, "ДФ=yyyy")
.
Два набора данных - запроса, связаны по ссылке на документ ПутевойЛист. Необходимо в подчиненный набор передать параметр ПутевойЛист для использования в запросе.
В параметрах СКД создадим параметр ПутевойЛист
, тип ДокументСсылка.ПутевойЛист
, установим флаг "Ограничение доступности".
Связь между наборами устанавливается без особенностей.
В качестве параметра на вкладке "Связи наборов данных" передаем параметр ПутевойЛист
, который и будет использован в запросе подчиненного набора данных в конструкции ГДЕ ПутевойЛистМаршрут.Ссылка = &ПутевойЛист
.
Дано:
- в запросе выбирается планируемая дата оплаты счета (из поля документа "Оплата до:",
СрокиОплатыДокументов.СрокОплаты
).
Необходимо:
- вывести в отчет количество дней просрочки платежа (со знаком "-").
Решение:
- В конструкторе запроса:
- добавить поле с выражением
РАЗНОСТЬДАТ(&ТекДата, СрокиОплатыДокументов.СрокОплаты, ДЕНЬ)
; - на вкладке "Объединения/псевдонимы" дать созданному полю нужное наименование (в примере - "Просрочка").
- добавить поле с выражением
- На вкладке "Параметры" схемы компоновки данных добавить параметр
ТекДата
с выражениемТекущаяДата()
- Добавить вывод созданного поля в результат запроса - отчет (например, если использовались промежуточные временные таблицы):
- на вкладке "Настройки" - вывод в отчет:
Результат (на 20.04.2023):
Ошибки СКД и макетов 1С
Для устранения ошибки необходимо проверить вкладку СКД "Настройка - Сортировка" и убрать сортировку по указанному полю, например:
Возникает в результате формирования некорректного текста запроса из-за одинаковых имен полей и имен таблиц в запросе. Например, одинаковое именование регистра и ресурса в регистре.