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

  • Автор темы Gudzon
  • Дата начала
G

Gudzon

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

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

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

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

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

puh14

Well-known member
11.07.2008
1 412
0
#2
Скорее всего через
Осн = создатьОбъект(ну что там надо)

например

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

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

Gudzon

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

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

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

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

КонецЕсли;