Содержание:
1. Настройка полей в 1С
Довольно часто на различных проектах требуется какое-либо поле трансформировать в данные другого поля.
В данной статье разберем свойства поля «Путь» в настройке полей в 1С СКД и какую пользу можно извлечь из его свойств. Путь, это адрес, который система формирует в доступных пользовательских полях СКД. По умолчанию путем является поле, полученное системой из запроса, но мы можем этот путь переопределять.
Например, мы можем просто переименовать путь, и в настройках он изменится, однако следует быть осторожнее с изменением пути, так как система компоновки данных по нему ищет поле.
Переименование пользовательского поля в СКД
После переименования в доступных полях поле изменилось, но в выбранных полях теперь Система компоновки данных его не видит, потому что поменялся путь и его теперь требуется перевыбрать.
Перевыбор поля системой компоновки данных
Если обратно поле восстановить, то этот красный крестик пропадет. Это можно использовать, если, подавая на вход выборку с определенными полями будут отображаться только эти поля. Например, если через функциональные опции менять связи, под разными пользователями будем получать остатки из разных регистров. Бухгалтеру – по регистру бухгалтерии, менеджеру- по регистру остатков.
Второе свойство поля таблицы, это возможность создавать папки. Если в Пути через точку Прописать вот так: УправленческиеОстатки.ВНаличииОстатокТовара, то в доступных полях образуется одноименная папка, а в выбранных полях система компоновки данных опять «потеряла» наше поле. Это можно использовать при работе с несколькими наборами данных СКД, поля которых одинаковы, а переименовать их возможности нет, такое часто встречается в расчетных регистрах.
Система компоновки данных не видит поле
Третье интересное свойство пути, это возможность представить одно поле в виде реквизита другого.
2. Кейс с внешним отчетом СКД
Для этого отработаем следующий кейс. Заказчик поставил нам задачу, создать внешний отчет СКД, в котором цена номенклатуры будет выводиться в одной ячейке с наименованием. Любой реквизит номенклатуры по умолчанию выводится с ней в одной ячейке и сложностей в этом случае никаких не возникает, но цена не является реквизитом номенклатуры, а находится в отдельном регистре сведений Цены номенклатуры. Согласно свойству реквизита у нас должно быть однозначное соответствие между товаром и ценой, поэтому нужно обратить внимание на важный момент – в запросе не должно быть дублей. Если дубли все- таки будут, система не выдаст никаких ошибок, потому что данный момент Система компоновки данных не проверяет, но результат может получиться некорректный.
Теперь, чтобы представить поле в виде реквизита номенклатуры, осталось просто изменить путь.
Если прописать в путь через точку с любым существующим полем запроса, то данное поле будет представлено как реквизит этого поля. Пропишем следующий путь «Номенклатура.Цена» и посмотрим, что получилось.
Поле в виде реквизита номенклатуры
Как видите изначальное поле «Цена» теперь с крестиком, потому что система компоновки данных уже не видит его, а если раскрыть ссылочное поле «Номенклатура», то среди его многочисленных реквизитов появилась Цена. Перетаскиваем реквизит в Выбранные поля.
Реквизит номенклатуры в выбранных полях
Запускаем отчет, проверяем результат.
Проверка результата в отчете системы компоновки данных
Теперь цена отображается в одной ячейке с товаром. Задача кейса выполнена.
Мы рассмотрели свойства пути и формы настроек поля для решения реальных задач.
Специалист компании «Кодерлайн»
Дмитрий Доронов