|
Есть на управляемой форме поле с данными через точку от реквизита формы ссылки | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
29.01.16
✎
20:49
|
Дано:
Поле1.Данные = "Номенклатура"; Поле2.Данные = "Номенклатура.ПометкаУдаления"; Выполнено: Объект = Номенклатура.ПолучитьОбъект(); Объект.ПометкаУдаления = Не Объект.ПометкаУдаления; Объект.Записать(); Требуется: Обновить в Поле2 отображение данных на актуальное значение. Пробовал: ОповеститьОбИзменении(Номенклатура); Не помогает. |
|||
1
Cyberhawk
29.01.16
✎
20:56
|
Обновить значение в поле управляемой формы
Второй пост (костыль) |
|||
2
TormozIT
гуру
29.01.16
✎
21:01
|
(1) Костыль помог. Спасибо. Правда он перечитывает всю колонку в случае таблицы формы вместо одной ячейки. Но это лучше чем ничего.
|
|||
3
Лефмихалыч
29.01.16
✎
21:43
|
значениеВРеквизитФормы(Объект, "Объект")?
|
|||
4
FIXXXL
29.01.16
✎
23:27
|
(0) передать в выполнено реквизит формы и присвоить ему новое значение
|
|||
5
Новиков
01.02.16
✎
12:00
|
А мне что-то и костыль-то не помог.
&НаКлиенте Процедура Тест(Команда) ТекущиеДанные = Элементы.СписокНоменклатуры.ТекущиеДанные; ТестНаСервере(ТекущиеДанные.Номенклатура); Оповестить("ЗакрытьВсе"); КонецПроцедуры &НаСервере Процедура ТестНаСервере(Номенклатура) ОбНоменклатура = Номенклатура.ПолучитьОбъект(); ПУ = НЕ ОбНоменклатура.ПометкаУдаления; ОбНоменклатура.УстановитьПометкуУдаления(ПУ,Истина); ОбНоменклатура.Записать(); КонецПроцедуры &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия="ЗакрытьВсе" Тогда Элементы.СписокНоменклатуры.Видимость = Ложь; Элементы.СписокНоменклатуры.Видимость = Истина; КонецЕсли; КонецПроцедуры TormozIT, если у тебя обработка - не мог бы выложить, я б взглянул, где сам косячу :) |
|||
6
Cyberhawk
01.02.16
✎
12:29
|
(5) Если у тебя список - это дин. список, то тебе костыль не нужен - метод ОповеститьОбИзменении должен корректно отрабатывать
|
|||
7
Новиков
01.02.16
✎
13:05
|
(6) у меня не динамический список. Обычная таблица. Более того, подметил такое - она один раз заполнилась и все. Далее, когда пометку ставишь/снимаешь, даже если обработку вообще закрыть и открыть заново, все равно - поле пометка, содержит самое первое значение. Такое чувство, что оно как-то кэшируется. Только перезапуск сеанса спасает ситуацию.
|
|||
8
TormozIT
гуру
02.02.16
✎
17:31
|
(7) Конечно кешируется. Это и не скрывают. В (6) уже писали - используй метод ОповеститьОбИзменении(Ссылка).
|
|||
9
Новиков
02.02.16
✎
17:40
|
(8) Так ты ж сам в (0) писал, что ОповеститьОбИзменении(Ссылка) у тебя не покатил, и ты использовал костыль из (1). Ты то как в итоге сделал? Я подумал что доиграл с видимостью.
|
|||
10
TormozIT
гуру
02.02.16
✎
18:29
|
(9) У меня не динамический список.
|
|||
11
Tateossian
02.02.16
✎
18:33
|
Заблокировать поля для редактирования другим сеансом.
|
|||
12
Новиков
02.02.16
✎
20:36
|
(10) епт, так у меня тоже НЕ ДИНАМИЧЕСКИЙ список. Я просто решил повторить твой пример, с целью проверки твоих граблей. Грабли есть, а костыль из (1) как представлено в (5) мне не помог.
|
|||
13
Остап Сулейманович
02.02.16
✎
20:58
|
(7) "у меня не динамический список. Обычная таблица."
Это как? Таблица значений? Табличный документ? Или что? ИМХО - у тебя как раз динамический список. Но источник данных - не произвольный запрос, а конкретная таблица "справочник.Номенклатура". И оповестить + обновить вполне себе сработает. |
|||
14
Новиков
03.02.16
✎
09:54
|
(13) >>Это как?
1. Создай у формы реквизит с типом Таблица Значений 2. У этой таблице сделай одну колонку с типом СправочникСсылка.Номенклатура 3. Перетащи реквизит на форму, автоматом создастся элемент формы Таблица с одной колонкой Номеналатура 4. Плюсом разверни колонку реквизита, найди там ПометкаУдаления и перетащии ее в форму. Создастся еще одна колонка. Далее (0), далее (5), далее (9) :) |
|||
15
TormozIT
гуру
03.02.16
✎
18:04
|
(14) Покажи код
|
|||
16
Новиков
04.02.16
✎
09:59
|
(15) Долгоиграющаяя ветка! Код показан полностью в (5)
|
|||
17
palpetrovich
04.02.16
✎
11:08
|
(0) имхо, тз с этими "данными" вообще ничего не знает что-там с реальными данными происходит, даже если их прибьют физически для тз ничего не изменится до тех пора пока не будет попытки их перечитать
а оповещатьОбИзменении из всех возможных форм наверное будет накладно :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |