Имя: Пароль:
1C
1С v8
УФ. Проблема с отображением реквизита
0 sf
 
04.03.14
13:48
Побаяню, наверное, может разжует кто.

Предыстория: УФ, проверено на 8.2.19 (серверная), 8.3.3.721 (файловая)

на форме документа есть табличная "товары", в которой есть реквизит "номенклатура". В той же таблице (элементе формы) добавлено поле "Артикул", которое по сути "Номенклатура.Артикул".
Открываем два сеанса разных пользователей.
1. Пользователь 1 открывает документ. На форме отображается "Наименование номенклатуры" и "Артикул 1", форму закрываем.
2. Пользователь 2 открывает справочник номенклатуру и меняет "Артикул 1" на "Артикул 2"
3. Пользователь 1 - открывает форму документа, там старое значение "Артикул 1". Если открыть форму номклатуры - там "Артикул 2".
Баг/фича сохраняется до перезапуска сеанса 1С.

Собственно 2 вопроса:
1. почему так происходит, где хваленный кэш, который должен обновляться?
2. Как принудительно заставит обновляться форму (считать данные), например, при открытии формы.
1 sf
 
04.03.14
14:00
+ (0) собственно с картинками:
http://s003.radikal.ru/i201/1403/20/629b098f887c.png
2 SSkripagan
 
04.03.14
14:07
Может принудительно обновлить при изменении ?
УправляемаяФорма (ManagedForm) ОбновитьОтображениеДанных  (RefreshDataRepresentation)
Синтаксис:
ОбновитьОтображениеДанных()
Описание:
В  принудительном порядке обновляет содержание элементов управления.
Полезен  при изменении значений реквизитов формы вне формы, в тот момент, когда форма  отображается на экране.
Доступность:
Тонкий  клиент, веб-клиент, толстый клиент.
Примечание:
В  веб-клиенте обновление элементов управления происходит не сразу, а после  окончания выполнения кода на встроенном языке.
3 SSkripagan
 
04.03.14
14:12
Воспроизвел на  демо конфе.  Действительно такая ситуация моделируется.

Помогло

При открытии формы : ОповеститьОбИзменении(Тип("СправочникСсылка.Склады)) - при этом происходит очистка кэша
4 SSkripagan
 
04.03.14
14:59
Кстати вот похожая тема.
http://forum-mista.pro/topic.php?id=697702
5 sf
 
04.03.14
15:01
(3) ОповеститьОбИзменении не помогло вроде
сейчас проверяю
6 sf
 
04.03.14
15:02
(4) как-то не вариант. На форме - может быть много разных типов данных. Собирать все ссылки и обновлять? это печально будет.
7 sf
 
04.03.14
15:08
(4) в какой момент вызывать "ОбновитьОтображениеДанных" ?
вот пример:
http://depositfiles.com/files/t2zumohen
я повесил на кнопку - не помогает
8 sf
 
04.03.14
15:31
ап
(2) >>при изменении значений реквизитов формы вне формы
а в примере (0) реквизиты реквизитов формы, т.е. через точку.
9 Добрый хачик
 
04.03.14
16:44
похоже все спецы в ветке про украину...
10 Добрый хачик
 
04.03.14
17:03
Протестил на чистой конфе на 1С:Предприятие 8.3 (8.3.4.389) с одним справочником и документом.
в первом сеансе поменял наименование и реквизит справочника. во втором сеансе ничего не поменялось.
11 Добрый хачик
 
04.03.14
17:04
причем! если во втором сеансе из документа открыть список выбора справочника - там будет новое наименование и при закрытии его, наименование обновится в документе (однако значение реквизита так и останется старое).
А теперь самое интересное (для любителей такси) - при быстром выборе в такси - отображается старое! наименование справочника
12 sf
 
04.03.14
17:31
(11) мне бы с (0) разобраться. в 8.2 истории выбора (этого списка) нет. а в 8.3 можно отключить...
13 NcSteel
 
04.03.14
22:43
(0) При закрытии формы и последующем открытии данные пересчитываются из БД. Если форму не закрывать, то можно наблюдать такую картину.

ИМХо но в (0) все же не закрывали форму.
14 sf
 
05.03.14
09:14
(13) в качестве апа:
форму переоткрывали, (3) и (9) - тоже повторили.
эта "фича" есть и в 8.2 (УФ) и в 8.3 (Такси).
>>При закрытии формы и последующем открытии данные
перечитываются (при определенных условиях) только реквизиты объекта. А реквизиты реквизитов - берутся, видимо, с локального кэша.
15 Добрый хачик
 
05.03.14
10:14
тут тухло, кому интересно - создал тему на партнерском
16 Адский плющ
 
05.03.14
10:18
Да а кули думать. Кэш он и есть кэш. Нужны оперативные данные - читай сам ручками.
17 sf
 
05.03.14
10:26
(16) в смысле читай ручками? ))) Вопрос как раз как эти ручки применить.
Пользователь сам может в табличной части добавить поле с данными "Номенклатура.Арктикул". Вопрос в том, как заставить эти данные быть "свежими" хотя бы при повторном открытии формы.