Запись значения в атрибут

Тема в разделе "1C и всё что с ней связано", создана пользователем Gudzon, 1 июн 2009.

  1. Gudzon

    Gudzon Гость

    Приветствую вас!
    При выполнении очередной задачи у меня возникли проблемы ...

    В документе есть атрибут "Основание" он является ссылкой на справочник "Основания"

    Я знаю что если атрибут является строкой то значение этого атрибута можно забить программно таким способом :

    Документ=СоздатьОбъект("Документ."+вид);
    Если Документ.НайтиПоНомеру(ном,НачГода(ТекущаяДата()),)=1 Тогда
    Документ.УстановитьАтрибут("Основание",осн);
    Документ.Записать();
    КонецЕсли;

    А как сделать это для атрибута являющейся ссылкой ?
     
  2. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Скорее всего через
    Осн = создатьОбъект(ну что там надо)

    например

    Документ=СоздатьОбъект("Документ."+вид);
    Если Документ.НайтиПоНомеру(ном,НачГода(ТекущаяДата()),)=1 Тогда
    Основание = СоздатьОбъект(Метаданные.Документ(вид).РеквизитШапки("Основание").Тип);
    Осн.Найти(что надо).// тут можно еслей наделать на разные типы данных, и найти соответственно с разным синтаксисом
    Документ.УстановитьАтрибут("Основание",осн);
    Документ.Записать();
    КонецЕсли;

    Если атрибут ссылка, то и надо скармливать ссылку. А как ты её сделаешь - способы разные есть.
     
  3. Gudzon

    Gudzon Гость

    Большое спасибо, все работает!!!!

    Документ=СоздатьОбъект("Документ."+вид);

    Если Документ.НайтиПоНомеру(ном,НачГода(ТекущаяДата()),)=1 Тогда
    Основание = СоздатьОбъект("Справочник.ОснованияПоКассе");

    Если (Основание.НайтиПоНаименованию(Осн,,1) = 1) и (пустаястрока(осн)=0) Тогда
    Документ.УстановитьАтрибут("Основание",Основание.ТекущийЭлемент());
    Документ.Записать();
    КонецЕсли;

    КонецЕсли;
     
Загрузка...

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