Полезные примеры составления схемы компоновки данных #2

31.03.21

Разработка - СКД

Еще один набор примеров как решить частные задачи в СКД

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Три схемы
.zip 5,01Kb
18 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Первая часть

Оглавление

  1. Вывод группы похожих строк с отображением названия только в первой строке
  2. Убрать заголовок ресурса из шапки СКД
  3. Убрать дубли в иерархии элементов

Вывод группы похожих строк с отображением названия только в первой строке

У нас на предприятии существует старинная программа на FoxPro, в которой была реализована своеобразная группировка строк. Это выглядело примерно так: выводились несколько строк, относящиеся к одной номенклатуре, при чем название номенклатуры выводилось только в первой строке.

Изначально мы имеем детальные записи, отображающие информацию во всех строках

Нужно получить следующий вид:

Это достигается созданием вычисляемого поля:

ВычислитьВыражение("Количество(Различные ШифрИВЦ)",,,"Предыдущая", "Текущая") = 2 ИЛИ ВычислитьВыражение("Количество(ШифрИВЦ)",,,"Предыдущая", "Предыдущая") Есть null 

Как это работает? Для каждой детальной записи выполняется проверка ключевого с предыдущей записью на "одинаковость", но поскольку для первой строки детальных записей это не будет работать, добавлена дополнительная проверка на отсутствие предыдущей записи.

И последующему применению условного оформления требуемых полей по условию этого поля

В итоге:

Что примечательно, так это то что данное вычисляемое поле будет правильно работать для детальных записей, помещенных в группировку

Убрать заголовок ресурса из шапки СКД

При выводе отчета в виде кросс-таблицы иногда возникает ситуация, что необходимо вывести всего один ресурс, и информация о его названии в шапке отчета совсем не нужна.

Данную задачу можно решить, добавив Макет группировки (тип макета Заголовок) поля вертикальной группировки (в данном примере поле вертикальной группировки Вид).

Результат:

"Правильная" иерархия элементов

Как убрать дубли при выводе элементов справочника иерархия элементов.

Если у справочника используется иерархия элементов, то при выводе ее в СКД будет наблюдаться повторение родителей на уровне элементов, пример:

для того чтобы победить эту проблему, я предлагаю добавить пользовательское поле(именно пользовательское, при использовании вычисляемого поля у меня падала платформа 8.2.19.130) и наложить отбор на группировку.

Добавляем пользовательское поле Родитель, в котором вычислен родитель поля. В выражении детальных записей пользовательского поля пишем ВычислитьВыражение("Подразделение", "", "Иерархия"), в выражении итоговых записей - пишем то же самое.

Далее, создаем отбор для группировки с иерархией(именно для группировки, а не для всего отчета). 

Добавляем группу ИЛИ, в эту группу добавляем два элемента: Подразделение Не равно ПользовательскоеПоле, Уровень в группе = 1

Важно! Для группы ИЛИ устанавливаем использование После группировки или для иерархии 

В итоге получаем нормальную иерархию:

Схемы-примеры, которые будет работать в конфигурации на базе УПП 1.3 и потомков - приложены

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    247794    1365    421    

1134

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5319    296    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    16346    ovetgana    112    

106

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    9458    krasnoshchekovpavel    5    

67

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8670    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    15703    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

24.12.2024    13275    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9803    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. FesenkoA 60 22.05.18 14:18 Сейчас в теме
Что будет если, допустим, в вашем отчете отсортировать по "ЦКЛ"? И в чем принципиальное различие между этим и, собсно, группировкой?
не критикую, спрашиваю.
2. SITR-utyos 1437 22.05.18 14:28 Сейчас в теме
(1) Если отсортировать по не ключевому полю - то результат будет другой. Собственно задумка получить, отчет сортированный по ключевым полям.

Если делать группировкой - вы соберете результат вместе, но дальше под группировкой будут детальные записи начиная с первой. По большому счету, да, группировка позволяет один раз вывести ключевое поле и дальше вывести записи без него.

По сути, данный пример - это эксклюзив для особенных заказчиков.
3. FesenkoA 60 22.05.18 15:22 Сейчас в теме
(2)Для Очень уж особенных)) Но использование интересное, спасибо!
10. пользователь 24.05.18 05:43
Сообщение было скрыто модератором.
...
4. shtinalex 312 22.05.18 19:00 Сейчас в теме
Телега не моя, но вот еще вариант с мисты:
Результат объединения строк колонки "Поставщик"

Вычисляемые поля:

Условное оформление:

Ресурсы:


Схема СКД прилагается:
Прикрепленные файлы:
GruppyNeGruppy.xml
DennyPhilord; SagittariusA; vladimir-89; brenli; igee12; unichkin; top_1c; CnupT; dj_serega; PetrPan; romankoav; Irwin; Korolev; emakei; AlX0id; SITR-utyos; Serj1C; Shrayky2; +18 Ответить
5. Serj1C 484 23.05.18 07:06 Сейчас в теме
Я бы тоже делал вариант (4)
6. SITR-utyos 1437 23.05.18 08:26 Сейчас в теме
(4) Спасибо! Предложенная реализация более наглядна и понятна. Хочу обратить внимание, что из-за того что предыдущий контрагент вычисляется в ресурсах - данная реализация будет работать только для группировок
7. rmarkovych 33 23.05.18 14:26 Сейчас в теме
Спасибо Автору статьи!!! Очень помогло для моего отчета в 1С ДО. Получилось именно так, как и хотел Заказчик
Прикрепленные файлы:
8. Milanick 23.05.18 16:59 Сейчас в теме
Коллеги, может кто помочь с такой реализацией задачи как "Сравнение продаж по периодам", с использованием ВычислитьВыражение

Пример , как хочет видеть форму заказчик:
Прикрепленные файлы:
СравнениеПериодов.xml
9. Milanick 23.05.18 17:02 Сейчас в теме
Что-то я встрял, как получить значение из предыдущей группировки и сделать разницу между ними :(
11. SITR-utyos 1437 24.05.18 10:57 Сейчас в теме
(9) Держи, все просто. Судя по всему, ты ошибся в установке параметра КП2. Я в наборы данных ввел поле КоличетвоПериода1, КоличествоПериода2, чтобы их как-то различать.
И выражение ресурса упростил. Сделал все ТОЛЬКО для количества
Прикрепленные файлы:
СравнениеПериодов - работает.xml
12. Milanick 25.05.18 15:36 Сейчас в теме
(11) Спасибо большое.
13. Ibrogim 1516 12.07.18 09:11 Сейчас в теме
(0)
наблюдаться повторение родителей на на уровне

наблюдается повторение "на"
SITR-utyos; +1 Ответить
14. пользователь 24.11.18 10:41
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация