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

1. serg61 63 23.06.20 11:46 Сейчас в теме
Задача выглядит так: Есть справочник в любой типовой конфигурации, обычно в нем есть табличная часть «ДополнительныеРеквизиты» (Свойство, Значение, ТекстоваяСтрока).
Управление списком колонок в пользовательском режиме осуществляется в режиме ИзменитьФорму на поле «Ссылка». Там доступны колонки с именами «Свойство».
Заказчик не хочет лазить и менять галочки в «ИзменитьФорму», а хочет несколько кнопок по которым будет установлен заданный набор свойств.
Под отладчиком и в Инете я вообще не нашел:
1. Где хранится этот список колонок и как им можно управлять?
2. Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
20. coollerinc 196 23.06.20 15:47 Сейчас в теме +5 $m
(16) Делается на сервере
Product Group - Имя вашего доп реквизита, специально привел пример наименование реквизита с пробелом

Добавление:


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


Удаление
	Элементы.Удалить("СписокПродактГрупа");
Unknown31; pahich; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 12 23.06.20 12:03 Сейчас в теме
(1) Где хранится этот список колонок и как им можно управлять? - доступные поля в системе компановки данных ДС
Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется? - потому что доп. реквизиты это План видов характеристик. Вся магия там происходит на вкладке Характеристики
lefthander; +1 Ответить
4. serg61 63 23.06.20 12:08 Сейчас в теме
(2)под отладчиком я просмотрел все доступные поля в системе компоновки данных не нашел. Где надо смотреть на клиенте или сервере? Смотрел на клиенте.
Путь к данным в студию ...
5. lefthander 23.06.20 12:11 Сейчас в теме
(4)жесть...конечно на сервере... откуда на клиенте ПВХ? ;)
7. lefthander 23.06.20 12:13 Сейчас в теме
(4)
Где надо смотреть на клиенте или сервере? Смотрел на клиенте.
Вот это горе... даже не специалист ;)
8. dandykry 12 23.06.20 12:15 Сейчас в теме
(4) Синтаксис помощник тебе в студию) На клиенте ты уже ничего не создашь, и не посмотришь.

ПолучитьИсполняемуюСхемуКомпоновкиДанных (GetPerformingDataCompositionScheme)
Синтаксис:
ПолучитьИсполняемуюСхемуКомпоновкиДанных()
Возвращаемое значение:
Тип: СхемаКомпоновкиДанных.
Описание:
Возвращает схему компоновки, соответствующую данным, которые отображаются в динамическом списке, связанном с таблицей.
Доступность:
Сервер.

Там разберешься
10. lefthander 23.06.20 12:17 Сейчас в теме
(8)
Там разберешься
вау... этим все еще только больше запутается...;)
11. dandykry 12 23.06.20 12:18 Сейчас в теме
(10) А я тебе соврал))) случайно правда. Не СКД нужна, а настройки

Синтаксис:
ПолучитьИсполняемыеНастройкиКомпоновкиДанных()
Возвращаемое значение:
Тип: НастройкиКомпоновкиДанных.
Описание:
Возвращает настройки компоновки, соответствующие данным, которые отображаются в динамическом списке, связанном с таблицей.
При этом учитывается видимость колонок и установленное значение поиска.
Доступность:
Сервер.
/////////////////////

НастройкиКомпоновкиДанных (DataCompositionSettings)
Свойства:
Выбор (Selection)
ДополнительныеСвойства (AdditionalProperties)
ДоступныеОбъекты (AvailableObjects)
ДоступныеПоляВыбора (SelectionAvailableFields)
ДоступныеПоляГруппировок (GroupAvailableFields)
ДоступныеПоляДополнительныхОтборов


Вот тут
12. lefthander 23.06.20 12:23 Сейчас в теме
(11)Да мне это вообще не нужно... ;)
13. serg61 63 23.06.20 12:50 Сейчас в теме
(11)
Конкретно это конфа УНФ, справочник Лиды.

Куда этот метод тулить?
Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных() {(1)}: Метод объекта не обнаружен (ПолучитьИсполняемыеНастройкиКомпоновкиДанных)
ЭтотОбъект.ПолучитьИсполняемыеНастройкиКомпоновкиДанных() {(1)}: Метод объекта не обнаружен (ПолучитьИсполняемыеНастройкиКомпоновкиДанных)

Просмотр в лоб
Вот по этому путю (на сервере):
Список.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы

Заголовок Поле
"Вариант завершения" ВариантЗавершения
"Дата создания" ДатаСоздания
"Есть файлы" ЕстьФайлы
"Заметки" Комментарий
"Заметки завершения работы" ЗаметкиЗавершенияРаботы
"Имя предопределенных данных" ИмяПредопределенныхДанных
"Источник привлечения" ИсточникПривлечения
"Код" Код
"Контрагент" Контрагент
"Наименование" Наименование
"Основные сведения" ОсновныеСведения
"Ответственный" Ответственный
"Пометка удаления" ПометкаУдаления
"Предопределенный" Предопределенный
"Причина неуспешного завершения работы" ПричинаНеуспешногоЗавершенияРаботы
"Результат" Результат
"Родитель" Родитель
"Состояние лида" СостояниеЛида
"Ссылка" Ссылка
"Тег" Теги
"Это группа" ЭтоГруппа
"Юридическое название" ЮридическоеНазвание

Нет в этом списке Свойств ДополнительныхРеквизитов ...
19. dandykry 12 23.06.20 14:58 Сейчас в теме
(13)
Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных()
Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных()
3. lefthander 23.06.20 12:07 Сейчас в теме
(1)
1. Где хранится этот список колонок и как им можно управлять?
Скорее всего в ПВХ ДополнительныеРеквизитыИСведения
(1)
Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется?
потому что это разные сущности

Нужна более точная информация по конфигурации и по платформе. а вообще Доп реквизиты это функционал БСП (мне так кажется, давно не заглядывал туда...) ;)
6. serg61 63 23.06.20 12:12 Сейчас в теме
(3)(Горе специалист...) Любая конфа БП 3.0, УНФ 1.6, и т.д. Например справочник Контрагенты
9. lefthander 23.06.20 12:16 Сейчас в теме
(6)
Например справочник Контрагенты
ну и посмотрите какой путь к данным у реквизита Свойство...
ЗЫ с какого боку здесь система компоновки данных? ;)
18. noprogrammer 239 23.06.20 14:54 Сейчас в теме
14. coollerinc 196 23.06.20 12:56 Сейчас в теме
Зайдите в ваш справочник в конфигураторе, на вкладке "данные", внизу есть кнопка Характеристики. Там будет только доп.реквизиты. По этому и нет контактной информации, в ссылке, через изменить форму. Соответственно менять можно там, но я не советую. Лучше опишите более детально задачу и вам подскажут простое и рациональное решение
15. serg61 63 23.06.20 13:11 Сейчас в теме
(14) Спасибо по вопросу 2. разобрался, но к сожалению это не основной вопрос.
16. serg61 63 23.06.20 14:07 Сейчас в теме
Активизирую общение вознаграждением 5 $m
Вопрос остался:
Где хранится этот список колонок "Дополнительных реквизитов" и как им можно управлять?
Желательно предложить код, после исполнения которого будет в список колонок добавлена колонка с именем свойства, например "Регионы". А другой кнопкой удаляется эта колонка и добавляется "ЕстьНДС"
17. Sashares 33 23.06.20 14:16 Сейчас в теме
(16)
Где хранится этот список колонок "Дополнительных реквизитов" и как им можно управлять?

План видов характеристик ДополнительныеРеквизитыИСведения.
20. coollerinc 196 23.06.20 15:47 Сейчас в теме +5 $m
(16) Делается на сервере
Product Group - Имя вашего доп реквизита, специально привел пример наименование реквизита с пробелом

Добавление:


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


Удаление
	Элементы.Удалить("СписокПродактГрупа");
Unknown31; pahich; +2 Ответить
21. serg61 63 23.06.20 16:10 Сейчас в теме
(20)
Элементы.Удалить("СписокПродактГрупа");


Спасибо - это решение, правда удалить, чуть не коректно. Правильный код выкладываю:

&НаСервере
Процедура РГ_ДобавитьРегионыПослеНаСервере()
НоваяКолонкаТаблицы = Элементы.Добавить("СписокСсылкаРегионы", Тип("ПолеФормы"), Элементы.Список);
НоваяКолонкаТаблицы.ПутьКДанным = "Список.Ссылка.[Регионы (Лиды)]";
КонецПроцедуры

&НаКлиенте
Процедура РГ_ДобавитьРегионыПосле(Команда)
РГ_ДобавитьРегионыПослеНаСервере();
КонецПроцедуры

&НаСервере
Процедура РГ_УдалитьРегиоыПослеНаСервере()
Элементы.Удалить(Элементы.Найти("СписокСсылкаРегионы"));
КонецПроцедуры

&НаКлиенте
Процедура РГ_УдалитьРегиоыПосле(Команда)
РГ_УдалитьРегиоыПослеНаСервере();
КонецПроцедуры
22. serg61 63 26.06.20 13:07 Сейчас в теме
(20) Формально все работает, но 1С использует другой механизм для вывода дополнительных реквизитов.
Поэтому при новом входе в форму эти колонки пропадают.
В прикрепленных файлах показываю как выглядят под отладчиком и в форме настройке эти поля.
Отдельно проверил под отладчиком - добавление и удаление колонок дополнительных реквизитов (стандартным способом) не меняет количество элементов формы (ВсеЭлементыФормы).
Есть соображения где хранится эта информация?
Иначе придется городить костыли для сохранения информации о своих колонках, какие были введены.
Прикрепленные файлы:
23. coollerinc 196 29.06.20 11:00 Сейчас в теме
(22) Я уверен на 99%, что до этой информации добраться нельзя. Поэтому я бы готовился городить огород.
Хранится это должно в свойствах Хранилище настроек данных форм или Хранилище пользовательских настроек динамических списков

Я бегло посмотрел, что там храниться, но нужного для решения вашей задачи не нашел
24. shmidt034 13.03.25 10:49 Сейчас в теме
Апну тему) В чем может быть затык. Решаю аналогичную задачу, но с документом. Ругается на ПутьКДанным - Ошибка при установке значения атрибута контекста (ПутьКДанным) Недопустимое значение. Характеристики у документа прописаны. Со справочниками работает, с документами нет
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот