Вывод характеристик и их значений в динамический список

22.02.19

Разработка - Механизмы платформы 1С

Если в запросе динамического списка используется конструкция {ХАРАКТЕРИСТИКИ ...}, то как вывести на форму колонки с характеристиками?

Файлы

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

Наименование Скачано Купить файл
Характеристики в динамическом списке.dt
.dt 45,14Kb
16 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
Поиск по форуму ответов не дал. Пришлось разбираться самому.
Динамический список строится по произвольному запросу:
ВЫБРАТЬ
	НашиОбъекты.Ссылка КАК Ссылка
ИЗ
	Справочник.НашиОбъекты КАК НашиОбъекты
{ХАРАКТЕРИСТИКИ
	ТИП(Справочник.НашиОбъекты)
	ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваНашегоОбъекта
	ПОЛЕКЛЮЧА Ссылка
	ПОЛЕИМЕНИ Наименование
	ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
	ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствНашегоОбъекта
	ПОЛЕОБЪЕКТА НашОбъект
	ПОЛЕВИДА Свойство
	ПОЛЕЗНАЧЕНИЯ ЗначениеСвойства }

В свойствах реквизита формы мы видим только одно поле:

 

Его же мы видим и в элементах формы

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

Список.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")).Поле = Новый ПолеКомпоновкиДанных("Ссылка." + Свойство);
Элементы.Добавить("Список" + Свойство, Тип("ПолеФормы"), Элементы.Список).ПутьКДанным = "Список.Ссылка." + Свойство;

В результате в динамическом списке отображаются колонки со значениями свойств.

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

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

характеристики запрос

См. также

Механизмы платформы 1С Программист Бесплатно (free)

Разберем 15 мифов о работе платформы «1С:Предприятие 8» – как распространенных, так и малоизвестных. Начнем с классики: «Код, написанный в одну строку, работает быстрее, чем многострочный». Так ли это на самом деле?

16.07.2025    32723    TitanLuchs    108    

149

Механизмы платформы 1С Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Про ООП в 1С и о том, как сделать свой код более кратким и выразительным при помощи использования текучего интерфейса (fluent interface).

03.02.2025    17858    bayselonarrend    127    

68

Механизмы платформы 1С Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье подробно рассматривается работа с JSON в XDTO в 1С:Предприятие. Вы узнаете, как сериализовать и десериализовать объекты XDTO в JSON, интегрировать 1С с веб-сервисами и API, а также корректно обрабатывать данные при обмене. Разбираются особенности работы с коллекциями, использование функций восстановления и частые ошибки при работе с JSON и XDTO.

30.01.2025    22460    user2122906    9    

66

Механизмы платформы 1С Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 Бесплатно (free)

Этот материал познакомит вас с механизмом XDTO (XML Data Transfer Objects) в 1С и научит эффективно использовать его возможности. Мы разберёмся, как работать с XML-схемами, создавать модели данных, манипулировать объектами XDTO, а также сериализовать и десериализовать их в XML. Вы узнаете, как использовать XDTO для интеграции с внешними системами, избегать типичных ошибок и оптимизировать код. К концу вы будете уверенно применять XDTO для решения сложных задач обмена данными и автоматизации процессов.

17.01.2025    39374    user2122906    12    

62

Механизмы платформы 1С WEB-интеграция Программист 1С:Предприятие 8 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    33483    dsdred    106    

149

Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    29270    bayselonarrend    22    

177

Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    15776    dsdred    22    

87
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. w.r. 655 22.02.19 20:19 Сейчас в теме
Нет конфигуратора под рукой - в динамическом списке СписокСвойств это не то, что было создано программно на форме?
2. kasper076 116 23.02.19 09:15 Сейчас в теме
(1) Если имеется в виду элемент формы "СписокСвойств" со скрина, то этот элемент присутствует в демо базе.
Если же речь идёт об элементах формы отображающих данные динамического списка, то им нужно указать ПутьКДанным. А т.к. данных свойств у реквизита формы нет, то это эти элементы просто не отображаются в режиме предприятия.
3. w.r. 655 25.02.19 12:00 Сейчас в теме
(2) Тогда это недоработки платформы. Возможно добавлять характеристики в поля формы появится в будущих версиях платформы
4. Alexwarsis 18.04.22 13:45 Сейчас в теме
А Свойство это наименование элемента? в коде. я имею элемента плана вида характеристик
5. taramaz 63 11.10.23 05:00 Сейчас в теме
Всё круто. Работает. Но вот что, если в имени характеристики есть пробел. Тогда работать перестаёт. Уже всю головушку сломал.

В этом случае имя реквизита "СписокСвойство 3"
Путь к данным "Список.Ссылка.Свойство 3"
и всё ломается.

Недопустимое значение параметра (параметр номер '1')
8. PavelKolobkov 22.07.24 20:15 Сейчас в теме
(5) в ВыбранныеПоля добавить Новый ПолеКомпоновкиДанных ("Ссылка.[Наименование с пробелами]"), для элемента ПутьКДанным указать
"Список.Ссылка.[Наименование с пробелами]"
6. taramaz 63 11.10.23 05:05 Сейчас в теме
Иду в сторону переименования Наименования планаВидовХарактеристик в "Идентификатор" и добавления нового реквизита "НаименованиеПолное" например.
И при записи нового элемента ПВХ генерим идентификатор без пробелов, скобок и прочего.
Что-то похожее в формулах в ЗУПе
7. taramaz 63 11.10.23 05:19 Сейчас в теме
Сделал так


//Есть такая ТЗ у меня там
ТЗ = ТЗСоответствияРеквизитов.Выгрузить();	
ТЗ.Свернуть("Характеристика,НаименованиеПолное");
	
Для каждого СтрТЗ из ТЗ цикл
	Попытка
	Список.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")).Поле = Новый ПолеКомпоновкиДанных("Ссылка." + СтрТЗ.Характеристика);
	НовЭлемент = Элементы.Добавить("Список" + СтрТЗ.Характеристика, Тип("ПолеФормы"), Элементы.Список);
	НовЭлемент.ПутьКДанным = "Список.Ссылка." + СтрТЗ.Характеристика;
	НовЭлемент.Заголовок = СтрТЗ.НаименованиеПолное;
	
	Исключение
	КонецПопытки;
	
	
КонецЦикла;
Показать


А наименование характеристики "Характеристика"+Код
9. DrZombi 310 28.11.25 05:53 Сейчас в теме
Всем привет, статье не хватает деталей, чуть чуть :)

В качестве названия Свойства или (характеристики) надо использовать представления характеристики.
Пример, мы имеем "[Дата загрузки (Учебные заведения)]"
где "Дата загрузки" - это имя характеристики в пользовательском режиме.
"Учебные заведения" - это название справочника.

"не спрашивайте почему так. Так работает 1С" :)

Примерчик:

Свойство_ДатаЗагрузки = "[Дата загрузки (Учебные заведения)]";
	Список.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")).Поле = Новый ПолеКомпоновкиДанных("Ссылка." + Свойство_ДатаЗагрузки);

ИмяЭлемента = "СОГ_СписокСсылкаДатаЗагрузкиУчебногоЗаведения";
ПутьКДанным = "Список.Ссылка."+Свойство_ДатаЗагрузки;

НовЭлемент = Элементы.Добавить(ИмяЭлемента , Тип("ПолеФормы"), Элементы.Список);
НовЭлемент.ПутьКДанным = ПутьКДанным ;


Показать
Для отправки сообщения требуется регистрация/авторизация