Поле в виде реквизита номенклатуры
-

Поле в виде реквизита номенклатуры

0
6141
28.09.2022 Дмитрий Доронов

Содержание:

1.       Настройка полей в 1С

2.       Кейс с внешним отчетом СКД 


1.    Настройка полей в 1С


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


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


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



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

 

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



Перевыбор поля системой компоновки данных

 

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


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



Система компоновки данных не видит поле

    

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


2.    Кейс с внешним отчетом СКД


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


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


Если прописать в путь через точку с любым существующим полем запроса, то данное поле будет представлено как реквизит этого поля. Пропишем следующий путь «Номенклатура.Цена» и посмотрим, что получилось.



Поле в виде реквизита номенклатуры

 

Как видите изначальное поле «Цена» теперь с крестиком, потому что система компоновки данных уже не видит его, а если раскрыть ссылочное поле «Номенклатура», то среди его многочисленных реквизитов появилась Цена. Перетаскиваем реквизит в Выбранные поля.



Реквизит номенклатуры в выбранных полях

 

Запускаем отчет, проверяем результат.



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

 

Теперь цена отображается в одной ячейке с товаром. Задача кейса выполнена.

Мы рассмотрели свойства пути и формы настроек поля для решения реальных задач.


Специалист компании «Кодерлайн»

Дмитрий Доронов

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.