Трюки и уловки при работе с отчетами на базе СКД (часть 1)

Публикация № 298703 28.08.14

Приемы и методы разработки - СКД

скд схема компоновки данных отчеты отбор форматирование группировка сортировка заголовок поле скрыть шапка

Система компоновки данных - очень богатый функционально инструмент, который позволяет реализовать очень много отчётов и их настроек, не прибегая к непосредственному программированию. Зачастую разработчики отчётов (особенно начинающие) даже не догадываются, что их кажущаяся сверхсложной задача по выводу данных не только вполне реализуема штатными механизмами СКД, но ещё и делается с помощью простейших операций. А некоторые обычные пользователи находят для себя много неожиданных открытий в задачах, для которых они, как правило, использовали Excel.
Дабы избежать комментариев типа "тоже мне открытие!", оговорюсь сразу: статья рассчитана на неискушённых СКД-разработчиков, тем кто это и так знает не обязательно высказывать своё "фи!", поймите, то что очевидно для вас - не всегда бывает очевидно остальным.

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

Трюк №1. Многоликость правого значения.

Итак, для разогрева начнём с чего-нибудь попроще. В таких механизмах СКД, как "Отбор" или "Условное форматирование" вы наверняка сталкивались с колонками "Поле" (или "Левое значение") и "Значение" (или "Правое значение"). Профессионалы, наверняка знают этот трюк, но начинающим не всегда легко догадаться, что поле компоновки данных можно использовать как слева, так и справа (т.е. сравнивать не только заданные фиксированные значения, но и другие поля СКД в пределах одной строки). Для этого достаточно в поле правого значения зайти в режим редактирования, нажать кнопку очистки значения ("кретик"), затем нажать появившуюся кнопку выбора типа (буква "Т") и выбрать тип "Поле компоновки данных".

Пример.
В качестве примера я не стал изобретать велосипед, а взял самую обычную оборотно-сальдовую ведомость по счету 60 из демо-версии 1С:Бухгалтерии (я использую ред. 2.0.). Кто не знает, начиная с редакции 2.0 этот отчёт сделан на базе СКД.

Итак, зададим прямо в ней отбор для строк с условием "БУ Дт (оборот)" Равно "БУ Кт (оборот)", а также применим к отчёту условное оформление, подсветив жёлтым цветом ячейки строк, где "БУ Кт (кон. сальдо)" Больше "БУ Кт (оборот)". Если кто не знает, как включить панель "Оформление" - найдите кнопку "Параметры панели настроек" справа от надписи "Панель настроек".

Конечный результат должен получиться примерно таким:


Трюк №2. Отбор на группировках.

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

Пример.
Цель примера: отобразить ОСВ, в которой для взаиморасчетных счетов (60,62,76) показать расшифровку по контрагентам, а для затратных (20,23,25,26) - по статьям затрат. 

Сама СКД реализована в виде набора данных, где используется запрос к виртуальной таблице остатков и оборотов регистра бухгалтерии "Хозрасчетный". 
Размещаем вложенные группировки "Организация" и "Счет". В группировке "Счет" параллельно размещаем 2 группировки "Субконто1" и "Субконто2", для которых задаем соответствующие отборы.
Иллюстрацию настройки привожу в скриншоте:


Если в основных настройках отчёта на закладке "Другие настройки" вы не отключали вывод отборов, то это обязательно нужно будет сделать в "других настройках" наших группировок "Субконто1" и "Субконто2"

Трюк №3. Шапка-невидимка

Следующий трюк можно представить, как продолжение предыдущего. Если вы обратили внимание, в получившемся отчёте несмотря на то, что фактически у нас выводится только одно субконто, в шапку попадают оба (и "Субконто1" и "Субконто2"). К сожалению разработчики СКД не предусмотрели возможность регулирования видимостью шапки или использования какого-нибудь служебного символа, при установке которого в качестве заголовка, шапка поля бы не формировалась. Но, как вы уже, наверное, догадались есть трюк, который в какой-то степени поможет обойти данное ограничение.

При разработке схемы в предопределённом макете оформления добавьте макет группировки, с определением по имени группировки "Невидимка" так, как показано на скриншоте. Обратите внимание, что поле "Область" должно остаться пустым!



А затем задайте для группировки "Субконто2" имя "Невидимка":



И вуаля... шапка группировки "Субконто2" исчезает, а отчёт становится вот таким:



Спросите, почему макет оформления задаётся через имя, а не через указание конкретного поля группировки? Просто так получается более универсальное решение и впоследствии это имя группировки можно задать в вариантах отчёта на любой группировке, а вот менять предопределённый макет в вариантах уже не получится.

Да, есть ещё один ньюанс этого трюка: учитывайте, что "шапка-невидимка" накрывает не только эту группировку, но и все нижестоящие! Т.е. если вы назначите имя "Невидимка" группировке "Субконто1", то в шапке не будет видно ни "Субконто1", ни "Субконто2"!

Трюк №4. Называй меня как хочешь

Большинство разработчиков СКД знают, как можно задать заголовок поля запроса. На закладке СКД "Наборы данных", достаточно поставить галочку отмены автозаголовка и внести в поле "Заголовок" необходимый текст. Минус состоит в том, что в пользовательском режиме, этот способ недоступен, а переименовать заголовок хочется не прибегая к помощи конфигуратора. Так вот в настройках вариантов отчёта есть не только способ переименовать заголовки полей, но и "накрыть" их группировочной "шапкой". Для этого на закладке "Выбранные поля" необходимо выделить нужные поля и нажать правую кнопку мыши. Как видно на скриншоте для полей доступны опции "Установить заголовок" и "Сгруппировать поля".
Обратите внимание, что для полей группировок установку заголовка необходимо делать также именно через закладку "Выбранные поля", а не через контекстное меню "Установить имя" в верхней (структурной) части настройки варианта!



После всех настроек вариант отчёта выглядит вот так:



P.S.
Небольшая подсказка для тех, кто будет качать схему. Схема - одна, но все трюки выполнены в виде отдельных вариантов настроек отчёта этой схемы:



Продолжение следует...

Скачать файлы

Наименование Файл Версия Размер
Схема ОСВ с вариантами трюков для 1С:БП8

.xml 47,30Kb
72
.xml 47,30Kb 72 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. MarSeN 981 28.08.14 13:26 Сейчас в теме
"Шапка-невидимка" - примерно то-же самое можно сделать если в условном оформлении этого поля указать максимальную высоту = 1
2. mbreaker 1379 28.08.14 12:09 Сейчас в теме
(1) MarSeN, к сожалению не могу подтвердить верность утверждения. При попытке воспроизвести у меня всего лишь схлопываются сами группировки, оставляя при этом заголовок и образуя некрасивую толстую линию на стыке. Смысл трюка №3 был как раз-таки в обратном: оставить выводимые группировки в области данных, но скрыть заголовок группировки в области шапки отчета.
3. stanru1 90 28.08.14 19:11 Сейчас в теме
Спасибо, очень интересно! Хочу больше разных трюков с СКД!
4. charushkin 29.08.14 05:24 Сейчас в теме
Век живи - век учись, как говорится.
Про вариативную расшифровку понравлось решение. Мне самому не приходило в голову )))
Возьму на вооружение ;)
5. zqzq 23 29.08.14 08:45 Сейчас в теме
Как вариант для шапки-невидимки - установить заголовок поля пробел (вариант 4). Тогда следующие группировки не пропадут, но будет пустая ячейка в шапке.
6. mbreaker 1379 29.08.14 06:48 Сейчас в теме
(5) zqzq, да, на текущий момент это единственный вариант для хоть какого-то оформления дублирующихся ресурсов и реквизитов, т.к. иного механизма пока что не найдено, но при таком оформлении действительно остаётся пустая ячейка в шапке.
51. пользователь 29.07.17 11:04
Сообщение было скрыто модератором.
...
52. KAV2 29.07.17 12:28 Сейчас в теме
Добавлю еще один вариант того, как можно спрятать (то есть полностью не выводить) заголок определенной группировки, у меня во всяком случае получилось так:
1) задать в условном оформлении группировки высоту 0.5 (меньше не работает) и задать область действия - заголовок (Field header).
2) (не обязательно но выглядит лучше) в условном оформлении группировки указать отсутствие рамки со всех сторон и задать область действия - заголовок (Field header).
3) (не обязательно но выглядит лучше) у ближайших по иерархии вложенных группировок, в условном оформлении указать отсутствие рамки со всех сторон и задать область действия - заголовок (Field header).

Проверялось на УФ, на платформе версии 8.3.8.2322
7. Поручик 4573 29.08.14 10:40 Сейчас в теме
Статья полезная. Даже сам узнал кое-что очевидное, но для меня было открытием. Выводы: век живи, век учись.
15. gull22 88 03.09.14 11:04 Сейчас в теме
Полностью присоединяюсь к комментарию (7) Поручик. Буду ждать продолжения.
8. kuzyara 1248 31.08.14 23:07 Сейчас в теме
А я тут недавно узнал что и динамические списки на СКД работают :)
И лучшее средство отладки - консоль компоновки данных (ИР от tormozit) с волшебной кнопкой "Открыть запросы макета компоновки в консоли запросов"
9. mbreaker 1379 01.09.14 02:36 Сейчас в теме
(8) kuzyara, не совсем понял, что подразумевается под динамическими списками в СКД, но недавно в партнерской конференции коллеге объяснял, как под УФ настроить сложносоставной отбор по реквизиту одного из полей.
А вот с отладкой СКД через консоль запросов я бы посоветовал действовать осторожно. Нисколько не умаляю удобство ИР, но часто бывает, что результаты СКД и запроса сильно разняться. Некоторым особенностям работы СКД планирую посвятить одну из публикаций.
10. kuzyara 1248 31.08.14 23:46 Сейчас в теме
(9), Динамический список, это раз.
Консоль запросов != Консоль компоновки, это два.

У меня тоже проблемы с чтением бывают;)

А если попытаться сделать пару отчетов не мышкой, а описать скд с помощью только кода (гилев в помощь), то можно понять объектную модель этой системы, и описанные в статье вещи не будут необычными.
11. mbreaker 1379 01.09.14 13:17 Сейчас в теме
(10) kuzyara, коллега, с чтением у меня пока всё нормально, так что дело не в этом...
1) Что такое динамический список в УФ я прекрасно знаю, меня смутила фраза "динамические списки на СКД работают", поэтому предположил, что речь идёт об управлении отборами в диалогах выбора, написанных на УФ, т.к. иного варианта, почему работа динамических списков в СКД должна удивлять у меня не нашлось. А вот на тему применения сложных отборов у меня было обсуждение одного из таких случаев с коллегой из Астрахани (ветка "СКД связь полей в отборе по владельцу через промежуточный реквизит" в форуме "Платформа 8.3" партнерской конференции).
2) Замечательный инструментарий Сергея Седых я знаю давно и также давно им активно пользуюсь в своей работе. Поэтому отличить консоль запросов от консоли компоновки данных у меня сложности не составляет. А моя ремарка про соблюдение осторожности относится к упомянутой кнопке "Открыть запросы макета компоновки в консоли запросов". Дело в том, что в последних версиях конфигураций активно используются функциональные опции, а они очень сильно влияют на результат отработки СКД. Но тот же самый запрос набора данных, открытый через "волшебную кнопку" в консоли запросов полностью их (ФО) проигнорирует и выдаст иной результат.
25. tormozit 6513 11.09.14 08:25 Сейчас в теме
(11) Немного поправлю, я Сергей Старых, а не Седых, хотя согласен близко =)
По поводу функциональных опций кажется, что правильнее всего отлаживать СКД/запрос под нужным пользователем, временно предоставив ему роль ирРазработчик. Для этого в инструменте "Редактор пользователей" есть возможность запустить предприятие под любым пользователем и временно включить ему эту роль.
dvsidelnikov; +1 Ответить
27. mbreaker 1379 13.09.14 10:31 Сейчас в теме
(25) Сергей, извини за ошибку с фамилией, на самом деле тот пост писал с мобильного и возможно просто случайно ткнул в автоподстановку. Относительно ФО - не важно, под каким пользователем работаешь, ФО влияет на всех, просто в конструкторе СКД таблицы, привязанные к ФО доступны для выбора, но уже на стадии настройки связей начинают сказываться значения ФО. Выполнение такой схемы приводит к ошибке, если ФО отключены, а выполнение запроса из схемы пройдёт без проблем.
29. tormozit 6513 13.09.14 12:04 Сейчас в теме
(27) можешь точнее указать, при выполнении какой команды встроенного языка возникает такая ошибка?
31. mbreaker 1379 14.09.14 02:26 Сейчас в теме
(29) tormozit, точнее в ближайшую неделю сказать не смогу по причине отпуска. Легко можешь проверить это поведение, сделав в штатной БП 2.0/3.0 запрос к р/с, участвующих в ЭДО.
32. mbreaker 1379 14.09.14 11:01 Сейчас в теме
(29) tormozit, точнее в ближайшую неделю сказать не смогу по причине отпуска. Легко можешь проверить это поведение, сделав в штатной БП 2.0/3.0 запрос к р/с, участвующих в ЭДО. Если ФО "Использовать ЭДО" выключена - схема при выполнении будет выдавать ошибку "Не могу найти поле ..."
12. Puk2 184 01.09.14 16:46 Сейчас в теме
Трюк №2 можно иногда частично заменять определенным образом построенным запросом, но при этом использовать фишку СКД "Игнорировать NULL". Если в группировке попадается поле со значением NULL, но при этом установлено свойство "Игнорировать NULL", то данная группировка просто не выводится, таким образом получаем "умную" расшифровку по уровню. Плюс по сравнению с трюком №2 заключается в том, что записи будут в естественном порядке, а не так, как "вручную" установлены в группировке с отбором. Хотел бы уточнить, что оба метода жизнеспособны и сам их оба активно применяю.
Так же в качестве трюка СКД можно отметить "левое соединение", которое в плане подсчета итогов не такое "левое", как в запросе. Хотя это правильнее назвать особенностью, а не трюком.
NittenRenegade; wolfsoft; mbreaker; +3 Ответить
13. mbreaker 1379 01.09.14 17:30 Сейчас в теме
(12) Puk2, да, тоже интересный вариант... но с отбором получается чуть более гибче за счет того, что отборами можно регулировать в вариантах отчета, а с "Игнорировать NULL" только на стадии разработки СКД... ну и, честно сказать, я немного недолюбливаю это свойство, т.к. с составными типами пару раз "выстреливало" не так, как рассчитывал (может в версии платформы проблема была, а может особенности СУБД)... но за идею спасибо!
37. Amelk 09.03.15 20:16 Сейчас в теме
(12) Puk2, Спасибо. Очень полезний и не типичний способ
53. XelOla 17 28.09.17 11:32 Сейчас в теме
(12) подскажите пожалуйста
как "свернуть" строки
Прикрепленные файлы:
54. корум 285 28.09.17 11:53 Сейчас в теме
(53)
как "свернуть" строки

не использовать "количество", не?
55. XelOla 17 28.09.17 11:55 Сейчас в теме
56. корум 285 28.09.17 12:05 Сейчас в теме
(55) подробно напишите, что есть "свернуть" строки.

Что нужно добиться?
57. XelOla 17 28.09.17 12:47 Сейчас в теме
58. корум 285 28.09.17 13:19 Сейчас в теме
(57) разобраться с документами, т.к. приход без указания склада, а расход со склада ромашка.
59. XelOla 17 28.09.17 13:41 Сейчас в теме
(58)
нет.
в базе отключен учет МПЗ по складам. Но в документах он присутсвует, его указывают.
Пустое место - это Ввод начальных остатков. там в каждой строке должен указываться склад прихода
Но у нас отключен учет по складам (
можно ли просто - свернуть?
60. корум 285 28.09.17 15:17 Сейчас в теме
(59) убери группировку склад.

и да, для таких вопросов лучше заводить новую тему.
14. Alex1Cnic 131 03.09.14 09:52 Сейчас в теме
Молодца!!!
Очень интересно и ждем продолжений! респкт!
16. mikhailovaew 127 03.09.14 12:25 Сейчас в теме
Отличная статья, полезно, понятно и без снобизма. Пожалуйста, продолжайте!
17. valvit 7 03.09.14 11:48 Сейчас в теме
Спасибо, познавательно и согласен без снобизма!
18. SITR-utyos 1386 03.09.14 20:39 Сейчас в теме
СКД - эх, сколько про неё можно писать... для новичков это очень полезный материал.
Сам в свое время хотел запутить цикл статей по СКД, но нынешняя система мотивации на инфостарт отбила все желание
В результате меня хватило только на http://infostart.ru/public/267055/
Prometey234; Spacer; Yimaida; +3 Ответить
19. mbreaker 1379 03.09.14 21:50 Сейчас в теме
(18) SITR-utyos, хорошая статья, раскрывающая многие недавно вышедшие в платформе новинки...
а что не так с системой мотивации инфостарта? сколько помню тут всегда был немонетизированный рейтинг...
20. mbreaker 1379 04.09.14 09:27 Сейчас в теме
(18) SITR-utyos, хотя припоминаю начисление $m за рейтинговые статьи (>100 звёзд) в момент введения $m... как сейчас дела обстоят - даже не знаю...
Я не отношусь к числу тех, кто стремится заработать на этой площадке... Она мне неинтересна с этой точки зрения, а к рейтингу я лично отношусь, как к оценке признания сообщества моих стараний, а не как ко всем-известно-чего-измерительному инструменту. Хотя даже во втором не вижу ничего противоестественного - человеку свойственны поведенческие "лидерские" сценарии.
24. zqzq 23 10.09.14 09:40 Сейчас в теме
(18) (19)
Кстати, пользуюсь иногда выводом таблицы в одну ячейку (ВычислитьВыражениеСГруппировкойТаблицаЗначений и т.д.). И что обнаружил - в тонком клиенте 8.2.19.68 при попытке расшивровки/открытия система принудительно валится с ошибкой т.к. недоступна ТаблицаЗначений на клиенте. Приходится изащряться - заключать выражение в СоединитьСтроки(), создавать макет для поля и прописывать расшифровку как Массив().
С массивом нет проблем с расшифровкой, но вывод в одну строку не очень красив.

Ещё момент - ВычислитьВыражениеСГруппировкойТаблицаЗначений("А, Б, С", "А") и ВычислитьВыражениеСГруппировкойТаблицаЗначений("С", "А") по опыту дают одинаковый порядок поля "С", но по справке это не очевидно. Альтернативное выражение очень громоздкое:
ПолучитьЧасть(
    Упорядочить(
        ВычислитьВыражениеСГруппировкойТаблицаЗначений(
            "С, А", 
            "А"
        ),
        "А"
    ), 
    "С"
)
Показать
TeMochkiN; extrim-style; +2 Ответить
21. mulla1979 9 06.09.14 11:11 Сейчас в теме
Статья отличная! Автору респект!
22. a1ex4ndr 5 07.09.14 01:11 Сейчас в теме
Отличная статья, плюсанул. Особенно с шапкой-невидимкой пригодилось))))
23. Alex123456 09.09.14 16:27 Сейчас в теме
Хорошая статья. Спасибо.
26. Poplar 57 12.09.14 19:42 Сейчас в теме
Хорошая статья. Прекрасное оформление. В продолжении, если можно, поясните, как "Первые", используемые в конструкторе запроса задать в виде параметра в настройках отчета? Если, конечно это возможно. Если нет, то как иначе выводить первые, чтобы установка их количества была доступна пользователю?
28. mbreaker 1379 13.09.14 11:29 Сейчас в теме
(26) Poplar, в ближайшую неделю не смогу проверить (в отпуске сейчас), но навскидку на ум приходит использование системного поля номер строки в отборе.
30. Poplar 57 13.09.14 22:22 Сейчас в теме
(28) Я так пытался в свое время делать но у меня не получилось. Система отказывалась понимать отбор по системному полю. Выкрутился тем, что заказчикам передал три отчета, каждый из которых на разное число строк (топ продаж 10,20,30 позиций номенклатуры).
33. mbreaker 1379 24.09.14 09:50 Сейчас в теме
(26) Poplar, пока нашёл только один способ ограничения вывода количества строк. При выборе конкретной группировки ("<Детальные записи>" тоже группировка) на закладке "Другие настройки" появляется настройка "Количество записей". В форме отчёта ОФ можно вывести эту настройку программно, в УФ можно определить её, как "пользовательскую настройку", назвать по своему и управлять ею через "Все настройки..."

P.S. К сожалению добиться её вывода в настройках быстрого доступа через штатные средства БСП у меня не получилось.
34. Poplar 57 29.09.14 12:17 Сейчас в теме
Спасибо большое, все работает. Без быстрого доступа обойдусь.
35. mbreaker 1379 30.09.14 10:23 Сейчас в теме
36. FractonKireyev 09.03.15 18:19 Сейчас в теме
Давно работаю с СКД, и вроде-бы уже всё знаю. А вот трюк №2 (с отбором на группировках) для меня оказался полной неожиданностью.
Беру на вооружение.
38. DexterMorgan777 3 13.03.15 09:48 Сейчас в теме
39. LexSeIch 209 16.03.15 04:57 Сейчас в теме
Мир этому дому! Статья отличная и полезная. Радует так же аккуратность оформления иллюстраций. Автору спасибо - ждем продолжения!
40. nata_87 36 25.06.15 12:26 Сейчас в теме
Подскажите пожалуйста как в СКД рассчитать итог по Среднему игнорирую пустые значения, т.е. в отчете 10 строк из них только 3 заполнены, как итоговое среднее вывести по этим трем, так как сейчас он при расчете среднего делит на кол-во строк 10
41. SITR-utyos 1386 30.06.15 18:02 Сейчас в теме
(40) В ресурсе пишешь выражение:
Сумма(ТвоеПоле) / Сумма (Выбор КОГДА ЗначениеЗаполнено(ТвоеПоле) Тогда 1 Иначе 0 Конец)
42. nata_87 36 01.07.15 09:24 Сейчас в теме
43. ITEkb 27.08.15 12:26 Сейчас в теме
Вот спасибо!
Маялся с группировками, шапки рисовал, а оказалось все гораздо проще решается.
44. Aprobator 10.11.16 13:25 Сейчас в теме
хм, а вот такая проблема. Как в схеме СКД обойти проблему с выводом при расшифровке строк с пустым значением ресурса?
Исходные данные:
Структура вывода таблица. Ресурсов несколько, при расшифровке по определенному ресурсу лезут пустые значения. Насколько я понимаю, это из за того, что в данной группировке (из которой делается расшифровка, причем неважно по какому полю) были другие не пустые значения ресурсов.
45. mbreaker 1379 11.11.16 14:19 Сейчас в теме
(44) Aprobator, не совсем понятна задача. Что означает "при расшифровке"? Разворот группировки или drill-down отчет? Или что-то иное?
Можно чуть более развернуто и желательно с визуализацией?
46. alina71 02.12.16 13:50 Сейчас в теме
Не подскажете как решить такую задачу: если взять пример из трюка 1, то чтобы в отчет выводились только контрагенты, у которых "Обороты за период" были больше определенной суммы, ну например 100 тыс? То есть ИЛИ дебет ИЛИ кредит были больше этой суммы? Как я понимаю, если через отбор поставить два условия, они выполняются через "И", т.е. выберутся контрагенты, у которых и дебет и кредит больше 100 тыс.
48. mbreaker 1379 03.12.16 06:41 Сейчас в теме
(46) очень просто: добавить в отбор группу типа "ИЛИ". Через кнопку "Добавить", подменю "группу" или выделить условия, нажать правую кнопку мыши и выбрать "Сгруппировать". Группы между собой также можно группировать, формируя сложные комбинации условий отбора.
47. alina71 02.12.16 14:56 Сейчас в теме
вернее, отбор вообще не выполнится, отчет будет пустой
49. alina71 06.12.16 13:07 Сейчас в теме
Констатин, спасибо большое, сама что-то не догадалась. Все получилось, единственное почему-то пропало сальдо на начало периода((
50. alina71 07.12.16 14:28 Сейчас в теме
Вопрос решен. Поставила отбор не на уровне всего отчета, а на группировке "Контрагенты".
61. Sergoninfostarru 2 18.05.20 22:14 Сейчас в теме
Очень полезная статья. К сожалению, до сих пор нет продолжения ...
62. dctvghbdtn 19.06.20 10:58 Сейчас в теме
Шапака-Невидимка уже не работает? У меня не получается, все сделал как описано.
Оставьте свое сообщение

См. также

Шаблон отчета на СКД (обычные формы) Промо

СКД v8 v8::СКД 1cv8.cf Абонемент ($m)

Улучшенный шаблон отчёта СКД, реализованный на обычных формах. Лаконичный и функциональный, весь необходимый минимум для управления отчётом вынесен на форму отчёта, что избавляет рядовых пользователей от необходимости лезть внутрь настроек отчёта. Форма сделана гибкой и позволяет легко себя адаптировать под Ваши потребности. Ряд элементов формы сделан сворачиваемыми и растягиваемыми.

2 стартмани

14.02.2022    1950    5    Eugen-S    3    

Вывод изображений штрихкодов на СКД

СКД v8::СКД 8.3.14 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

27.04.2022    565    1    SergeyPZU    1    

Отборы СКД на форме УФ

СКД v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Создание отборов из СКД для таблиц значений.

1 стартмани

22.04.2022    1464    0    Chinga050    4    

Редактирование данных в ячейках СКД (простая реализация)

СКД v8 v8::СКД 1cv8.cf Абонемент ($m)

На примере справочника "Номенклатура" рассмотрим, как в отчёте можно редактировать его реквизиты, и изменения мгновенно будут записываться в элемент справочника.

1 стартмани

11.03.2022    3427    2    Flashill    19    

СКД. Использование встроенного макета, разделителя страниц Промо

СКД v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

31.03.2017    20489    20    Vin_Tik    0    

Срез последних N записей, пример на СКД

Запросы СКД v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример получения в СКД последних N записей, т.е. например, получить последние 3 записи по каждой категории.

1 стартмани

09.03.2022    1429    3    user-z99999    9    

Расчет нарастающего итога, дельты и другие варианты в СКД

СКД v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Пример получения в СКД значений: нарастающий итог, дельта, среднее значение, отклонение и т.д.

1 стартмани

07.02.2022    1582    3    user-z99999    0    

Отчет "Документы "Реализации" на каждый день" когда была реализация

СКД v8 КА2 Россия Абонемент ($m)

Пример отчета показывает, как получить какой либо документ на каждую дату в периоде. Если с остатками все более-менее понятно, их можно получить на День и потом связать, то чтобы то же самое проделать с датой документа, требуется привести ее к какому-то единому формату (к началу дня, например).

1 стартмани

27.08.2021    1335    0    Shvapsss    2    

Редактирование данных прямо в отчете СКД (как в Excel). Теперь с пересчетом итогов! Промо

СКД v8::СКД 1cv8.cf Абонемент ($m)

Вам не подходит обычная форма ввода данных Клиент хочет прямо в отчете изменять цифры Тогда этот шаблон поможет вам быстро добавить в ваш отчет СКД механизм редактирования данных

2 стартмани

21.11.2012    48773    660    Visitizer    52    

Программное формирование отчетов в БП 3.0 на примере оборотно-сальдовой ведомости по счету

Адаптация типовых решений СКД v8 v8::БУ v8::СКД БП3.0 Россия БУ Абонемент ($m)

Порой возникает задача получить программно результат отчета на основе СКД в виде табличного документа. В данной статье будет описан один из вариантов реализации данной задачи.

1 стартмани

14.07.2021    3941    13    arman1997    1    

Отчет с настройкой роли поля СКД со свойством период

СКД v8 v8::СКД Платформа 1C v8.2 1cv8.cf УУ Абонемент ($m)

Отчёт демонстрирует правильную настройку роли СКД со свойством «Период», по которой рассчитывается остаток. Этот отчет тестировался на конфигурации Управление торговым предприятием для Казахстана, редакции 2.0.19.2. Может работать на любой конфигурации, если имеется регистр накопления «ТоварыНаСкладах».

1 стартмани

01.04.2021    3655    2    softmaker    0    

Примеры использования функций СКД Массив (Array) и СоединитьСтроки (JoinStrings) в отчётах 1С 8

СКД v8::СКД Платформа 1C v8.2 1cv8.cf Казахстан БУ Абонемент ($m)

Здесь приведено два отчёта, в которых использованы функции СКД Массив (Array) и СоединитьСтроки (JoinStrings). Отчет по ГТД и отчет по продаже номенклатуры, оба тестировались на конфигурации Управление торговым предприятием (УТП) для Казахстана, редакции 2.0.19.2. Также добавлена электронная книга, в которой собраны знания по основам СКД, которые я получил, во время работы и изучения системы компоновки данных.

3 стартмани

15.03.2021    7853    25    softmaker    0    

Авторегистрация обработок заполнения табличных частей и внешних печатных форм в информационной базе + Видео-пример использования шаблона - создание внешней печатной формы самостоятельно + Универсальный отчет СКД (набор отчетов в одном с группировками уров Промо

СКД v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Если Вы станете использовать в Ваших разработках нижеприведенную методику, тогда Вам больше никогда не придется тратить свое время на объяснение пользователю, КАК ему зарегистрировать Вашу разработку в базе (пользователю достаточно только открыть её или перетащить драг-энд-дропом в 1С:Предприятие). И вообще, на мой взгляд данная методика является примером хорошего тона отношений разработчик-клиент

1 стартмани

03.03.2010    36170    443    Borisych    25    

Расшифровка СКД. Фильтр отчета по диапазону чисел. Переопределение обработки расшифровки. Не модальный режим

СКД v8::УФ v8::СКД 8.3.14 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2021    5357    1    denmon88    1    

Простой пример отчета на СКД. Программное формирование, расшифровка, работа с параметрами и отборами

СКД v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

15.10.2020    7333    10    Stivens    10    

Шесть стандартных задач, которые должен уметь решить 1сник. Задача 1 из 6

СКД v8 1cv8.cf Россия Абонемент ($m)

Задача 1. Хитрости СКД

2 стартмани

12.08.2020    3203    6    tango    13    

Использование характеристик в СКД Промо

СКД v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

16.09.2011    70598    732    WaterSmith    80    

Быстрое формирование наборов данных Объект схемы СКД

СКД v8::СКД 1cv8.cf Абонемент ($m)

При разработке отчета, использующего наборы данных Объект, зачастую много времени занимает описание самих наборов в схеме СКД. Если таких наборов несколько или количество полей в них достаточно велико, то задача усложняется. В публикации приводится способ сокращения подобных трудозатрат.

1 стартмани

05.07.2020    9325    6    Алексей Воробьев    16    

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

СКД v8 v8::СКД 1cv8.cf Абонемент ($m)

Вывести все документы за заданный период, используя СКД.

2 стартмани

11.03.2020    7118    16    MaxxiMiliSan    11    

Получение курса валюты за период с помощью СКД

СКД v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

04.02.2020    5880    1    KawaNoNeko    2    

Повторение шапки отчета в начале каждого листа при печати (СКД) + вывод колонтитулов. Промо

СКД v8::СКД 1cv8.cf Россия Абонемент ($m)

Повторение шапки отчета в начале каждого печатного листа при использовании системы компоновки данных (СКД). Пример выводов колонтитулов.

1 стартмани

21.08.2012    63005    344    nalivai-chai    30    

Проверка несуществующих полей в настройках СКД

СКД v8 v8::СКД ERP2 УТ11 КА2 Абонемент ($m)

Обработка находит все поля настроек СКД, которые утратили свою актуальность Подходит для УТ 11, ERP, КА 2.

1 стартмани

20.06.2019    8184    4    MuI_I_Ika    2    

Модуль, реализующий хранение настроек отчетов СКД в типовом регистре "Сохраненные настройки"

СКД v8 v8::СКД КА1 БП2.0 ЗУП2.5 УТ10 БП1.6 Абонемент ($m)

Модуль, обеспечивающий хранение настроек отчетов на СКД в типовом регистре "Сохраненные настройки", присутствующем в конфигурациях УПП 1.2, 1.3, УТ 10.3, БП 2.0 и т.д.

1 стартмани

12.01.2019    9659    2    lunjio    0    

Передача набора данных типа Объект в отчет СКД

СКД v8 v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Пример показывает, каким образом можно передать таблицу значений в отчет СКД (в набор данных объект). Пример работает как на обычных, так и на управляемых формах.

1 стартмани

12.11.2018    44044    10    evgen7938    4    

Шаблон СКД (Универсальный отчет) Промо

СКД v8 1cv8.cf Россия Абонемент ($m)

Может кому понадобится. Нигде не нашел. Шаблон СКД (Универсальный отчет).

1 стартмани

11.05.2012    14194    274    tivanitsky    8    

Примеры программной работы с СКД, а также программного создания управляемой формы

СКД v8 v8::УФ v8::СКД Абонемент ($m)

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

1 стартмани

12.08.2018    9555    29    MaxStrelok    0    

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

СКД v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

22.05.2018    45529    11    SITR-utyos    13    

Альтернатива ОтборуСтрок() с возможностями условий отборов СКД

СКД v8 v8::СКД 1cv8.cf Абонемент ($m)

Типовой ОтборСтрок() использует только условия на равенство. Для таблицы формы, источником которой является "ДеревоЗначений" возможность отбора вообще отсутствует. Но есть возможность использовать всю широту возможностей отборов СКД.

1 стартмани

04.02.2018    9930    9    mszsuz    5    

Расшифровка табличного документа без расширения отчета

СКД v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Быстрая расшифровка в табличном документе вне формы отчета

1 стартмани

29.05.2017    12751    7    smirnov.es    2    

Процессор вывода результата компоновки данных в JSON. И не только...

Внешние источники данных СКД v8 Абонемент ($m)

У каждого разработчика возникают задачи интеграции решений. Основная масса решений призвана вывести данные из «1С:Предприятие 8» в обусловленном формате. Разработчики используют огромную часть своих драгоценных ресурсов на реализацию определенной структуры вывода и необходимого формата. А что если...

1 стартмани

14.02.2017    29294    47    pbazeliuk    33    

Фильтр на таблицу значений системой компоновки данных

СКД v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Часто здесь проскакивает вопрос, а как установить фильтр на таблицу значений в управляемых формах. На самом деле, есть только один способ - залить старую таблицу значений в новую, отфильтровав или отсортировав по каким-либо правилам. Здесь реализуем на компоновке данных.

1 стартмани

14.12.2016    14432    2    igel9780    2    

Полезные процедуры по работе с СКД и табличными документами (часть 2)

СКД v8::СКД 1cv8.cf Абонемент ($m)

Еще несколько универсальных процедур

1 стартмани

27.09.2016    38470    36    json    19    

Полезные процедуры по работе с СКД и табличными документами (часть 1)

СКД v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

03.09.2016    75585    108    json    25    

Расшифровки при программном формировании отчета на СКД

СКД v8 1cv8.cf Абонемент ($m)

Что делать, если не работают расшифровки при программном формировании отчета на СКД? Ответ ниже.

1 стартмани

11.08.2016    33820    24    kotlovD    14    

Использование методов глобального контекста в системе компоновки данных или недокументированные возможности СКД

СКД v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

05.08.2016    46425    28    klinval    41    

Сформировать дерево спецификаций быстро

СКД v8 v8::СКД УПП1 Абонемент ($m)

Обработка строит дерево состава изделия (структура изделия) с помощью СКД.

5 стартмани

30.07.2016    19035    44    SITR-utyos    7    

Разработка отчета СКД с использованием заглушек наборов данных

СКД v8 1cv8.cf Абонемент ($m)

Данный метод универсальный, понятный и простой в реализации. Я сам его постоянно использую при разработке сложных отчетов. Возможно, найдутся разработчики, которые также найдут его полезным для себя

1 стартмани

25.06.2016    20711    10    json    15    

Штамп времени в отчете, написанном с использованием СКД

СКД v8 Абонемент ($m)

Иногда возникает необходимость вывести на форму отчета, который написан на СКД, какие-либо данные: - пользователя, который сформировал отчет; - время, когда был запущен отчет на формирование и т.д.

2 стартмани

25.05.2016    13708    0    wowik    7    

СКД и внешние источники данных. Набор данных — объект

СКД v8 1cv8.cf Абонемент ($m)

О том, как можно работать с СКД, используя набор данных "Объект" (аналог временных таблиц, только передаваемых не напрямую в запрос, а в СКД)

1 стартмани

19.10.2015    73954    35    qapex    13    

Регламентное выполнение внешних обработок с параметрами (при помощи СКД) без изменения конфигурации (на примере УТ 11)

СКД v8::ОУ v8::СКД УТ11 Абонемент ($m)

Что, если нужно по расписанию делать что-то, зависящее от кучи параметров? Например, формировать индивидуальные прайсы и отправлять их (или сохранять на ftp), предварительно записав в excel. Технология будет полезна тем, кто уже имеет готовую сложную обработку, которую нужно заставить выполняться по расписанию.

1 стартмани

08.10.2015    23802    10    Ibrogim    19    

1С 8. Часть 2 - Управляемые формы. СКД: смена типа «набор данных – запрос» на «набор данных – объект» с сохранением полей

СКД v8 1cv8.cf Абонемент ($m)

Продолжение публикации "1С 8. СКД: смена типа «набор данных – запрос» на «набор данных – объект» с сохранением полей" http://infostart.ru/public/405762/ . Теперь напишем обработку под управляемые формы. Мы узнаем как в управляемой форме (под тонкий-клиент и web-клиент) реализовать: Открытие диалога выбора файла с выделением в асинхронную процедуру; Открытие диалога сохранения файла с выделением в асинхронную процедуру; Передача файла с клиента на сервер; Заполнение дерева значений (оперирование с ДанныеФормыДерево, ДанныеФормыКоллекцияЭлементовДерева, ДанныеФормыЭлементДерева); Передача файла с сервера на клиент.

1 стартмани

08.10.2015    16124    3    Luchik    1    

1С 8. СКД: смена типа «набор данных – запрос» на «набор данных – объект» с сохранением полей

СКД v8 1cv8.cf Абонемент ($m)

Возникла у меня необходимость в существующем отчете на СКД, имеющем набор данных - запрос, изменить тип набора данных с запроса на объект - таблицу значений. Но при смене типа набора данных слетели все поля, роли, ресурсы, оформление – в общем, все слетело. Погуглил и нашел способ – редактирование xml- файла схемы компоновки данных в текстовом редакторе. А почему бы не написать обработку для 1С, которая все сделает сама? Предлагаю вместе создать такую обработку. На примере обработки рассмотрим, как в 1С реализовать: Чтение и запись XML, использование СериализаторXDTO; Программное изменение схемы компоновки данных; Рекурсивное построение дерева значений; Изменение вида элемента управления (флажок вместо поля ввода); Работа с файлами диалог открытия, сохранения; Управление видимостью строк/колонок и отдельных ячеек дерева значений.

1 стартмани

06.10.2015    16581    6    Luchik    5    

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

СКД v8 УТ10 Абонемент ($m)

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

1 стартмани

15.09.2015    35090    117    Mortiferus    19    

Сохранение части настроек СКД (структуры) в файл

СКД v8 УТ10 УУ Абонемент ($m)

Это микростатья про частичное сохранение/восстановление настроек СКД в файл.

1 стартмани

25.08.2015    19760    6    Ibrogim    1    

Подсистема вариантов отчетов на СКД (1с 8.2, 8.3. Обычное приложение)

СКД v8 1cv8.cf Абонемент ($m)

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

1 стартмани

24.08.2015    19184    6    Semak    1