Доброго дня, коллеги!
Умеете ли вы работать с вкладкой Характеристики конструктора запросов в СКД? Если нет, то следующий разбор вопроса для вас. Тренер на простом примере продемонстрирует, как в отчете на СКД легко добавить возможность использования дополнительных свойств объектов. При этом ни один ПВХ задействован не будет))
Вопрос
Пример: есть документы, где физ. лицам производят определенные начисления. У каждого физ. лица есть свой внутренний идентификатор (ИД), который не является реквизитом справочника физ. лица. Значение ИД хранится в регистре сведений “ИД физ. лиц”. Нужно в отчет вывести данные о начислениях документов за период и отдельной колонкой этот ИД. Не понимаю, как на вкладке Характеристики конструктора запроса в СКД задать эту связь.
Ответ
Добрый день!
Создаем пустую базу, добавляем в конфигураторе справочник Физлица и независимый непериодический регистр сведений ИдентификаторыФизлиц следующей структуры:
В пользовательском режиме создаем элемент справочника, заполняем идентификатор в регистре:
В конструкторе схемы компоновки на закладке Характеристики выполняем следующие настройки:
Обратите внимание, что ни одного ПВХ в базе нет.
Настройки выполняем именно таким образом:
- В колонке Тип указываем, для какого объекта настраиваем характеристики – это справочник Физлица.
- Поскольку в базе нет объекта (таблицы), где хранится перечень используемых видов характеристик (например, ПВХ), то в качестве источника видов характеристик используем запрос. В качестве ключа и имени вида характеристики указываем строку “Идентификатор физлица”. Значит, в пользовательском режиме, когда развернем список вложенных полей для физлица, будет доступно новое поле “Идентификатор физлица”.
- Поскольку в регистре сведений ИдентификаторыФизлиц нет поля, где хранится вид характеристики, тоже используем запрос, в котором строкой пропишем имя вида характеристики – “Идентификатор физлица”.
Поле объекта – это измерение регистра сведений “Физлицо”, так как именно в нем содержится поле нужного типа (п. 1), для которого получаем значения свойства.
Поле вида – это ключ вида характеристики (строка “Идентификатор физлица”), так как в регистре нет отдельного поля для хранения вида характеристики. Здесь должно быть указано то же значение, что и в “Поле ключа”. Так связывается вид характеристики и значение характеристики.
Поле значения – это ресурс регистра сведений “ИдентификаторФизлица”, поскольку именно в нем хранится значение характеристики – сам идентификатор.
После таких настроек в отчете можно вывести вложенное поле “Идентификатор физлица”:
Профессиональная разработка отчетов в 1С 8.3 на СКД.
Добрый день
По скрину это на порядок сложнее, чем просто написать это в теле запроса.
А можно пример заполнения этой вкладки, когда надо считать значение дополнительного реквизита (табличная часть объекта), причем свойство “пользовательское”, не предопределённое ?
Добрый день!
Это пример, чтобы разобраться, как работает механизм платформы. В простейшем случае для одного свойства запрос может оказаться удобнее. Но если нужно предоставить пользователю возможность задавать значения произвольных свойств в режиме “1С:Предприятие”, то механизм СКД будет удобнее.
Для Вашего примера настройка может быть такая:
Еще подробнее можно подсмотреть в типовых конфигурациях на базе БСП, в них встроена подсистема “Свойства” (“Дополнительные реквизиты и сведения”).
Подскажите, почему после ввода текста запроса для Видов характеристик список выбора полей ключа и имени не заполняется выбранными полями?
Заранее благодарю за помощь.
Добрый день!
Попробуйте еще раз отредактировать текст запроса – добавить/удалить пробел, например. Или в конструкторе запроса переключиться на другую закладку, затем снова вернуться к настройке характеристик. Списки выбора должны заполниться.
Благодарю за ответ. Но первый способ (добавить/удалить пробел) не помог. И второй способ: если вы имеете ввиду удалить настройку характеристики (потому что с недозаполненной характеристикой перейти на другую закладку не получится), переключиться на другую закладку, потом вернуться и настроить заново, то тоже не помогает..
Тогда остается только писать разработчикам платформы на v8@1c.ru с подробным описанием проблемы.
Или как вариант попробовать на другой версии платформы.
пробовала на версии 8.23 и 8.24 – поведение идентично. Благодарю за совет, напишу разработчикам.
Делюсь ответом разработчиков платформы: “Ранее была зарегистрирована подобная ошибка: Номер – 60004496, находится на рассмотрении”. Ошибка зарегистрирована еще в декабре 2022г.
Спасибо за информацию!