7.7 Проблема с методом для справочника "УстановитьАтрибут"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Oleg, 22 янв 2007.

  1. TopicStarter Overlay
    Oleg
    Offline

    Oleg

    Регистрация:
    22 янв 2007
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Такая вот проблема. Пытаюсь присвоить реквизиту "КатегорияКлиентов" (тип - Перечисление.КатегорииКлиентов) новое значение. Не могу понять, почему не присваивается. Текст следующий:

    Реквизит = "КатегорияКлиентов";
    Значение = Перечисление.КатегорииКлиентов.Категория1;
    Клиент.УстановитьАтрибут(Реквизит, Значение);
    //Клиент - тип "Справочник.Клиенты"

    Заранее благодарен
  2. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    допиши: Клиент.Записать();
  3. TopicStarter Overlay
    Oleg
    Offline

    Oleg

    Регистрация:
    22 янв 2007
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Решение пришло после долгих экспериментов. Реквизит формы "Клиент" находится на форме. Соответственно, поменять какой-либо реквизит реквизита формы нельзя. Помогло следующее:

    Спр = СоздатьОбъект("Справочник.Клиенты");
    Спр.НайтиПоКоду(Клиент.Код); //причем метод Спр.НайтиЭлемент(Клиент)
    // в данном контексте не годится
    Зн = Перечисление.КатегорииКлиентов.
    Спр.УстановитьАтрибут("КатегорияКлиентов", Зн);
    Спр.Записать();

Поделиться этой страницей