8.х Обратится к реквизиту через внешнюю обработку

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем AleksP, 18 июл 2012.

  1. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Обращаюсь к вам еще раз. Работаю в 1С Предприятие 8.1. Я в файле внешней обработки пытаюсь присвоить значение реквизиту справочника, но у меня не получается. Вот код и ошибка, которую выдает:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    //Выборка = Справочники.Номенклатура.Выбрать(,,,"Наименование");
    Выборка = Справочники.Номенклатура.ВыбратьИерархически();
    Пока Выборка.Следующий() Цикл
    Объект = Выборка.ПолучитьОбъект();
    Если НЕ ЗначениеЗаполнено(Объект.СтавкаНДС) Тогда
    СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
    Объект.СтавкаНДС = СтавкаНДС;
    Объект.Записать();
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры

    {Форма.Форма.Форма(8)}: Ошибка при установке значения атрибута контекста (СтавкаНДС)
    Объект.СтавкаНДС = СтавкаНДС;

    Помогите плиз. Опыта работы мало, но нужно сделать имено через внешнюю обработку.
  2. Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    Проверяйте, является ли запись выборки группой или элементом.
  3. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    дело в том, что я даже не могу понять в чем причина ошибки. В справочнике у СтавкаНДС стоит тип - ПеречислениеСсылка.СтавкиНДС. Может причина в этом?
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Прислушайся к Аллизару!
  5. Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    У Вас в выборку попадают, кроме элементов, также группы справочника. А у группы реквизит "СтавкаНДС" недоступен.
  6. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    В чем причина ошибки понял. Не подскажет как исправить?
  7. Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    Код:
    Пока Выборка.Следующий() Цикл
    Если Выборка.ЭтоГруппа Тогда
    Продолжить();
    КонецЕсли;
    .....//Ваш код
    КонецЦикла;
    
    Хотя я бы для формирования выборки использовал запрос.
  8. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Код:
    .....
    Пока Выборка.Следующий() Цикл
    Объект = Выборка.ПолучитьОбъект();
    Если Объект.ЭтоГруппа Тогда
    Продолжить;
    КонецЕсли;
    .....
  9. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    спасибо. заработало
  10. kotlovD
    Offline

    kotlovD Опытный в 1С

    Регистрация:
    16 фев 2011
    Сообщения:
    718
    Симпатии:
    0
    Баллы:
    26
    Хех,опять на велосипедах с колесами квадратными (не помню кто сказал). Есть же групповая обработка справочников и документов :icon_megaraucher:

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