Отладка СКД

Публикация № 1600909 08.02.22

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

На митапе «Практика применения СКД» выступил ведущий разработчик 1С аутсорсинговой компании Programming Store Павел Шемякин. Павел рассказал, как бороться с нежелательной «оптимизацией» запроса СКД, какие инструменты для отладки СКД можно использовать – в чем их отличия и преимущества, и показал, как работать с консолью компоновки данных – на какие элементы структуры XML-файла макета СКД обращать внимание при поиске причин неправильной работы отчета.

Меня зовут Шемякин Павел, я работаю ведущим разработчиком в компании Programming Store (сокращенно PROSTO). Мы занимаемся удаленной разработкой на 1С, Axapta и на Python. В докладе я хочу продолжить тему отладки СКД, начатую в цикле наших статей.

Почему я выбрал тему отладки СКД.

  • В последнее время я стал часто замечать на форумах вопрос: «Почему мой запрос в консоли запросов работает корректно, а в СКД – нет?» На самом деле, такие вопросы были всегда, но недавно я писал статью на эту тему, искал информацию, и оказалось, что об этом очень многие спрашивают.

  • Вторая причина, почему я выбрал эту тему, связана с отсутствием информации по этому вопросу – информации мало или она разбросана по разным источникам.

  • И третья банальная причина – коллеги по работе попросили меня написать инструкцию по работе с консолью компоновки данных. Поэтому я решил в докладе совместить приятное с полезным.

Что такое процесс отладки в СКД

Процесс отладки я понимаю так: у нас есть «черный ящик», на вход которому мы подаем один набор, а на выходе получаем другой набор, который нам нужно сравнить с эталоном – здесь у меня на слайде показано три таких «черных ящика».

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

Но иногда, когда мы пытаемся проверить наш отчет в консоли запросов, он возвращает совсем другие данные, чем отчет СКД с аналогичным запросом. Это происходит из-за того, что мы пытаемся отладить другой «черный ящик» – запрос, который выполняется платформой, и смотрим на результат запроса, который получается на выходе. А в случае отладки в СКД нам нужно проверять правильность передаваемого запроса в зависимости от различных вариантов отчета.

Конечно, в общем смысле это не совсем правильная формулировка, потому что в итоге мы все равно должны сравнить с эталоном получаемый документ или какую-то другую коллекцию, например, таблицу значений – по идее, это нам тоже нужно отлаживать. Но это – отдельная тема для разговора.

Я в этом докладе буду делать акцент именно на эти две стрелки:

  • запрос, который подается на вход СКД;

  • и измененный запрос, который получается на выходе.

Когда нужно отлаживать СКД. На самом деле, редко когда возникает необходимость отладки именно СКД – поэтому и мало информации на эту тему. Я и сам 90% отчетов проверяю в консоли запросов – не проверяю правильность запроса, а проверяю только данные, которые возвращает отчет.

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

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

 

Управление «оптимизацией» запроса в СКД с помощью расширения языка запросов для СКД

Почему СКД «портит» запросы?

Когда мы в первый раз сталкиваемся с этой проблемой, нам кажется, что ошибка именно в платформе, и СКД сама «портит» запросы. На самом деле, это не так.

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

  • При этом есть оптимизация ожидаемая – например, когда в запросе пользователь устанавливает какой-то отбор, то этот отбор включается в запрос – это для нас понятно и ожидаемо.

  • И есть оптимизация неожиданная – например, когда из запроса выкидываются поля или даже таблицы. Программисты, которые в первый раз с этим сталкиваются, не ожидают такого подвоха от СКД.

  • И самый плохой вариант неожиданной оптимизации – это неуправляемая неожиданная оптимизация. В этом случае запрос не просто получается некорректный, но и мы никакими настройками не можем заставить СКД выдать правильный запрос. В этом случае приходится искать какие-то другие обходные пути.

  • Есть также управляемая оптимизация – ее можно назвать скорее ожидаемой. В этом случае вы производите какие-то специальные настройки и поэтому ожидаете получить корректный результат. Хотя есть также и неожиданная управляемая оптимизация – она обычно связана с ошибками в платформе.

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

Одним из элементов управления изменением запросов СКД является расширение языка запросов для СКД. Прочитать о нем можно:

  • во-первых, во встроенной справке, которая вызывается по F1 – как в конфигураторе, так и в режиме 1С:Предприятие;

  • в цикле наших статей – там мы рассматриваем работу с запросами и более подробно рассматриваем различные варианты, как выглядит конструкция расширения языка запросов для СКД;

  • на диске ИТС.

 

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

На слайде можно увидеть три примера, как выглядит эта конструкция в фигурных скобках:

  • в первом примере показано, как заданы необязательные условия;

  • во втором – необязательная таблица;

  • и в третьем примере – необязательный параметр, или правильнее это называть «связь параметров компоновки данных с параметрами виртуальной таблицы».

Эти управляющие конструкции можно редактировать в конструкторе запросов СКД на закладке «Компоновка данных». На слайде показано, как в конструкторе запроса на вкладке «Условия» закладки «Компоновка данных» будут выглядеть элементы, соответствующие необязательным условиям, описанным в примере на предыдущем слайде.

 

Варианты управления оптимизацией

С помощью расширения языка запросов можно указать для СКД:

  • является ли какая-то таблица в запросе или условие обязательными;

  • можно управлять местом применения отбора;

  • можно управлять связью параметров в СКД с параметрами виртуальных таблиц в запросе.

Еще к элементам управляемой оптимизации относится флажок «Обязательное» в диалоге редактирования колонки «Роль» для поля набора данных.

 

 

Если этот флажок установлен, то из запроса это поле исключаться не будет.

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

Недавно я узнал еще один способ решения этой проблемы, и он гораздо проще. Чтобы поле одной из временных таблиц пакета не исключалось из запроса, нужно оставить его в секции «СГРУППИРОВАТЬ», но убрать из секции «ВЫБРАТЬ». В этом случае поле из секции «СГРУППИРОВАТЬ» не исключается, а именно это часто является одной из частых проблем некорректной оптимизации.

 

 

Вот два текста запроса – здесь у нас формируется промежуточная временная таблица, и из этой временной таблицы производится выборка. Как можно заметить, во втором запросе пакета у нас выбираются только Контрагент и СуммаДокумента. Поле ЗаказПокупателя не выбирается. И СКД это поле выбросит из секции ВЫБРАТЬ, и, что самое плохое, она выбросит его из секции СГРУППИРОВАТЬ.

Рабочий запрос должен выглядеть так – мы убираем это поле из секции ВЫБРАТЬ, но оставляем его в секции СГРУППИРОВАТЬ. В этом случае оно СКД выкидываться не будет. Это такой интересный лайфхак, который нигде, естественно, в документации не рассматривается.

Расскажу еще про два важных флажка, которые могут влиять на изменение текста запроса:

  • флажок «Автозаполнение» в описании набора данных – он обычно используется для заполнения полей в наборе данных, но, как оказывается, влияет не только на заполнение полей в наборе, но и также на изменение текста запроса;

  • флажок «Использовать группировки если возможно», который появился в платформе 8.3.14 – про него можно прочитать в статье из нашего цикла или в статье проекта

Что мы можем проверить при отладке? И что нам нужно проверить?

  • Нам нужно проверить правильность измененного запроса

  • Правильность передаваемых параметров в запрос

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

 

Инструменты для отладки в СКД

Каким же инструментом можно отлаживать СКД? Такой инструмент называется «Консоль компоновки данных».

  • Основным отличием консоли компоновки данных от консоли запросов, в которой мы все привыкли отлаживать запросы, является то, что в ней мы можем увидеть итоговый запрос, который отправляется платформе для выполнения.

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

Какими возможностями обладает консоль компоновки данных?

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

  • В такой консоли можно отладить все варианты отчета.

  • Можно заполнить пользовательские настройки, которые консоль может взять прямо из схемы.

  • В каких-то консолях можно вызвать конструктор компоновки данных и «на лету» внести какие-то изменения в схему – проверить, как они работают.

  • Также в некоторых консолях есть дополнительные фишки – например, просмотр данных временных таблиц, сравнение исходного и измененного текстов запросов.

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

 

Консоль компоновки данных с сайта ИТС

 

 

Первая консоль – это «родная» консоль системы компоновки данных от фирмы «1С».

  • Я упоминал ее в самом начале доклада, она расположена на диске ИТС, в общем доступе.

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

  • Вообще-то она жутко неудобная – текст запроса в ней смотреть неудобно, как и все остальное тоже.

  • Зато в ней можно смотреть тексты всех наборов данных.

  • А самое главное – только в ней можно смотреть связи между наборами данных, хотя это бывает нужно очень редко.

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

 

Управляемая консоль запросов

Следующая консоль, которой я пользовался – это управляемая консоль запросов. Про нее подробно рассказал Евгений Люлюк в своем докладе.

  • По интерфейсу она гораздо удобнее.

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

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

 

Консоль с перехватом запросов

 

Следующая консоль – это консоль с перехватом запросов. Ее можно скачать из публикации //infostart.ru/public/1128758/.

  • В ней есть удобная возможность перехватить у открытого отчета текст запроса и значения параметров. Мы открываем отчет, нажимаем кнопку «Перехватить отчет», и эта консоль берет настройки компоновщика, берет реальный текст запроса, показывает, с какими параметрами он выполняется. Можно также посмотреть данные временных таблиц.

  • Это простая, удобная консоль, но в ней гораздо меньше функций – нельзя посмотреть тексты запросов нескольких наборов данных, нельзя работать с конструктором компоновки данных.

 

Сравнение инструментов для отладки СКД

На этом слайде я сделал сравнение трех рассмотренных консолей. Хочу повторить, что это сравнение актуально на апрель 2020 года – может быть, что-то здесь поменялось. Как можно видеть, больше всего плюсов здесь в «Управляемой консоли запросов».

 

Инструкция по работе с консолью компоновки данных

 

Дальше я переключусь в конфигуратор и покажу основной сценарий по работе с консолью фирмы «1С», к которой я привык.

 

 

Вот есть такой простой пример:

  • здесь мы выбираем данные из регистра сведений «Цены» по определенному выбранному виду цен;

  • также к этой таблице мы присоединяем остатки из регистра накопления «Остатки»;

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

Для работы схемы с консолью фирмы 1С нам нужно сохранить схему компоновки в файл.

 

 

Дальше мы переключаемся в режим «Предприятие» и открываем консоль:

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

  • далее нам нужно добавить пользовательские настройки, если они есть.

 

 

Пользовательские настройки автоматически подтягиваются из схемы, и мы указываем здесь значения параметров – устанавливаем «Вид цен = Оптовая».

 

 

Сформируем отчет – с теми выбранными полями, которые включены в пользовательских настройках по умолчанию. У нас формируется такая табличка.

 

 

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

 

 

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

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

 

 

Теперь внесем изменения в выбранные поля – остаток в отчет выводить не будем.

 

 

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

 

 

Теперь таблица запроса была исключена, поскольку остаток мы не вывели.

Также здесь указываются значения параметров – видно, что значение параметра ВидЦен – ссылка на справочник.

 

Дополнительные материалы

 

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

 

Вопросы

 

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

Если у нас есть поле «Остаток», и мы это поле настройками из запроса исключаем, то потом соединение не используется, естественно, это скажется положительно на производительности. Точно так же, как и любой отбор, который пользователь выберет в запросе – этот отбор будет перенесен в текст запроса, и понятно, что запрос будет работать быстрее.

Это я назвал «оптимизацией», но это оптимизация не в терминах оптимизации производительности, это оптимизация, помогающая программисту 1С. Установка каких-то отборов, исключение лишних таблиц, исключение лишних полей. Это не оптимизация производительности.

Я хотел сказать, что какой-то глубокой оптимизации, которая кардинально меняет текст запроса – СКД такого не делает.

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

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

Можно не сравнивать, а просто смотреть глазами, что получилось на выходе, но сравнить удобнее.

Как сделать отбор по полям из разных наборов данных? Например, «Набор1.Цена = 0» и «Набор2.Остаток = 0».

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

Поясните подробнее проблему, которую вызывает галочка «Автозаполнение»

Подробнее о проблеме, которую вызывает галочка «Автозаполнение» можно прочитать в цикле наших статей на Инфостарте. Там 50 страниц текста А4, я не могу подробно это рассказать.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "Практика применения СКД".

Больше статей можно прочитать здесь.


 

*************

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 6572 08.02.22 14:48 Сейчас в теме
Ссылку на видео "Отладка СКД в ИР" прошу заменить на громкую версию https://www.youtube.com/watch?v=-NJJP79TccI
Redokov; fancy; +2 Ответить
2. anosin 30 11.02.22 13:11 Сейчас в теме
как то подписался на этот канал, много интересного про внутренности СКД https://www.youtube.com/c/%D0%90%D1%83%D1%82%D1%81%D0%BE%D1%80%D1%81%D0%B8%D0%BD­%D0%B31%D1%81%D0%A0%D1%84%D1%8A/videos

чтото давно не было от них новых видео
Оставьте свое сообщение

См. также

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка) Промо

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

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    141202    3275    Evg-Lylyk    792    

В помощь начинающим 1С-программистам: СКД. Отчет с разбивкой по периодам (год, месяц) и детализацией по документам

СКД v8 v8::СКД 1cv8.cf Россия Бесплатно (free)

В помощь начинающим программистам. Такой информативный отчет мы создадим с помощью Системы компоновки данных. Чтобы научиться создавать и более сложные отчеты, рекомендую к прочтению книгу Е.Ю. Хрусталевой "Разработка сложных отчетов в 1С: Предприятие. Система Компоновки Данных".

18.07.2022    1384    Pproksima    1    

Хитрости СКД. Часть 3

СКД Универсальные функции v8 v8::СКД 1cv8.cf Бесплатно (free)

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

28.05.2022    4293    milkers    11    

КУ! или Нарезка графика продолжается

СКД v8 v8::СКД Россия Бесплатно (free)

Продолжение публикации https://infostart.ru/public/1639182/. Как справиться с неудачным отображением концов графика. Проверено в версии 8.3.13.1644.

23.04.2022    524    AnatolPopov    0    

Как просто запомнить алгоритм программного вывода в СКД Промо

СКД v8 v8::СКД Бесплатно (free)

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

01.09.2017    56464    unichkin    19    

Нарезка графика ломтями

СКД v8::СКД Россия Бесплатно (free)

Как в СКД простыми средствами улучшить отображение графика, которому слишком тесно на шкале. Проверено в версии 8.3.13.1644.

09.04.2022    699    AnatolPopov    0    

Убираем параметры из отбора СКД

Универсальные функции СКД v8 v8::СКД Бесплатно (free)

Заметка о некоторых технических нюансах параметров данных и отборов СКД.

17.02.2022    3383    Yashazz    28    

Программная работа и компоненты СКД

СКД v8::СКД Бесплатно (free)

На митапе «Практика применения СКД» выступил архитектор Digital Business Петр Базелюк. Он рассказал о том, как работать с СКД программно, и как, используя общедоступную библиотеку FoxyLink, создать свой процессор вывода результата СКД напрямую в формат JSON или в CSV.

04.02.2022    3207    pbazeliuk    3    

Полезности применения СКД Промо

СКД v8::УФ v8::СКД УТ10 Россия Бесплатно (free)

Нюансы при работе из СКД на программном уровне.

11.04.2012    53370    logarifm    42    

Реализация отборов на форме с помощью СКД

СКД v8 v8::СКД 1cv8.cf Бесплатно (free)

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

28.12.2021    6231    quazare    6    

Как указать время в периоде типового отчета (СтандартныйПериод, СКД) в системах класса WMS, MES, SCADA, АСУ ТП на 1С, построить отчет за период с временем?

СКД v8 1cv8.cf Бесплатно (free)

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

13.12.2021    1917    SizovE    0    

Отбор/фильтр в отчетах/СКД/обработках 1C: БП, УТ, ERP, Кронос: WMS по файлу Excel, текстовому файлу или списку текстовых строк (номер документа, артикул, ИНН, QR-код, штрих-код, наименование)

СКД v8 v8::УФ 1cv8.cf Бесплатно (free)

Как построить отчет Анализ продаж или Остатки товаров с отбором/фильтром по списку кодов товаров/артикулов или ИНН покупателей из Эксель файла? Покажем, какой код нужно добавить в конфигурацию 1С (в том числе нетиповую), чтобы в любом отчете/отборе СКД/обработке можно было заполнять отбор по excel файлу, текстовому файлу или просто по списку строк - удобно и быстро.

23.11.2021    2058    SizovE    3    

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

СКД v8::СКД 1cv8.cf Бесплатно (free)

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

29.01.2014    97480    anig99    26    

Варианты применения СКД вне отчетов в отраслевых конфигурациях

СКД v8::СКД Бесплатно (free)

Директор и ведущий разработчик компании «Арт Порт» Максим Артеменко выступил на митапе, посвященном практике применения СКД. Максим рассказал о вариантах применения механизма настроек СКД для решения нестандартных задач – визуального оформления, сегментирования данных и автоматического заполнения примечаний к документам.

18.11.2021    3001    drmaxart    0    

Кейсы решения задач на СКД

СКД v8 v8::СКД Бесплатно (free)

Разработчик 1С в компании Neti Александр Крынецкий выступил на Infostart Meetup, посвященном практике работы с СКД. Александр поделился с коллегами кейсами по решению сложных задач при работе с СКД.

08.11.2021    5000    echo77    7    

Грабли на СКД

СКД v8 v8::СКД Россия Бесплатно (free)

Наиболее частые проблемы, с которыми сталкиваются программисты 1С при разработке отчетов на СКД.

02.11.2021    7613    echo77    17    

СКД. Вставка разрыва страницы Промо

СКД v8::СКД 1cv8.cf Россия Бесплатно (free)

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

29.10.2011    58277    stoptime    58    

СКД: 5 советов, как сделать лучше

СКД v8 v8::СКД 8.3.14 Бесплатно (free)

Несколько примеров решения задач с использованием разных подходов

27.10.2021    8286    Neti    19    

Программное создание отчета на СКД с расшифровкой (обычные формы)

СКД v8::СКД 1cv8.cf Бесплатно (free)

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

04.10.2021    1780    Neti    4    

Программное открытие отчета СКД с параметрами и отбором

СКД v8 v8::УФ v8::СКД Бесплатно (free)

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

07.08.2021    14825    Eugen-S    22    

Создаем отчет с заданной периодичностью на СКД Промо

СКД v8::СКД 1cv8.cf Россия Бесплатно (free)

Учимся создавать отчет с заданной периодичностью с использованием СКД.

16.04.2012    83355    Lyns_owner    38    

Объект "Схема запроса" и расширения языка запросов СКД

СКД v8 v8::Запросы Россия Бесплатно (free)

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

18.07.2021    2942    mysm    14    

СКД: скрываем нужные группы (блоки) по требованию пользователя

СКД v8::СКД 1cv8.cf Бесплатно (free)

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

14.07.2021    4856    olja-ljaaa    7    

Изменение расшифровки макета СКД до компоновки

СКД v8 v8::СКД Бесплатно (free)

Это не про работу с данными расшифровки. Это про изменение расшифровок полей ДО того, как СКД выполнилась. Быстрый способ сделать нужные расшифровки.

12.07.2021    3166    Yashazz    6    

Чтоб в СКД по таблице значений был порядок!

СКД v8::СКД Бесплатно (free)

Сортировка СКД и источник - таблица значений. Заметка.

28.06.2021    2073    Yashazz    0    

Учебный пример программного формирования схемы компоновки данных: Универсальный отчет по регистрам накопления

СКД v8 Бесплатно (free)

Разберём учебную задачу создания Универсального отчета по оборотным регистрам накопления конфигурации.

14.06.2021    4487    maraton1185    4    

Формирование отчета СКД с расшифровкой из обработки

СКД v8 v8::СКД 1cv8.cf Бесплатно (free)

Формирование отчета СКД из обработки немного отличается от формирования из отчета.

27.04.2021    5215    John_d    14    

Нестандартное использование СКД

СКД v8::СКД Бесплатно (free)

Программист 1С в компании «БКС-технологии» Алексей Шиянов в ходе Infostart Meetup Novosibirsk продемонстрировал необычный способ использования СКД и сравнил результаты заполнения движений документа через СКД с классическим подходом к заполнению движений через запросы и циклы.

14.04.2021    4881    user1127305    11    

Эффективные приемы разработки

Математика и алгоритмы Рефакторинг и качество кода СКД v8 Бесплатно (free)

На Infostart Meetup Ekaterinburg.Online выступил Сергей Наумов – руководитель центра аналитики и консалтинга WiseAdvice. Сергей поделился с коллегами приемами разработки, которые помогут избежать потенциальных проблем при реализации сложных проектов.

07.04.2021    4285    SergeyN    13    

Полезные примеры СКД, ч.2

СКД v8 v8::СКД Бесплатно (free)

Еще несколько примеров решения задач в СКД.

06.04.2021    14744    Neti    9    

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

СКД v8 v8::СКД 1cv8.cf Бесплатно (free)

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

02.04.2021    1889    parshachello    2    

Полезные примеры СКД, ч.1

СКД v8::СКД Бесплатно (free)

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021    18793    Neti    21    

Отбор на форму (документа, справочника, обработки) с помощью СКД

СКД v8 v8::СКД 1cv8.cf Бесплатно (free)

Добавляем удобный отбор на форму документа с помощью СКД

09.02.2021    8251    John_d    15    

Перенос/копирование и установка отбора/фильтра/периода при интерактивном переключении или смене варианта отчета/СКД в БСП 3.1 (1C ERP, УТ, БП, ...)

СКД v8 1cv8.cf Бесплатно (free)

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

18.01.2021    2446    SizovE    4    

Установка нескольких фильтров/отбора СКД в табличной форме, хранение в табличной части для отправки push/email уведомлений (ОтборКомпоновкиДанных, КомпоновщикНастроек, ДинамическийСписок)

СКД v8 v8::УФ v8::СКД Бесплатно (free)

Рассмотрим, как организовать установку фильтров/отбора СКД (динамического списка) на push/email уведомления в подсистеме EDIbot (WebApp) для 1С в табличной части "События уведомлений".

02.11.2020    1938    SizovE    0    

Пользовательское поле СКД одной процедурой

СКД v8 Бесплатно (free)

Быстрое создание пользовательского поля "выражение" одной процедурой

05.08.2020    2690    Yashazz    0    

Роль "Остатки" поля набора данных СКД в отчете и в расшифровке

СКД v8::СКД 1cv8.cf Бесплатно (free)

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

24.05.2020    9567    kasper076    18    

Макет оформления в отчете с несколькими СКД

СКД v8::СКД Россия Бесплатно (free)

Как заставить работать макет оформления в отчёте с несколькими СКД.

14.05.2020    5714    vendim    2    

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

СКД v8 v8::Запросы v8::СКД 1cv8.cf Бесплатно (free)

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

29.04.2020    15656    the1    48    

Ограничения полей, или как обмануть СКД?

СКД v8 v8::СКД 1cv8.cf Бесплатно (free)

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    21549    SeiOkami    41    

Работа с запросами в 1С СКД. Отладка СКД

СКД v8::Запросы v8::СКД Россия Бесплатно (free)

В предыдущем разделе мы изучали с вами особенности работы с запросами в СКД. Для изучения (отладки) работы различных схем компоновки данных я использовал консоль компоновки данных.

15.04.2020    5990    ProgrammingStore    3    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3

СКД v8::Запросы v8::СКД Россия Бесплатно (free)

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

13.04.2020    10514    ProgrammingStore    4    

СКД: Прозрачная обработка результата

СКД v8::СКД 1cv8.cf Бесплатно (free)

В статье дан ответ на вопрос о том, как "прозрачно" обработать результат компоновки (да хотя бы картинки вставить после того, как отчет сформирован).

13.04.2020    6833    starik-2005    17    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2

СКД v8::Запросы v8::СКД Россия Бесплатно (free)

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

12.04.2020    8557    ProgrammingStore    11    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1

СКД v8::Запросы v8::СКД 1cv8.cf Россия Бесплатно (free)

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

11.04.2020    14537    ProgrammingStore    9    

Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов

СКД v8::Запросы v8::СКД Россия Бесплатно (free)

Хотя эта статья называется «Работа с запросами в 1С СКД», нельзя не упомянуть про язык выражений СКД. Да – у системы компоновки данных есть свой язык! Это не язык платформы 1С, это не язык запросов. Это еще один язык, который используется 1С в СКД для обработки полученного набора (ов) данных.

11.04.2020    13869    ProgrammingStore    25