Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов

16.08.20

Разработка - Инструментарий разработчика

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

Файлы

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

Наименование Скачано Купить файл
Восстановление ссылочных значений в настройках СКД. Пример отчета
.erf 14,39Kb ver:1.1
1 2 500 руб. Купить

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

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

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

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

Возможны два способа восстановления:

Способ 1.
С использованием вспомогательных Пользовательских полей.

Способ 2.
Только с использованием Параметров с Ограничением доступности.

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

Для указания конкретного Способа используем последний параметр функции УстановитьНастройкиПоУмолчаниюСервер: 1 или 2.
Способ 2 предлагается как предпочтительный, так как требует минимального количества дополнительных манипуляций.

В предложенном подходе Настройки по умолчанию применяются к варианту отчета "Основной".
 

Описание алгоритма применения методики.

Этап I.

  1. В любой Консоли СКД в режиме приложения создаем отчет.
  2. В конструкторе СКД в Параметрах создаем те параметры отчета, которые требуется заполнить ссылочными значениям по умолчанию.
  3. В случае когда используются и Отборы, сюда нужно будет добавить дополнительные параметры с тем же именем поля, которое используется в левой части настройки отбора. 
  4. (Только для Способа 1.) В Настройках на вкладке "Пользовательские поля" создаем специальные поля с наименованиями по формату "ТипПараметра_<имяпараметра>". В выражении детальных записей строкой указываем ссылочный тип параметра, например, "СправочникСсылка.Номенклатура".


Этап II.

  1. Выгружаем СКД в файл xml. (Либо формируем внешний отчет из вашей Консоли, если она это позволяет сделать)
  2. В режиме конфигуратора загружаем из файла схему в макет ОсновнаяСхемаКомпоновкиДанных.
  3. В Форме внешнего отчета, либо в модуле объекта, размещаем блоки дополнительных функций.
 
 Блок 1. Парсинг-постобработка схемы компоновки данных
 
 Блок 2. Загрузка настроек по умолчанию в Компоновщик настроек
 
 Блок 3. Применение настроек по умолчанию к варианту отчета "Основной"
 
Блок 4.  Нестандартная компоновка результата


На этом всё.

Сохраняем внешний отчет.

В пользовательском режиме проверяем правильность применения настроек.

Лайфхак: Блоки 1 и 2  можно разместить в каком-либо общем модуле конфигурации. В этом случае код модуля формы любого отчета, написанного по данной методике, будет выглядеть лаконично (только Блоки 3,4).

И напоследок.

Предлагаемый метод не претендует на универсальность.

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

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

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

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

Номер релиза, на котором тестировалась методика и отчет: 8.3.14.1779.

Успехов в разработке отчетов!

UPD:  Добавлен второй, более предпочтительный, способ восстановления битых ссылок.  Обновлено описание и отчет во вложении.

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

СКД отчеты настройки костыль умолчанию восстановление ссылка GUID УИД система компоновки данных битые

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    58865    314    156    

285

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

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

16500 руб.

02.09.2020    242356    1323    419    

1116

Инструментарий разработчика Нейросети Платные (руб)

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

15250 руб.

25.08.2025    38508    78    19    

91

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22570 руб.

06.10.2023    34581    87    35    

111

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

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

17000 руб.

10.11.2023    23329    84    42    

98

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

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

9500 руб.

17.05.2024    48493    166    63    

203

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    5675    2    2    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2101 30.04.20 20:59 Сейчас в теме
Отлично. Единственно, что мне непонятно, так это зачем создавать отчеты в консоли. Можно же сразу внешний отчет создать. И отлаживать удобнее, и с переносом настроек мороки нет. Имхо, конечно.
2. zaxarovsky 111 01.05.20 08:51 Сейчас в теме
(1) Создавать отчеты в консоли имеет ряд выгод, которые зависят от конкретной задачи.
Из преймуществ могу отметить эти:
1. Разработка "налету", когда сразу в режиме приложения можно видеть сформированный результат, выгружать его в другие инструменты - консоль запросов, например, генерировать из консоли внешний готовый отчет, быстро изменять Настройки СКД, предоставлять пользователю отчеты прямо в консоли (с отдельным пользовательским интерфейсом). И еще ряд других преймуществ.
Существет довольно много популярных Консолей СКД, и тому есть причины.
2. То, чему посвящена эта статья - Краткое описание жирным шрифтом - возможность задавать значения параметров с помощью ссылок в режиме приложения, а не НайтиПоКоду, НайтиПоНаименованию и прочего.

И кстати, это момент интересный: неужели здесь нет людей, которые используют в практике различные Консоли СКД? Отзовётесь?
axsebur; 04021976; +2 Ответить
3. ixijixi 2101 03.05.20 22:04 Сейчас в теме
(2) Вот Вы какой консолью пользуетесь? Тоже хочу попробовать, вдруг зайдет)
blindcat2006; +1 Ответить
4. zaxarovsky 111 04.05.20 22:09 Сейчас в теме
(3) Сейчас, так как на текущем месте работы установлена подсистема "Инструменты разработчика" (от Tormzit), использую консоль из этой подсистемы. Там она называется "Консоль компоновок данных (ИР)".
Ранее активно использовал "Универсальная консоль отчетов (UCR)" отсюда https://infostart.ru/public/16782/
Для отправки сообщения требуется регистрация/авторизация