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

16.08.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Восстановление ссылочных значений в настройках СКД. Пример отчета
.erf 14,39Kb ver:1.1
1
1 Скачать (1 SM) Купить за 1 850 руб.

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

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

Способ 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 УИД система компоновки данных битые

См. также

SALE! %

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    161230    892    399    

872

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

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

8400 руб.

20.08.2024    8548    65    29    

76

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

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

22200 руб.

06.10.2023    15672    38    8    

73

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    23835    70    45    

119

SALE! %

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

15000 10000 руб.

10.11.2023    10653    38    27    

63

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    188475    1142    0    

913

SALE! %

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 15000 руб.

07.10.2021    17549    6    32    

42

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7828    8    35    

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

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