15.02.2025 Елена Дубровина 3512
Отчет на СКД, программный отбор по списку значений

Содержание:

1.     Настройка структуры СКД

2.     Реализация программного отбора в учетной программе 1С

3.     Настройка интерфейса 1С  

    

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


1. Настройка структуры СКД


Создание набора данных
В конфигураторе откройте объект отчета и перейдите на вкладку «Наборы данных» в настройках СКД. Добавьте новый источник данных, например, запрос к базе данных. Пример запроса:

ВЫБРАТЬ

    Товары.Ссылка КАК Товар,

    Товары.Наименование,

    Товары.Цена

ИЗ

    Справочник.Товары КАК Товары


Настройка параметров отчета  
В СКД создайте параметр для передачи списка значений. Например, назовите его СписокТоваров. 

2. Реализация программного отбора в учетной программе 1С


Для передачи списка значений и фильтрации данных создадим программный отбор.

Добавление условия в запрос
Скорректируйте текст запроса, чтобы использовать параметр. Пример:

ВЫБРАТЬ

    Товары.Ссылка КАК Товар,

    Товары.Наименование,

    Товары.Цена

ИЗ

    Справочник.Товары КАК Товары

ГДЕ

    Товары.Ссылка В (&СписокТоваров)


Обработка параметра в модуле отчета
В модуле объекта отчета обработаем передачу списка значений в параметр СписокТоваров:

Процедура ПередФормированиемОтчета(Настройки, Параметры) Экспорт

    // Пример списка значений

    СписокТоваров = Новый Массив;

    СписокТоваров.Добавить(Справочники.Товары.НайтиПоКоду("00001"));

    СписокТоваров.Добавить(Справочники.Товары.НайтиПоКоду("00002"));

 

    // Передаем список в параметр

    Параметры.Вставить("СписокТоваров", СписокТоваров);

КонецПроцедуры


Обработка ситуаций с пустым списком
Если список значений пуст, нужно предусмотреть поведение запроса. Например:

ИЛИ &СписокТоваров = НЕОПРЕДЕЛЕНО


3. Настройка интерфейса 1С


Добавление интерфейсных элементов
Реализуйте ввод данных в форме отчета, позволяя пользователю указать интересующие элементы, например, через поле выбора или таблицу значений.


Связь интерфейса с параметром
Передайте данные, указанные пользователем, в параметр СписокТоваров. Например:

Процедура ЗаполнитьСписокТоваров(ЭлементыФормы, Значение)

    СписокТоваров = Новый Массив;

    Для Каждого Товар Из Значение Цикл

        СписокТоваров.Добавить(Товар);

    КонецЦикла;

   

    Параметры.Вставить("СписокТоваров", СписокТоваров);

КонецПроцедуры

 

Специалист компании ООО "Кодерлайн"

Елена Дубровина

Наши проекты

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление корпоративными финансами

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Бухгалтерский учет
- Расчет зарплаты и кадровый учет
- Налоговый учет ...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складскими запасами;
- Оформление заказов покупателей;
- Пла...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием для Украины

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Уч...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Ана...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение