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

Содержание:

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

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

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

    

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


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


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

ВЫБРАТЬ

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

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

    Товары.Цена

ИЗ

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


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

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


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

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

ВЫБРАТЬ

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

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

    Товары.Цена

ИЗ

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

ГДЕ

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


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

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

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

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

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

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

 

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

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

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


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

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


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


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


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

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

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

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

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

    КонецЦикла;

   

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

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

 

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

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

Наши проекты

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

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

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

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

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

Отрасль:
Производство

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

Автоматизация складских операций на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

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

Реализовали разработку уникального модуля «Интернет-магазины» на базе прог...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

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

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

ООО "НЦКТ"
ООО "НЦКТ"

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

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Производственные операции
Автоматизация бизнес-процессов...

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

Отрасль:
Производство

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

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетнос...

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

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

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

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