ПРОДАЖА И ВНЕДРЕНИЕ 1С

по всей России

+7 (495) 223-32-11

Заказать обратный звонок

8 (800) 775-90-01

Бесплатно по России

Получить

Скорую 1С помощь

Получить

Проконсультироваться
со специалистом 1С

Консультироваться

Казалось бы, что может быть проще - пишем через точку идентификатор реквизита и присваиваем.
Что-то вроде вот этого:
Код 1C v 8.х
 СправочникОбъект.Наименование = "Новое наименование"; 


Но бывают случаи, когда идентификатор реквизита формируется динамически и какой именно реквизит сейчас надо обработать неизвестно. Что тогда делать?

В 1С 7.7 существовали такие методы объектов, как Справочник.УстановитьАтрибут() и Справочник.ПолучитьАтрибут(), которые позволяли установить значение атрибута объекта по его идентификатору.

А в 1С 8.1 таких методов нет! Что же делать?!
Можно, конечно, написать кучу условий, что-то типа:
Код 1C v 8.х
 Если ИмяРеквизита="Наименование" тогда
      
СправочникОбъект.Наименование = ЗначениеРеквизита;
ИначеЕсли ИмяРеквизита="Код" тогда
СправочникОбъект.Код = ЗначениеРеквизита;
ИначеЕсли
.....
КонецЕсли;

Выглядит совершенно прямолинейно, но работать будет. Вот только если реквизитов будет с полсотни - замучаетесь условия писать.
А на самом деле все просто. Можно использовать вот такую конструкцию:
Код 1C v 8.х
 СправочникОбъект[ИмяРеквизита] = ЗначениеРеквизита; 

где : ИмяРеквизита - строка идентификатора реквизита справочника (например, "Наименование")
И вся наша куча условий сводится всего к одной строке кода....
Автор: Николай Николаев


Заказать обратный звонок

Позвонить
Отправлено! В самое ближайшее время наш менеджер свяжется с Вами.