Имя: Пароль:
1C
 
Не записывает дополнительный реквизит (УТ 11.5.17.155)
0 bluntschi
 
29.11.24
09:22
Добрый день, подскажите, хочу записать значение в доп реквизит, а он его не записывает с помощью УправлениеСвойствами.ЗаписатьСвойстваУОбъекта
как быть, хотя реквизит находит, значение видит

&НаСервере        
    Процедура Команда12 ()
        
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Контрагенты.Ссылка КАК Объект
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |    Контрагенты.ПометкаУдаления = &ПометкаУдаления";
    
    Запрос.УстановитьПараметр("ПометкаУдаления", Ложь);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                                об = ВыборкаДетальныеЗаписи.Объект;
                                       
                                       
ДопРеквизитУИДК= ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок", "УИДК");

ТаблицаДопРеквизитов = Новый ТаблицаЗначений;
ТаблицаДопРеквизитов.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения"));
ТаблицаДопРеквизитов.Колонки.Добавить("Значение", Новый ОписаниеТипов("Строка"));
НовыйРекизит = ТаблицаДопРеквизитов.Добавить();
НовыйРекизит.Свойство = ДопРеквизитУИДК;
НовыйРекизит.Значение = Строка(об.ИНН)+"-"+Строка(об.КПП);;  


УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(об.ссылка,ТаблицаДопРеквизитов); 
КонецЦикла
    
        
        КонецПроцедуры
1 CepeLLlka
 
29.11.24
09:27
(0)
Не используй УправлениеСвойствами.ЗаписатьСвойстваУОбъекта()

Получи объект контрагента и сам добавь/измени строку нужного тебе доп. реквизита.
2 bluntschi
 
29.11.24
09:32
(1) типо через Контрагент= ВыборкаДетальныеЗаписи.Объект.ПолучитьОбъект;
Контрагент.УИДК =  Строка(об.ИНН)+"-"+Строка(об.КПП);
и записать
?
3 Волшебник
 
29.11.24
09:36
(2) типо да, бро!
4 CepeLLlka
 
29.11.24
09:39
(2)Не так. Доп. свойства в отдельной табличной части "ДополнительныеРеквизиты" хранятся. Попробуй запросом выбери данные из этой таблицы, должно стать понятней немножко.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший