1. Создание на форме дополнительных реквизитов в 1С 8.3 и их функции
Механизм дополнительных реквизитов в 1С 8.3 позволяет пользователю самостоятельно добавлять реквизиты к объектам, не меняя при этом конфигурации. После добавления и настройки реквизит отобразится на форме, пользователь сможет заполнить его и значения будут сохраняться в базе.
Вывести реквизиты на форму можно динамически, при ее открытии. Если смотреть отладчиком, то видно, что после процедур ПриСозданииНаСервере и ПриОткрытии дополнительных реквизитов в 1С 8.3 еще нет. Появятся они, когда активизируется закладка «Дополнительно». При создании на форме, реквизитам присваиваются длинные, страшные, ни о чем не говорящие имена. Например:
Имена значений дополнительных реквизитов на форме
Из-за этого возникают сложности с программным обращением к дополнительным реквизитам в 1С 8.3.
Дополнительные реквизиты на форме создаются типовой процедурой УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме:
Создание дополнительных реквизитов на форме
Посмотрим отладчиком, как выглядит форма с созданными на ней дополнительными реквизитами для программного обращения:
Форма с созданными на ней дополнительными реквизитами в 1С 8.3
2. Установка значения дополнительного реквизита в 1С 8.3 с помощью обращения к нему по имени
Чтобы иметь возможность программного обращения к созданным дополнительным реквизитам, нужно знать их имена на форме. Помочь разработчику узнать имена дополнительных реквизитов может специальный реквизит Свойства_ОписаниеДополнительныхРеквизитов. Его автоматически создает система, когда используется механизм дополнительных реквизитов. Тип этого служебного реквизита ДанныеФормыКоллекция. Он содержит список всех дополнительных реквизитов объекта и все сведения о них. Теперь, мы сможем найти нужный дополнительный реквизит в 1С 8.3 по имени, или по соответствующему ему свойству плана видов характеристик. Итак, обращаясь по имени к доп.реквизиту можно присвоить ему нужное значение, либо, наоборот, получить его значение и, например, как-то проверить.
Найти в плане видов характеристик интересующий нас реквизит можно по имени для разработчиков. Имя дополнительного реквизита для разработчиков видно в пользовательском режиме в нижней части формы характеристики, в разделе Для разработчиков:
Раздел Для разработчиков в нижней части формы характеристики
Вот вариант процедуры, которая получает поле доп. реквизита по его имени:
Параметры функции: форма и имя дополнительного реквизита
Функция принимает два параметра – форма и имя дополнительного реквизита (имя для разработчиков). Сперва получим тот самый служебный реквизит, в котором содержатся данные о всех дополнительных реквизитах на форме. Затем по имени дополнительного реквизита в 1С 8.3 найдем свойство в плане видов характеристик. Теперь по этому свойству можем в списке реквизитов найти соответствующий реквизит.
Так может выглядеть код, вызывающий процедуру и устанавливающий значение дополнительному реквизиту:
Код, вызывающий процедуру и устанавливающий значение дополнительному реквизиту в 1С 8.3
Главное преимущество использования механизма дополнительных реквизитов состоит в том, что у нас нет необходимости вносить изменения в типовую конфигурацию. При этом, зная несколько тонкостей обращения с дополнительными реквизитами в 1С 8.3, мы получаем возможность работать с ними так же свободно, как и с основными реквизитами объекта.
Специалист компании «Кодерлайн»
Екатерина Редько
Опубликовано в Статьи по 1С 27.10.2018
В библиотеке стандартных подсистем 1С дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. Принцип работы дополнительных реквизитов и сведений, их добавление и получение значений.
Отличие дополнительного реквизита от дополнительного сведения в том, что
- Дополнительные реквизиты – список реквизитов, доступных в форме документа или справочника; причем эти реквизиты хранятся в табличной части объекта, к которому они добавлены;
- Дополнительные сведения – список значений доступных по дополнительной кнопке; причем доп. сведения хранятся в отдельном регистре.
После ввода дополнительного реквизита или сведения 1С, можно создать подключаемую обработку, где считать введенные дополнительные данные и задать необходимую логику обработки данных, в которой использовать этот реквизит или сведение.
Как получить 1С дополнительные реквизиты и сведения программно:
Для получения дополнительных данных используем запрос, в котором получим значение дополнительных реквизитов и сведений:
////
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДополнительныеСведения.Свойство,
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Объект»;
Запрос.УстановитьПараметр(«Объект», СсылкаДокумент);
////
Для получения дополнительного реквизита использую код вида:
////
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| НоменклатураДополнительныеРеквизиты.Свойство,
| НоменклатураДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
|ГДЕ
| НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
| И НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка»;
Запрос.УстановитьПараметр(«Ссылка», СсылкаДокумент);
Запрос.УстановитьПараметр(«Свойство», ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Коэффициент бруто»));
////
Теперь вы без труда сможете добавить и получить необходимые дополнительные 1С данные без снятия конфигурации 1С с поддержки и изменения типовой конфигурации. Без сомнения, такой инструмент должен быть в арсенале 1С программиста и активно использоваться в работе.
Как программно добавить дополнительные реквизиты? |
Я |
04.07.22 — 12:07
Подскажите, пожалуйста, как добавить программно дополнительные реквизиты контрагенту в справочнике контрагентов.
1 — 04.07.22 — 12:39
сначала вводишь руками, потом аналогично делаешь в конфинураторе
2 — 04.07.22 — 12:43
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта()
Если тебе надо именно добавить новый допреквизит на кой то чёрт, то сделай ручками, посмотри что заполнилось, сделай то же самое программно.
3 — 04.07.22 — 12:56
Реквизит уже добавлен в ручную. Как обратиться к этому реквизиту, чтобы добавить его значение?
Объект.ДополнительныеРекивзиты.<Как соcлаться на реквизит с именем «ExternalId»?>
4 — 04.07.22 — 12:59
И где хранятся значения, доп.реквизитов? Где их можно посмотреть?
5 — 04.07.22 — 12:59
(3) найди свойство по имени перебери все строки и найди нужное свойство
6 — 04.07.22 — 13:00
(3) я тебе уже написал.
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта()
Через точку обращаться нельзя, это не реквизит. Это строка табличной части ДополнительныеРеквизиты. В запросе надо обращаться туда. Вне запросов делай через БСП
7 — 04.07.22 — 13:01
(0) наркоманы …
8 — 04.07.22 — 13:21
Простите чайника . Ничего не пойму. Получается, что обратиться можно только через запрос, если не использовать БСП?
(6) Как обратиться, можете пример написать? Ну вот никак не соображу как сделать, сижу часов 8 уже с этой проблемой.
(5) Как найти свойство?
9 — 04.07.22 — 13:24
(6) Пробовал вот так но не получается:
Объект.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура(«ExternalId»,»»))[0].Значение
10 — 04.07.22 — 13:34
(9) НовСтр = Объект.ДополнительныеРеквизиты.Добавить()…
и заполнять реквизиты строки таб части.
Писали же выше, что это обычная табчасть
11 — 04.07.22 — 13:35
Для начала тебе надо почитать про то, что такое вообще дополнительные реквизиты. Заодно что такое ПланыВидовХарактеристик и как с ними работать.
Затем, тебе надо понять твою задачу.
Затем, тебе надо понять как работать с БСП.
Я тебе в третий раз пишу — установить значение, задача, которую ты написал в (0) делается через УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(). Это метод БСП, который именно для этого написан. Он тебе и нужен и правильнее всего им и воспользоваться.
Что у тебя в строках табличной части ты можешь посмотреть в конфигураторе. Какие там значения — тем же запросом «ВЫБРАТЬ * ИЗ МойДокумент.ДополнительныеРеквизиты КАК МойДокумент ГДЕ МойДокумент.Ссылка = &СсылкаНаДокумент»
В БСП и так все функции задукоментированы, достаточно перейти в модуль и там всё предельно ясно описано:
// Записывает дополнительные реквизиты и сведения владельцу свойств.
// Изменения происходят в транзакции.
//
// Параметры:
// ВладелецСвойств — Ссылка — например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя и т.д.
// ТаблицаСвойствИЗначений — ТаблицаЗначений — с колонками:
// * Свойство — ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения — свойство владельца.
// * Значение — Произвольный — любое значение, допустимое для свойства (указано в элементе свойства).
//
Процедура ЗаписатьСвойстваУОбъекта(ВладелецСвойств, ТаблицаСвойствИЗначений) Экспорт
Изучи всё это, попробуй, что не получится — напиши.
12 — 04.07.22 — 14:13
БСП, к сожалению нет, нужно как-то решить задачу без БСП.
Насчет получения информации и Доп.Реквизитов, понял, что только через запрос к БД, а не к объекту конфигурации БД. Спасибо!
13 — 04.07.22 — 14:17
(12) Я прошу прощения, а откуда у тебя взялись доп реквизиты без БСП?
14 — 04.07.22 — 14:32
(13) В ручную в карточке контрагента добавил
15 — 04.07.22 — 14:34
(14) Ты издеваешься сейчас?) Какая конфигурация? Что такое по-твоему БСП?) Ты путаешь с ИТС? Что будет если ты в конфигураторе в любом модуле напишешь УправлениеСвойствами.ЗаписатьСвойстваУОбъекта() и нажмёшь F12 на нём?)
16 — 04.07.22 — 15:17
(15) Я не издеваюсь, я в 1С погружаю только 3-ю неделю (правда до этого были курсы 6 мес, но для аналитика). Конфигурация УНФ. Т.е. Вы хотите сказать, что БСП является частью стандартной конфигурации? Зачем тогда о ней вообще упоминать. Я думал это некая внешняя подключаемая библиотека.
Нажал F12 м попал в общий модуль, а там всякие процедуры и функции интересные лежат. Мне что теперь использовать соответствующую процедуру: ЗаполнитьДополнительныеРеквизитыВФорме ?
17 — 04.07.22 — 15:23
(16) БСП = Библиотека Стандартных Подсистем, и во все (какие мне известно) типовые тиражные решения от 1с и франчей она входит. Сам механизм дополнительных реквизитов и сведений — это стандартная подсистема из этой библиотеки. То есть это есть в любой современной конфигурации на БСП.
>> Зачем тогда о ней вообще упоминать
Затем, что ты о ней не знаешь, очевидно, и что бы сподвигнуть тебя немножко погуглить и почитать. Не сработало.
>>Мне что теперь использовать соответствующую процедуру
Да. Это самый правильный вариант решения задачи из (0). Не надо изобретать велосипедов, надо вдумчиво посмотреть как работает уже существующий и правильно крутануть педаль.
18 — 04.07.22 — 19:28
(17) Спасибо! Попробовал вот такой вариант:
МассивСтруктур = Новый Массив;
Z =ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«ExternalId», Истина);
S = Новый Структура(«Свойство, Значение»,Z,»123456789″);
МассивСтруктур.Добавить(S);
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(NewCounterparty,МассивСтруктур);
Но на последней строке получаю ошибку:
Ошибка при вызове метода контекста (Заблокировать)
{ОбщийМодуль.УправлениеСвойствами.Модуль(1175)}:Блокировка.Заблокировать();
по причине:
Неверный тип значения: Справочник.Контрагенты.Ссылка
Никак не пойму почему. Вроде в отладчики структура правильная…
19 — 04.07.22 — 19:52
(18) Сделай точку на останова на функции, посмотри что передаёшь в NewCounterparty.
Не совсем понял что у тебя за версия БСП, почему массив структур? В моей таблицу значений надо.
Если не поможет — попробуй остановку по ошибке (отладка — остановка по ошибке…). Там посмотри что у тебя вообще передаётся во ВладелецСвойств. И дальше через стек вызовов сможешь отследить. Чёт думается что ты пустую ссылку кидаешь или ещё что-то непотребное.
Ещё два совета — не используй короткие перменные типа Z и S даже в таких случаях. В 1с это не принято, если перебираешься к нам — избавляйся от этой привычки.
ПВХ лучше искать по полю «имя», оно уникально. В режиме предприятия это в самом низу будет. Там по умолчанию добавляется УИД, но ты сам можешь задать как тебе надо.
20 — 04.07.22 — 19:53
(19) если вдруг не знаешь как смотреть — выделяешь переменную, shift+F9. Ну вообще отладчиком пользоваться надо обязательно научиться. Это ключевой навык.
21 — 04.07.22 — 20:18
( (19) Получилось ! Спасибо за помощь!
Как Вы и предположили передавал в NewCounterparty не ссылку, а объект.
Подскажите, как узнать используемую в конфигурации версию БСП?
22 — 04.07.22 — 20:21
Мой гений дарит вам, ггг (запоздало):
&НаСервере
Функция СоздатьДопРеквизитНаСервере(НаборСвойствСтрокой, ИдентификаторРеквизита, НаименованиеРеквизита, ТипЗначения = Неопределено, Многострочный = 0) Экспорт
УстановитьПривилегированныйРежим(Истина);
//включим константу использования
Если Не Константы.ИспользоватьДополнительныеРеквизитыИСведения.Получить() Тогда
Константы.ИспользоватьДополнительныеРеквизитыИСведения.Установить(Истина);
КонецЕсли;
//попробуем найти реквизит по наименованию
//ДопРеквизитСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);
ДопРеквизитСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту(«Имя», ИдентификаторРеквизита);
Если НЕ ЗначениеЗаполнено(ДопРеквизитСсылка) Тогда
//если не нашли реквизит — будем его создавать
ДопРеквизитОбъект = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
ДопРеквизитОбъект.Заголовок = НаименованиеРеквизита;
ДопРеквизитОбъект.НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений[НаборСвойствСтрокой]; //.Справочник_Контрагенты;
Если ТипЗначения = Неопределено Тогда
ТипЗначения = Новый ОписаниеТипов(«Строка»,,,,Новый КвалификаторыСтроки(250));
КонецЕсли;
ДопРеквизитОбъект.ТипЗначения = ТипЗначения; //
ДопРеквизитОбъект.Наименование = ДопРеквизитОбъект.Заголовок + » («+ДопРеквизитОбъект.НаборСвойств+»)»;
ДопРеквизитОбъект.Виден = Истина;
ДопРеквизитОбъект.Доступен = Истина;
ДопРеквизитОбъект.МногострочноеПолеВвода = Многострочный;
ДопРеквизитОбъект.ДополнительныеЗначенияИспользуются = Истина;
//зададим имя нового реквизита
ДопРеквизитОбъект.Имя = ИдентификаторРеквизита; //»filap_»+СтрЗаменить(ИмяРеквизита,» «,»»);
ДопРеквизитОбъект.Записать();
ДопРеквизитСсылка = ДопРеквизитОбъект.Ссылка;
КонецЕсли;
//добавим наш реквизит в набор дополнительных реквизитов контрагента
НаборДополнительныхРеквизитовКонтрагента = Справочники.НаборыДополнительныхРеквизитовИСведений[НаборСвойствСтрокой].ПолучитьОбъект(); //Справочник_Контрагенты
Если НаборДополнительныхРеквизитовКонтрагента.ДополнительныеРеквизиты.Найти(ДопРеквизитСсылка, «Свойство») = Неопределено Тогда
//добавим реквизит в набор
Стр = НаборДополнительныхРеквизитовКонтрагента.ДополнительныеРеквизиты.Добавить();
Стр.Свойство = ДопРеквизитСсылка;
НаборДополнительныхРеквизитовКонтрагента.Записать();
КонецЕсли;
Возврат ДопРеквизитСсылка;
КонецФункции
Примеры вызова:
&НаСервере
Функция ДатьЗначениеДопРеквизитаНаСервере(Ссылка, ИдентификаторРеквизита, НаименованиеРеквизита, ТипЗначения = Неопределено, Многострочный = 0) Экспорт
Если ТипЗнч(Ссылка) = Тип(«СправочникСсылка.Контрагенты») Тогда
НаборСвойствСтрокой = «Справочник_Контрагенты»;
ИначеЕсли ТипЗнч(Ссылка) = Тип(«СправочникСсылка.Партнеры») Тогда
НаборСвойствСтрокой = «Справочник_Партнеры_Общие»;
ИначеЕсли ТипЗнч(Ссылка) = Тип(«СправочникСсылка.ДоговорыКонтрагентов») Тогда
НаборСвойствСтрокой = «Справочник_ДоговорыКонтрагентов»;
ИначеЕсли ТипЗнч(Ссылка) = Тип(«ДокументСсылка.ЗаказКлиента») Тогда
НаборСвойствСтрокой = «Документ_ЗаказКлиента»;
Иначе
Возврат Неопределено;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Реквизит = СоздатьДопРеквизитНаСервере(НаборСвойствСтрокой, ИдентификаторРеквизита, НаименованиеРеквизита, ТипЗначения, Многострочный);
ИскСтрока = Ссылка.ДополнительныеРеквизиты.Найти(Реквизит, «Свойство»);
Если ИскСтрока = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Возврат ИскСтрока.Значение;
КонецФункции
ДанныеДоговора.Вставить(«ПодписантКлиентаФИО», ДатьЗначениеДопРеквизитаНаСервере(Договор, «Договор_ПодписантКлиентаФИО», «Подписант клиента ФИО», ТипСтрока250));
ДанныеДоговора.Вставить(«ПодписантКлиентаДолжность», ДатьЗначениеДопРеквизитаНаСервере(Договор, «Договор_ПодписантКлиентаДолжность», «Подписант клиента должность», ТипСтрока250));
ДанныеДоговора.Вставить(«ОГРН», ДатьЗначениеДопРеквизитаНаСервере(ДанныеДоговора.Партнер, «Партнер_ОГРН», «ОГРН», ТипСтрока250));
ДанныеДоговора.Вставить(«ДействующийНаОсновании», ДатьЗначениеДопРеквизитаНаСервере(ДанныеДоговора.Партнер, «Партнер_ДействующийНаОсновании», «Действующий на основании», ТипСтрока250));
ТипСтрока250 = Новый ОписаниеТипов(«Строка»,,,,Новый КвалификаторыСтроки(250));
ДанныеДоговора.Вставить(«ПодписантКлиентаФИО», ДатьЗначениеДопРеквизитаНаСервере(Договор, «Договор_ПодписантКлиентаФИО», «Подписант клиента ФИО», ТипСтрока250));
ДанныеДоговора.Вставить(«ПодписантКлиентаДолжность», ДатьЗначениеДопРеквизитаНаСервере(Договор, «Договор_ПодписантКлиентаДолжность», «Подписант клиента должность», ТипСтрока250));
ДанныеДоговора.Вставить(«ОГРН», ДатьЗначениеДопРеквизитаНаСервере(ДанныеДоговора.Партнер, «Партнер_ОГРН», «ОГРН», ТипСтрока250));
ДанныеДоговора.Вставить(«ДействующийНаОсновании», ДатьЗначениеДопРеквизитаНаСервере(ДанныеДоговора.Партнер, «Партнер_ДействующийНаОсновании», «Действующий на основании», ТипСтрока250));
23 — 04.07.22 — 20:29
(21) Ну вот еще одно зачатие 1С-ника. А злые языки говорят — вырождаемся.
24 — 04.07.22 — 20:44
(23) Зачался как 1С-ник месяцев 6 назад еще, а сейчас Спасибо всем за то, что грудями выкармливаете!
25 — 04.07.22 — 20:55
(21) Пожалуйста
>>Подскажите, как узнать используемую в конфигурации версию БСП?
В режиме предприятия посмотреть регистр сведений «Версии подсистем»
У меня, например, СтандартныеПодсистемы версии 3.1.5.385
(22) Кыш! Не порти нам человека своей гггениальностью))
26 — 04.07.22 — 21:03
(22) А если «Дополнительное значение (иерархия)» где?
Гений 1С
27 — 04.07.22 — 22:13
(26) допили
Добавление доп. реквизита в динамический список программно
Добавление доп. реквизита в динамический список программно
Некоторые пользователи хотят видеть дополнительную аналитику по определенным объектам конфигурации 1С, для реализации этой потребности существует функционал дополнительных реквизитов и сведений, который зачастую выводится в группу «Дополнительно» или «Дополнительные реквизиты».
Мы же разберем как отобразить дополнительные реквизиты в форме списка элементов. Практически всегда в этой форме используется «Динамический список», но данный способ не позволяет использовать это на обычной «Таблице значений».
Как добавить дополнительный реквизит в динамический список:
Получившейся код модуля:
&НаКлиенте Процедура dev_ПриОткрытииПосле(Отказ) ОтображениеДополнительныхРеквизитов(); КонецПроцедуры &НаСервере Процедура ОтображениеДополнительныхРеквизитов() // Получаем набор свойств объекта по пустой ссылке объекта метаданных. НаборСвойств = УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта(Справочники.Номенклатура.ПустаяСсылка()); // Инициализируем имя набора свойств. ИмяНабора = НаборСвойств[0].Набор.Наименование; Свойства = НаборСвойств[0].Набор.ДополнительныеРеквизиты.Выгрузить().ВыгрузитьКолонку("Свойство"); // Наполняем массив именами доп.реквизитов, которые мы хотим отобразить в списке формы. // Можно создать отдельную настроку, например регистр где будем хранить выводимые поля, // для конкретных объектов метаданных или даже в зависимости от роли. МассивОтображаемыхСвойств = Новый Массив; МассивОтображаемыхСвойств.Добавить("Краткое описание"); // и т.д. // Если например у нас полные права то выведем все доп.реквизиты. Если РольДоступна("ПолныеПрава") Тогда МассивОтображаемыхСвойств = ПолучитьМассивНаименованийСвойств(Свойства); КонецЕсли; // Квадратные скобки обязательны. // Именно так платформа понимает что мы обращаемся к реквизиту ТЧ "ДополнительныеРеквизиты" ШаблонПутьКДанным = "Список.Ссылка.[%1 (%2)]"; // Обход циклом свойств для вывода в список. Для каждого ТекущееСвойство Из Свойства Цикл НаименованиеСвойства = ТекущееСвойство.Наименование; ИмяЭлемента = ТекущееСвойство.ИдентификаторДляФормул; Если МассивОтображаемыхСвойств.Найти(НаименованиеСвойства) <> Неопределено Тогда СтрокаДанные = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПутьКДанным, НаименованиеСвойства, ИмяНабора); НовыйЭлемент = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), Элементы.Список); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = СтрокаДанные; НовыйЭлемент.Заголовок = НаименованиеСвойства; КонецЕсли; КонецЦикла; КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьМассивНаименованийСвойств(МассивСвойств) МассивНаименований = Новый Массив; Для каждого Свойство Из МассивСвойств Цикл МассивНаименований.Добавить(Свойство.Наименование); КонецЦикла; Возврат МассивНаименований; КонецФункции;
Данный код проверялся на конфигурации «Бухгалтерия предприятия 3.0», но он подойдет для любой конфигурации.
Как результат работы нашего кода прикладываем скриншот и тестовое расширение конфигурации:
Как видим все доп. реквизиты появились в нашем списке.
Для подключения расширения использовались такие надстройки:
Скачать расширение
Оставить заявку на бесплатную консультацию прямо сейчас!