Версия для печати темы (https://pro1c.org.ua/index.php?s=6a367061a3ca793c6c680da0cea9df02&showtopic=60282)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Записать атрибут объекта по строковым названиям

Автор: SV71 15.07.20, 14:53

Всем привет!

Самописная конфигурация 1С:Предприятие 8.3 (8.3.3.721) режим совместимости интерфейса Версия 8.2

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

Мысли такие, нужно передать строками:
1) тип метаданных объекта - "ПланыСчетов.НИС_Учт_Сч_Счета";
2) название объекта - "Яндекс.Кошелек";
3) название атрибута - "Наименование" ;
4) значение для записи в этот атрибут - "ЗАКРЫТ Яндекс.Кошелек".

Вызов процедуры что-нибудь типа:

ПрисвоитьНаСервере("ПланыСчетов.НИС_Учт_Сч_Счета", "Яндекс.Кошелек", "Наименование", "ЗАКРЫТ Яндекс.Кошелек");


Нужно программно из таких СТРОКОВЫХ параметров сформировать исполняемый код в процедуре:
&НаСервереБезКонтекста
Процедура ПрисвоитьНаСервере(ТипОбъекта, НазваниеОбъекта, Атрибут, Значение)

// Здесь программно надо из строк сделать код типа ...

ЭкзОбъекта = ПланыСчетов.НИС_Учт_Сч_Счета[НазваниеОбъекта];

ЭкзОбъекта[Атрибут] = Значение;

КонецПроцедуры


Можно это сделать?

Заранее благодарен за ответы.

Автор: Vofka 16.07.20, 7:59

ЭкзОбъекта = ПланыСчетов.НИС_Учт_Сч_Счета[НазваниеОбъекта]

Если Яндекс.Кошелек будет предопределенным элементом, то код выше должен сработать. Иначе можно так
ЭкзОбъекта = ПланыСчетов.НИС_Учт_Сч_Счета.НайтиПоНаименованию(НазваниеОбъекта);


ЭкзОбъекта[Атрибут] = Значение;

Это должно работать вроде.

Автор: SV71 16.07.20, 13:09

Цитата(Vofka @ 16.07.20, 9:59) *
ЭкзОбъекта = ПланыСчетов.НИС_Учт_Сч_Счета.НайтиПоНаименованию(НазваниеОбъекта);


Спасибо за уточнение.
Вопрос главный как программно сформировать исполняемый код в части "ПланыСчетов.НИС_Учт_Сч_Счета.НайтиПоНаименованию".

Идея в том, чтобы в эту же процедуру можно было передавать в виде строки ссылки на другие объекты: "Справочники", "Документы".

Т.е. чтобы можно было легко сделать заполнение на сервера атрибутов любых объектов.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua