|   |   | 
| 
 | Как обратиться к пользовательской характеристики объекта??? | ☑ | ||
|---|---|---|---|---|
| 0
    
        ultrannge89 24.10.14✎ 16:32 | 
        В общем мне нужно поменять некоторое значение регистра  РегистрыСведений.ЗначенияСвойствОбъектов, называется оно "Снижение ДДУ"
 В цикле пишу так: НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); Запись = НаборЗаписейЗначенияСвойств.Добавить(); Запись.Объект = Выборка.ДоговорКонтрагента; Запись.Свойство.Наименование = "Снижение ДДУ"; Запись.Значение = Выборка.СнижениеДДУ; НаборЗаписейЗначенияСвойств.Записать(); Но ничего не получается: {Форма.Форма.Форма(47)}: Поле объекта недоступно для записи (Наименование) Запись.Свойство.Наименование = "Снижение ДДУ"; | |||
| 1
    
        ultrannge89 24.10.14✎ 16:34 | 
        И еще, может быть нубоватый вопрос, но все таки, надо помимо этого выставлять Отбор для набора записей, например такой:
 НаборЗаписейЗначенияСвойств.Отбор = Выборка.ДоговорКонтрагента; Чтобы изменять имеено ту запись для которой я указал ссылку... | |||
| 2
    
        ultrannge89 24.10.14✎ 16:36 | 
        Вечер пятницы, а вот уже 3 часа как должен быть дома, но сижу на работе т.к. дома скучно...     | |||
| 3
    
        ultrannge89 24.10.14✎ 16:40 | 
        Ну я так понял пользовательские характеристики хранятся в обычном справочнике: Справочники.ЗначенияСвойствОбъектов, мне просто найти по наименованию?     | |||
| 4
    
        Krolik Bezobraznik 24.10.14✎ 16:42 | 
        А не проще ли найти этот объект в 1С и в его форме поменять значение свойства?     | |||
| 5
    
        ultrannge89 24.10.14✎ 16:45 | 
        НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
 //НаборЗаписейЗначенияСвойств.Отбор = Выборка.ДоговорКонтрагента; Запись = НаборЗаписейЗначенияСвойств.Добавить(); Запись.Объект = Выборка.ДоговорКонтрагента; Запись.Свойство = "Снижение ДДУ"; Запись.Значение = Выборка.СнижениеДДУ; НаборЗаписейЗначенияСвойств.Записать(); Так выдает: {Форма.Форма.Форма(51)}: Ошибка при вызове метода контекста (Записать) НаборЗаписейЗначенияСвойств.Записать(); по причине: Запись не верна! Значение поля "Дополнительный реквизит" не может быть пустым!: ЗначенияСвойствОбъектов: блаблабла, (Регистр сведений: Значения дополнительных реквизитов; Номер строки: 1) | |||
| 6
    
        ultrannge89 24.10.14✎ 16:46 | 
        Если бы я делал код как проще, то было бы совсем не интересно...     | |||
| 7
    
        ultrannge89 24.10.14✎ 16:47 | 
        Что за такой дополнительный реквезит...?     | |||
| 8
    
        Krolik Bezobraznik 24.10.14✎ 16:51 | ||||
| 9
    
        alle68 24.10.14✎ 17:07 | 
        (5) Решил регистр почистить?     | |||
| 10
    
        ultrannge89 24.10.14✎ 17:12 | 
        =) На копии можно =)     | |||
| 11
    
        ultrannge89 24.10.14✎ 17:12 | 
        Пока Выборка.Следующий() Цикл
 НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); Запись = НаборЗаписейЗначенияСвойств.Добавить(); Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Снижение ДДУ"); Запись.Объект = Выборка.ДоговорКонтрагента; Запись.Значение = Выборка.СнижениеДДУ; НаборЗаписейЗначенияСвойств.Записать(); КонецЦикла; | |||
| 12
    
        ultrannge89 24.10.14✎ 17:12 | 
        Работает, добавляю новую, затирая старую =)     | |||
| 13
    
        SUA 24.10.14✎ 17:14 | 
        затирает все ну это мелочи...     | |||
| 14
    
        ultrannge89 24.10.14✎ 17:15 | 
        Видимо надо разобраться как правильно использовать Отбор =)     | |||
| 15
    
        ultrannge89 24.10.14✎ 17:18 | 
        Как мне правильно выставить отбор, чтобы он у меня затирал предыдущую запись?     | |||
| 16
    
        SUA 24.10.14✎ 17:21 | 
        набор.отбор.свойство.установить()
 по объекту тоже | |||
| 17
    
        ultrannge89 24.10.14✎ 17:22 | 
        Ой все..
 Пока Выборка.Следующий() Цикл НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(Выборка.ДоговорКонтрагента); Запись = НаборЗаписейЗначенияСвойств.Добавить(); Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Снижение ДДУ"); Запись.Объект = Выборка.ДоговорКонтрагента; Запись.Значение = Выборка.СнижениеДДУ; НаборЗаписейЗначенияСвойств.Записать(); КонецЦикла; | |||
| 18
    
        ultrannge89 24.10.14✎ 17:22 | 
        Спасибо, пойду домой, а то уже почти 8 вечера...     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |