Для отображения персонализированного контента и рекламных сообщений, а также хранения личных настроек на локальном компьютере веб-сайт www.vdgb.ru используют технологию cookie и аналогичные. Продолжив использование наших веб-сайтов, Вы даете согласие на обработку персональных данных, выражаете согласие с Политикой конфиденциальности www.vdgb.ru и применением этих технологий.

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

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

Присваивание значений реквизитам по их идентификатору

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

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

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


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

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

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

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

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


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

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