|
Не обновляется элемент на форме | ☑ | ||
---|---|---|---|---|
0
KuJIT
01.12.15
✎
16:12
|
Добрый вечер. Есть документы А и Б. Документ А содержит ссылку на Документ Б (реквизитСсылкаНаБ). На форме Документа А есть элемент (Вид: Поле надписи), который отображает реквизит (СуммуДокумента) документа Б. Т.е. его ПутьКДанным выглядит так: "Объект.реквизитСсылкаНаБ.СуммаДокумента".
Суть проблемы: когда документ Б программно меняется (в частности, меняется его реквизит СуммаДокумента), то, для того, чтобы изменилось значение элемента на форме А (того, который показывает СуммуДокумента), я вызываю на форме А Этаформа.Прочитать(). Но желаемого результата я не достигаю. Более того, ни переоткрытие формы А, ни даже перезапуск клиента не помогают. Видимо, это значение где-то в кеше записывается и не меняется. Как быть? З.Ы. Надеюсь, не очень сумбурно получилось =) |
|||
1
aleks_default
01.12.15
✎
16:15
|
Управляемых форм на тебя нет...
|
|||
2
VikingKosmo
01.12.15
✎
16:16
|
перечитать значение реквизита СсылкаНаБ не помогает?
|
|||
3
KuJIT
01.12.15
✎
16:17
|
(1) Так в последнее время не работал с обычными формами, забыл упомянуть, что все на управляемых происходит
|
|||
4
KuJIT
01.12.15
✎
16:17
|
(2) Каким образом перечитать?
|
|||
5
KuJIT
01.12.15
✎
16:24
|
Этаформа.Прочитать() вызывается. Но ничего не меняет. (2)
|
|||
6
KuJIT
01.12.15
✎
16:29
|
Хотя, перезапуск клиента помогает. А вот переоткрытие окна не помогает
|
|||
7
aleks_default
01.12.15
✎
16:31
|
Ну дык это же не реквизит Объекта, поэтому и не перечитывает. Устанавливай вручную, какая нафиг тебе разница.
|
|||
8
KuJIT
01.12.15
✎
16:35
|
А как в ручную указать то? Элемент ни с каким реквизитом формы не связан напрямую. (7)
|
|||
9
aleks_default
01.12.15
✎
16:36
|
Реквизит формы делай, присваивай ему значение на сервере.
|
|||
10
aleks_default
01.12.15
✎
16:37
|
ПриЧтениНаСервере
|
|||
11
VikingKosmo
01.12.15
✎
16:37
|
хотя тут еще хороший вопрос, каким образом меняется СуммаДокументаБ
|
|||
12
KuJIT
01.12.15
✎
16:38
|
Придется, походу. Так это ж надо будет его отлавливать и менять всюду. Просто странно, что даже переоткрытие формы не меняет. (9)
|
|||
13
KuJIT
01.12.15
✎
16:40
|
(11) Ну.. Меняется программно. То, что меняется - это инфа сотка, т.к. рядом запросом строится динамический спсок - и он отображает актуальное значение СуммыДокументаБ
|
|||
14
Nuobu
01.12.15
✎
16:41
|
(0) ОповеститьОбИзменении (NotifyChanged)
Вариант синтаксиса: Изменен один объект Синтаксис: ОповеститьОбИзменении(<Ссылка>) Параметры: <Ссылка> (обязательный) Тип: СправочникСсылка.<Имя справочника>; ДокументСсылка.<Имя документа>; ПеречислениеСсылка.<Имя перечисления>; ПланСчетовСсылка.<Имя плана счетов>; ПланВидовРасчетаСсылка.<Имя плана видов расчета>; ПланВидовРасчетаСсылка.<Имя плана видов расчета>; БизнесПроцессСсылка.<Имя бизнес-процесса>; ЗадачаСсылка.<Имя задачи>; РегистрСведенийКлючЗаписи.<Имя регистра сведений>; РегистрНакопленияКлючЗаписи.<Имя регистра накопления>; РегистрБухгалтерииКлючЗаписи.<Имя регистра бухгалтерии>; РегистрРасчетаКлючЗаписи.<Имя регистра расчета>; ПланОбменаСсылка.<Имя плана обмена>. Ссылка измененного объекта или ключ измененной записи регистра, об изменении которой(го) необходимо уведомить динамические списки, чтобы они обновились. Поведение при очистке кэша (такое же, как при интерактивном изменении): кэш представлений ссылок - очищаются записи, соответствующие измененной ссылке; кэш данных через точку - удаляются те записи, которые имеют в пути ссылки того же типа, что и измененная; кэш данных быстрого выбора - данные хранятся по типам, очищаются данные, которые относятся к типу измененной ссылки; кэш ограничений по типу - данные хранятся по типам, очищаются данные, которые относятся к типу измененной ссылки. Описание варианта метода: Уведомляет динамические списки на клиенте об изменении одного объекта базы данных или одной записи регистра. Вариант синтаксиса: Изменено много объектов Синтаксис: ОповеститьОбИзменении(<ИзмененныйТип>) Параметры: <ИзмененныйТип> (обязательный) Тип: Тип. Тип изменившихся объектов, например "ДокументСсылка.РасходнаяНакладная". Поведение при очистке кэша - очищается вся информация, которая связана с измененным типом. Описание варианта метода: Уведомляет динамические списки на клиенте об изменении множества объектов или множества записей регистра. Доступность: Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент). Примечание: Уведомление не влияет на динамические списки, у которых не задана основная таблица. Динамические списки в тонком и веб-клиенте не обновляются при изменении данных в базе данных автоматически. Обновление динамического списка происходит при явном вызове метода, а также при выполнении стандартных команд записи данных форм. Также осуществляется очистка закэшированных данных на клиенте. В частности, очищается кэш представлений ссылок, кэш данных через точку, кэш данных быстрого выбора, кэш ограничений по типу, кэш форм выбора. Удаляется только та информация, которая стала недействительной. -------------------------------------------------------------------------------- Методическая информация |
|||
15
VikingKosmo
01.12.15
✎
16:42
|
(14) это для демонических списков, а у него форма документа
|
|||
16
KuJIT
01.12.15
✎
16:42
|
(10) Хорошо, что подсказал нужное событие. Такой маленький костыль решил проблему. Благодарю =)
|
|||
17
aleks_default
01.12.15
✎
16:43
|
Ну ты же пишешь что при изменении документа Б в А вызывается Прочитать(), вот в ПриЧтенииНаСервере и перезаполнится твой реквизит формы. Больше нигде менять не надо.
|
|||
18
aleks_default
01.12.15
✎
16:46
|
(15)Не пробовал, но вполне может сработать.
|
|||
19
Nuobu
01.12.15
✎
16:47
|
(18) Та и мне кажется, что должно сработать.
|
|||
20
KuJIT
01.12.15
✎
16:47
|
Могу проверить, если очень интересно. Надо?)
|
|||
21
Nuobu
01.12.15
✎
16:49
|
(20) Конечно!))
|
|||
22
KuJIT
01.12.15
✎
16:50
|
Нужно вызывать ОповеститьОбИзменении(СсылкаНаБ) Так? (21)
|
|||
23
Nuobu
01.12.15
✎
16:50
|
(22) Точно! Жги.
|
|||
24
KuJIT
01.12.15
✎
16:55
|
Сработало. Даже если после ОповеститьОбИзменении() Не вызывал Прочитать()
|
|||
25
Nuobu
01.12.15
✎
16:57
|
(24) Удаляй всё. Это только для динамических списков.
|
|||
26
aleks_default
01.12.15
✎
16:58
|
(25)Точно. Так в СП написано,а СП это как Библия! Шаг в сторону - на костер сразу.
|
|||
27
aleks_default
01.12.15
✎
16:59
|
Хотя лучше на костер тех кто составлял СП.
|
|||
28
KuJIT
01.12.15
✎
17:01
|
Всех на костер во имя Сотоны! ?~(????)?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |