|
СКД, отчёт по заказам с доп.колонками, соответствующими отборам | ☑ | ||
---|---|---|---|---|
0
Raff86rus
12.09.22
✎
17:33
|
Добрый день 1С-ам.
Исходные данные: 0) Управление торговлей, редакция 11 (11.4.12.71). 1) Отчет о продажах с 4-я фиксированными группировками (меняться не будут, жесткая структура): - период (неделя) - менеджер - заказ клиента/реализация - артикул, номенклатура, характеристика 2) Поля (ресурсы): - количество - сумма - себестоимость 3) Набор данных - запрос. Задача: Для простоты условия будем считать, что за установленный период (какой-нибудь месяц) имеется три документа "Заказ клиента" с разными менеджерами. В ТЧ "Товары" по 5 разных позиций в каждом документе. В результате формирования БЕЗ ОТБОРОВ! видим отчет с учетом структуры, описанной в исходных данных выше. Все данные заполнены. Клиент хочет устанавливать до 10 отборов одновременно на свойства номенклатуры (вид номенклатуры, родитель и т.д.). При установке отбора № 1 на какое-либо свойство номенклатуры (например: номенклатура в группе "Обувь"), в результате остались все те же три заказа, со всеми позициями товаров (по 5 в каждом), но при этом справа добавились три колонки (количество, сумма и себестоимость) и что важно, заполнены были только те позиции номенклатуры (строки в этих трех колонках), которые удовлетворяют отбору (состоят в группе "Обувь)". Остальные строки в этих трех колонках должны быть пустыми. То есть количество строк остается исходным независимо, есть отбор или нет на свойства номенклатуры. При установке отбора № 2 (номенклатура в группе "Шапки"), в результате остались все те же три заказа, со всеми позициями товаров (по 5 в каждом), но при этом справа (помимо трех колонок по отбору № 1) добавились еще три колонки (количество, сумма и себестоимость) и заполнены были только те позиции номенклатуры (строки в этих трех колонках), которые удовлетворяют отбору № 2. Остальные строки в этих трех колонках должны быть пустыми. И так далее... То есть таблица растет вправо в зависимости от количества отборов на номенклатуру. Какие варианты решения данной задачи могут быть? Спасибо заранее. |
|||
1
Sinoptic
12.09.22
✎
18:15
|
Тут вообще полёт фантазии ничем не ограничен, ну например:
В модуле отчета, в процедуре "ПриКомпоновкеДанных" (как-то так вроде называется), обходишь настройки отбора, запихиваешь эти группы (и даже отдельную номенклатуру можно) в таблицу значений, подсовываешь эту таблицу значений в качестве внешнего источника данных, соединяешь по номенклатуре (иерархии) с данными твоего отчета. В настройках делаешь таблицу, где в колонках группы из этого внешнего источника, в строках заказ и ресурсы. |
|||
2
Raff86rus
13.09.22
✎
13:17
|
(1) Спасибо за наводку. Выходит так:
Создаем набор данных объект, описываем 3 поля ("Документ продажи (ссылка на документ)", "Номенклатура (ссылка)" и "Номер отбора (строка)"). Настраиваю связи наборов данных внешнего источника и данных отчета по номенклатуре (ссылка) и по документу продажи. В настройках отчета в колонки добавляю группировку "Номер отбора". В обработчике "ПриКомпоновкеДанных" перебираю отборы. Допустим пользователь установил два отбора: 1) на группу номенклатуры (родитель); 2) на вид номенклатуры. Формирую ТЗ, где значение колонки "Номер отбора" = "Отбор номер 1", колонки "Документ продажи" и колонки "Номенклатура" - сюда необходимо поместить значения, предварительно сформировав отчет с указанным отбором? Верно? После этого сформировать с вторым отбором на вид номенклатуры и дозаполнить ТЗ, так? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |