Имя: Пароль:
1C
1С v8
УФ, не изменяется вид ссылки объекта справочника.
0 kiabs
 
02.08.17
15:01
Суть.
ТекущееЗначениеЭлемента - реквизит формы с типом СправочникОбъект

На форме поля с данными реквизитов этого объекта. Пользователь меняет значения реквизитов и происходит запись этого обекта, код ниже.  

ИзменяемыйЭлемент = ТекущееЗначениеЭлемента.Ссылка.ПолучитьОбъект();
ЗаполнитьЗначенияСвойств(ИзменяемыйЭлемент, ТекущееЗначениеЭлемента);
ИзменяемыйЭлемент.Записать();

Если изменить таким образом поле наименование, то вид ссылки остается прежним (к примеру был элемент справочника Тумбочка, изменили наименование на Тумба, наименование в элементе изменилось, а если запросом выбрать ссылки, то представление ссылки не изменилось).

Если открыть элемент справочника и интерактивно нажать ЗАПИСАТЬ, то представление ссылки обновляется.

Что нужно сделать, что представление ссылки тоже изменялось?
1 Fragster
 
гуру
02.08.17
15:19
>если запросом выбрать ссылки, то представление ссылки не изменилось

кое-кто сейчас врет
2 Fragster
 
гуру
02.08.17
15:19
не измениться оно может в открытых формах списка, например
3 Fragster
 
гуру
02.08.17
15:19
и тут надо сделать ОповеститьОбИзменении
4 Numerus Mikhail
 
02.08.17
15:48
(0) погодите
Если у вас ТекущееЗначениеЭлемента - тип Справочник Объект
То когда вы делаете ТекущееЗначениеЭлемента .Ссылка.ПолучитьОбъект() - вы получаете другой экземпляр объекта.

Так что да, вы врети!
У вас не обновится отображение на открытых формах, но запросом всё будет нормально. Опять же, если вы предоставили всю входящую информацию (в модуле объекта не происходит отказ и прочее)
5 kiabs
 
02.08.17
16:08
У меня сейчас шаблон рвется в клочья. Действительно запросом все ок.

Суть в чем, на форме есть ДеревоЗначений, которое заполняется из запроса циклом.

Пока ВыборкаСклад.Следующий() Цикл         
    СтрокаСклад             = ДеревоОбъект.Строки.Добавить();
    СтрокаСклад.ЭлементСтруктуры     = ВыборкаСклад.Склады;

Затем присваиваб значение реквизиту формы

ЗначениеВРеквизитФормы(МоеДеревоЗначений, "ДеревоНаФорме");     

В итоге в на поле формы представление элементов не изменяется.
6 h-sp
 
03.08.17
09:37
(5) ну оно и не должно измениться. Там всё-таки кеш есть, какой-никакой. Чтобы базу постоянно не дергать.
7 kiabs
 
03.08.17
10:42
(6) Какой кэш? Я циклом из запроса заполняю дерево значений и передаю его в реквизит формы.
8 h-sp
 
03.08.17
10:51
(7) все представления элементов запоминаются в кеше. чтобы лишний раз не дергать. Это очень странное желание поменять название Тумба на тумбочка, бывает очень редко, раз в год. Поэтому можно на это не заморачиваться.

так и в обычных формах было.
9 DmitrO
 
03.08.17
10:53
УправляемаяФорма (ManagedForm)
ОбновитьОтображениеДанных (RefreshDataRepresentation)
Синтаксис:

ОбновитьОтображениеДанных(<ОбновлятьЭлементы>)
...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс