Программная установка колонок типа дополнительных реквизитов в динамическом списке - Как?
Задача выглядит так: Есть справочник в любой типовой конфигурации, обычно в нем есть табличная часть «ДополнительныеРеквизиты» (Свойство, Значение, ТекстоваяСтрока).
Управление списком колонок в пользовательском режиме осуществляется в режиме ИзменитьФорму на поле «Ссылка». Там доступны колонки с именами «Свойство».
Заказчик не хочет лазить и менять галочки в «ИзменитьФорму», а хочет несколько кнопок по которым будет установлен заданный набор свойств.
Под отладчиком и в Инете я вообще не нашел:
1. Где хранится этот список колонок и как им можно управлять?
2. Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется?
Управление списком колонок в пользовательском режиме осуществляется в режиме ИзменитьФорму на поле «Ссылка». Там доступны колонки с именами «Свойство».
Заказчик не хочет лазить и менять галочки в «ИзменитьФорму», а хочет несколько кнопок по которым будет установлен заданный набор свойств.
Под отладчиком и в Инете я вообще не нашел:
1. Где хранится этот список колонок и как им можно управлять?
2. Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется?
По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- 1С:Бухгалтерия государственного учреждения 8
- [Общий модуль] Динамическое формирование интерфейса
- Интеграция с маркетплейсами МегаМаркет, Wildberries, OZON, ЯндексМаркет, VK, Avito, Леруа Мерлен, Aliexpress, КУПЕР, Dostavista
- Как передать Таблицу Значений в Динамический Список?
Найденные решения
(16) Делается на сервере
Product Group - Имя вашего доп реквизита, специально привел пример наименование реквизита с пробелом
Добавление:
Удаление
Product Group - Имя вашего доп реквизита, специально привел пример наименование реквизита с пробелом
Добавление:
НоваяКолонкаТаблицы = Элементы.Добавить("СписокПродактГрупа", Тип("ПолеФормы"), Элементы.Список);
НоваяКолонкаТаблицы.ПутьКДанным = "Список.Ссылка.[Product Group]";
Удаление
Элементы.Удалить("СписокПродактГрупа");
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Где хранится этот список колонок и как им можно управлять? - доступные поля в системе компановки данных ДС
Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется? - потому что доп. реквизиты это План видов характеристик. Вся магия там происходит на вкладке Характеристики
Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется? - потому что доп. реквизиты это План видов характеристик. Вся магия там происходит на вкладке Характеристики
(4) Синтаксис помощник тебе в студию) На клиенте ты уже ничего не создашь, и не посмотришь.
ПолучитьИсполняемуюСхемуКомпоновкиДанных (GetPerformingDataCompositionScheme)
Синтаксис:
ПолучитьИсполняемуюСхемуКомпоновкиДанных()
Возвращаемое значение:
Тип: СхемаКомпоновкиДанных.
Описание:
Возвращает схему компоновки, соответствующую данным, которые отображаются в динамическом списке, связанном с таблицей.
Доступность:
Сервер.
Там разберешься
ПолучитьИсполняемуюСхемуКомпоновкиДанных (GetPerformingDataCompositionScheme)
Синтаксис:
ПолучитьИсполняемуюСхемуКомпоновкиДанных()
Возвращаемое значение:
Тип: СхемаКомпоновкиДанных.
Описание:
Возвращает схему компоновки, соответствующую данным, которые отображаются в динамическом списке, связанном с таблицей.
Доступность:
Сервер.
Там разберешься
(10) А я тебе соврал))) случайно правда. Не СКД нужна, а настройки
Синтаксис:
ПолучитьИсполняемыеНастройкиКомпоновкиДанных()
Возвращаемое значение:
Тип: НастройкиКомпоновкиДанных.
Описание:
Возвращает настройки компоновки, соответствующие данным, которые отображаются в динамическом списке, связанном с таблицей.
При этом учитывается видимость колонок и установленное значение поиска.
Доступность:
Сервер.
/////////////////////
НастройкиКомпоновкиДанных (DataCompositionSettings)
Свойства:
Выбор (Selection)
ДополнительныеСвойства (AdditionalProperties)
ДоступныеОбъекты (AvailableObjects)
ДоступныеПоляВыбора (SelectionAvailableFields)
ДоступныеПоляГруппировок (GroupAvailableFields)
ДоступныеПоляДополнительныхОтборов
Вот тут
Синтаксис:
ПолучитьИсполняемыеНастройкиКомпоновкиДанных()
Возвращаемое значение:
Тип: НастройкиКомпоновкиДанных.
Описание:
Возвращает настройки компоновки, соответствующие данным, которые отображаются в динамическом списке, связанном с таблицей.
При этом учитывается видимость колонок и установленное значение поиска.
Доступность:
Сервер.
/////////////////////
НастройкиКомпоновкиДанных (DataCompositionSettings)
Свойства:
Выбор (Selection)
ДополнительныеСвойства (AdditionalProperties)
ДоступныеОбъекты (AvailableObjects)
ДоступныеПоляВыбора (SelectionAvailableFields)
ДоступныеПоляГруппировок (GroupAvailableFields)
ДоступныеПоляДополнительныхОтборов
Вот тут
(11)
Конкретно это конфа УНФ, справочник Лиды.
Куда этот метод тулить?
Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных() {(1)}: Метод объекта не обнаружен (ПолучитьИсполняемыеНастройкиКомпоновкиДанных)
ЭтотОбъект.ПолучитьИсполняемыеНастройкиКомпоновкиДанных() {(1)}: Метод объекта не обнаружен (ПолучитьИсполняемыеНастройкиКомпоновкиДанных)
Просмотр в лоб
Вот по этому путю (на сервере):
Список.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы
Заголовок Поле
"Вариант завершения" ВариантЗавершения
"Дата создания" ДатаСоздания
"Есть файлы" ЕстьФайлы
"Заметки" Комментарий
"Заметки завершения работы" ЗаметкиЗавершенияРаботы
"Имя предопределенных данных" ИмяПредопределенныхДанных
"Источник привлечения" ИсточникПривлечения
"Код" Код
"Контрагент" Контрагент
"Наименование" Наименование
"Основные сведения" ОсновныеСведения
"Ответственный" Ответственный
"Пометка удаления" ПометкаУдаления
"Предопределенный" Предопределенный
"Причина неуспешного завершения работы" ПричинаНеуспешногоЗавершенияРаботы
"Результат" Результат
"Родитель" Родитель
"Состояние лида" СостояниеЛида
"Ссылка" Ссылка
"Тег" Теги
"Это группа" ЭтоГруппа
"Юридическое название" ЮридическоеНазвание
Нет в этом списке Свойств ДополнительныхРеквизитов ...
Конкретно это конфа УНФ, справочник Лиды.
Куда этот метод тулить?
Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных() {(1)}: Метод объекта не обнаружен (ПолучитьИсполняемыеНастройкиКомпоновкиДанных)
ЭтотОбъект.ПолучитьИсполняемыеНастройкиКомпоновкиДанных() {(1)}: Метод объекта не обнаружен (ПолучитьИсполняемыеНастройкиКомпоновкиДанных)
Просмотр в лоб
Вот по этому путю (на сервере):
Список.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы
Заголовок Поле
"Вариант завершения" ВариантЗавершения
"Дата создания" ДатаСоздания
"Есть файлы" ЕстьФайлы
"Заметки" Комментарий
"Заметки завершения работы" ЗаметкиЗавершенияРаботы
"Имя предопределенных данных" ИмяПредопределенныхДанных
"Источник привлечения" ИсточникПривлечения
"Код" Код
"Контрагент" Контрагент
"Наименование" Наименование
"Основные сведения" ОсновныеСведения
"Ответственный" Ответственный
"Пометка удаления" ПометкаУдаления
"Предопределенный" Предопределенный
"Причина неуспешного завершения работы" ПричинаНеуспешногоЗавершенияРаботы
"Результат" Результат
"Родитель" Родитель
"Состояние лида" СостояниеЛида
"Ссылка" Ссылка
"Тег" Теги
"Это группа" ЭтоГруппа
"Юридическое название" ЮридическоеНазвание
Нет в этом списке Свойств ДополнительныхРеквизитов ...
(1)
(1)
Нужна более точная информация по конфигурации и по платформе. а вообще Доп реквизиты это функционал БСП (мне так кажется, давно не заглядывал туда...) ;)
1. Где хранится этот список колонок и как им можно управлять?
Скорее всего в ПВХ ДополнительныеРеквизитыИСведения
(1)
Почему табличная часть «ДополнительныеРеквизиты» попала в список колонок, а например «КонтактнаяИнформация» нет. Как это определяется?
потому что это разные сущности
Нужна более точная информация по конфигурации и по платформе. а вообще Доп реквизиты это функционал БСП (мне так кажется, давно не заглядывал туда...) ;)
Зайдите в ваш справочник в конфигураторе, на вкладке "данные", внизу есть кнопка Характеристики. Там будет только доп.реквизиты. По этому и нет контактной информации, в ссылке, через изменить форму. Соответственно менять можно там, но я не советую. Лучше опишите более детально задачу и вам подскажут простое и рациональное решение
Активизирую общение вознаграждением 5 $m
Вопрос остался:
Где хранится этот список колонок "Дополнительных реквизитов" и как им можно управлять?
Желательно предложить код, после исполнения которого будет в список колонок добавлена колонка с именем свойства, например "Регионы". А другой кнопкой удаляется эта колонка и добавляется "ЕстьНДС"
Вопрос остался:
Где хранится этот список колонок "Дополнительных реквизитов" и как им можно управлять?
Желательно предложить код, после исполнения которого будет в список колонок добавлена колонка с именем свойства, например "Регионы". А другой кнопкой удаляется эта колонка и добавляется "ЕстьНДС"
(16) Делается на сервере
Product Group - Имя вашего доп реквизита, специально привел пример наименование реквизита с пробелом
Добавление:
Удаление
Product Group - Имя вашего доп реквизита, специально привел пример наименование реквизита с пробелом
Добавление:
НоваяКолонкаТаблицы = Элементы.Добавить("СписокПродактГрупа", Тип("ПолеФормы"), Элементы.Список);
НоваяКолонкаТаблицы.ПутьКДанным = "Список.Ссылка.[Product Group]";
Удаление
Элементы.Удалить("СписокПродактГрупа");
(20)
Спасибо - это решение, правда удалить, чуть не коректно. Правильный код выкладываю:
&НаСервере
Процедура РГ_ДобавитьРегионыПослеНаСервере()
НоваяКолонкаТаблицы = Элементы.Добавить("СписокСсылкаРегионы", Тип("ПолеФормы"), Элементы.Список);
НоваяКолонкаТаблицы.ПутьКДанным = "Список.Ссылка.[Регионы (Лиды)]";
КонецПроцедуры
&НаКлиенте
Процедура РГ_ДобавитьРегионыПосле(Команда)
РГ_ДобавитьРегионыПослеНаСервере();
КонецПроцедуры
&НаСервере
Процедура РГ_УдалитьРегиоыПослеНаСервере()
Элементы.Удалить(Элементы.Найти("СписокСсылкаРегионы"));
КонецПроцедуры
&НаКлиенте
Процедура РГ_УдалитьРегиоыПосле(Команда)
РГ_УдалитьРегиоыПослеНаСервере();
КонецПроцедуры
Элементы.Удалить("СписокПродактГрупа");
Спасибо - это решение, правда удалить, чуть не коректно. Правильный код выкладываю:
&НаСервере
Процедура РГ_ДобавитьРегионыПослеНаСервере()
НоваяКолонкаТаблицы = Элементы.Добавить("СписокСсылкаРегионы", Тип("ПолеФормы"), Элементы.Список);
НоваяКолонкаТаблицы.ПутьКДанным = "Список.Ссылка.[Регионы (Лиды)]";
КонецПроцедуры
&НаКлиенте
Процедура РГ_ДобавитьРегионыПосле(Команда)
РГ_ДобавитьРегионыПослеНаСервере();
КонецПроцедуры
&НаСервере
Процедура РГ_УдалитьРегиоыПослеНаСервере()
Элементы.Удалить(Элементы.Найти("СписокСсылкаРегионы"));
КонецПроцедуры
&НаКлиенте
Процедура РГ_УдалитьРегиоыПосле(Команда)
РГ_УдалитьРегиоыПослеНаСервере();
КонецПроцедуры
(20) Формально все работает, но 1С использует другой механизм для вывода дополнительных реквизитов.
Поэтому при новом входе в форму эти колонки пропадают.
В прикрепленных файлах показываю как выглядят под отладчиком и в форме настройке эти поля.
Отдельно проверил под отладчиком - добавление и удаление колонок дополнительных реквизитов (стандартным способом) не меняет количество элементов формы (ВсеЭлементыФормы).
Есть соображения где хранится эта информация?
Иначе придется городить костыли для сохранения информации о своих колонках, какие были введены.
Поэтому при новом входе в форму эти колонки пропадают.
В прикрепленных файлах показываю как выглядят под отладчиком и в форме настройке эти поля.
Отдельно проверил под отладчиком - добавление и удаление колонок дополнительных реквизитов (стандартным способом) не меняет количество элементов формы (ВсеЭлементыФормы).
Есть соображения где хранится эта информация?
Иначе придется городить костыли для сохранения информации о своих колонках, какие были введены.
Прикрепленные файлы:



(22) Я уверен на 99%, что до этой информации добраться нельзя. Поэтому я бы готовился городить огород.
Хранится это должно в свойствах Хранилище настроек данных форм или Хранилище пользовательских настроек динамических списков
Я бегло посмотрел, что там храниться, но нужного для решения вашей задачи не нашел
Хранится это должно в свойствах Хранилище настроек данных форм или Хранилище пользовательских настроек динамических списков
Я бегло посмотрел, что там храниться, но нужного для решения вашей задачи не нашел
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот