|
Обработка событий таблицы формы | ☑ | ||
---|---|---|---|---|
0
clean_kirill
19.02.16
✎
14:06
|
Господа.
Поделитесь, пожалуйста, опытом на заданную тему. Проблема такая: по событию окончания редактирования строки таблицы формы необходимо произвести ряд манипуляций (изменить) с некими реквизитами этого объекта. В событии запрещено вызывать процедуры &НаСервере, можно только без контекста, а есть необходимость использовать уже написанные и именно серверные процедуры. Это как-нибудь решается ? |
|||
1
Nuobu
19.02.16
✎
14:44
|
(0) передачей параметров в серверные процедуры.
|
|||
2
clean_kirill
19.02.16
✎
15:09
|
Это очевидно. Но нужно передать весь объект и загонять его целиком в параметры - это как-то называется, наверное... Я о другом. Есть ли где-то событие, которое среагирует на изменение данных и в котором можно законно вызывать &НаСервере.
|
|||
3
Zhuravlik
19.02.16
✎
15:14
|
(0) почему "В событии запрещено вызывать процедуры &НаСервере, можно только без контекста", что за событие?
|
|||
4
Zhuravlik
19.02.16
✎
15:15
|
а, понял. А нельзя воспользоваться событием "ПриИзменении" поля таблицы?
|
|||
5
clean_kirill
19.02.16
✎
15:35
|
Хорошая мысль. Надо пробовать.
Процедура вешается на изменение всей строки целиком потому как любое изменение в любом поле вызывает пересчет всей строки таблицы и часть этих событий вызывают друг друга, а при окончании редактирования мы уже имеем подготовленный для дальнейшей обработки результат. |
|||
6
clean_kirill
19.02.16
✎
16:08
|
(4) Любопытно, что событие:
ТаблицаФормы (FormTable) ПриИзменении (OnChange) Синтаксис: ПриИзменении() Описание: Возникает при изменении данных. ... на самом деле возникает только при добавлении или удалении строки, но никак не при изменении данных таблицы. |
|||
7
singlych
19.02.16
✎
17:03
|
(6) Имеется в виду событие поля таблицы (т.е. колонки), а не самой таблицы. Там уже можно получить всю строку и передать ее в процедуру, где происходит пересчет. И так для всех полей, изменение к-х должно вызвать пересчет строки.
|
|||
8
clean_kirill
19.02.16
✎
17:11
|
(7) Да, у (4) так и написано - поля таблицы.
(6) Я уж так, до кучи. Для общего понимания логики разработчиков платформы. |
|||
9
singlych
19.02.16
✎
17:16
|
(8) ну дык не удивительно, меняя данные в строке, ты меняешь данные строки, а не данные таблицы. Вассал моего вассала - не мой вассал.
|
|||
10
clean_kirill
19.02.16
✎
17:20
|
(9) А как быть с изменением табличной части у объекта, который становится модифицированным ?
|
|||
11
singlych
19.02.16
✎
17:25
|
(9) (10) А вот хз, засомневался, посмотрел, у меня при изменении поля таблицы оба события срабатывают. Все-таки вассал.
|
|||
12
Nuobu
19.02.16
✎
17:29
|
(11) То потому что у тебя нету строчки "СтандартнаяОбработка = Ложь;" а у автора - скорее всего есть.
|
|||
13
clean_kirill
19.02.16
✎
17:31
|
(12) А где СтандартнаяОбработка в ПриИзменении ?
|
|||
14
clean_kirill
19.02.16
✎
17:33
|
ПриИзменении срабатывают сначала у поля, потом у таблицы, но это не означает завершение редактирования. И на такое промежуточное состояние вешать пересчет всего объекта как-то нелогично.
|
|||
15
clean_kirill
19.02.16
✎
17:34
|
(6) Вдогонку к своему посту: при изменении поля таблица реагирует (ПриИзменении), при завершении редактирования не реагирует.
|
|||
16
DmitrO
19.02.16
✎
23:54
|
(0) это решается очень просто развязкой через таймер
При окончании редактирования подключается обработчик ожидания, однократно с минимальными таймаутом. И в его процедуре делается контекстный серверный вызов. |
|||
17
clean_kirill
20.02.16
✎
11:54
|
(16) Спасибо, обязательно попробую.
Так, глядишь, пользователи построят собственную событийную модель :) |
|||
18
DmitrO
21.02.16
✎
10:11
|
Сдается мне, Билли, нас кто-то тут назвал пользователями!
|
|||
19
clean_kirill
22.02.16
✎
16:54
|
(18) Сорри, если прозвучало некорректно. Однако, я таковым себя и ощущаю, пользуя этот ... интерпретатор, в котором очень часто, вместо того, чтобы просто открыть дверь, надо ломиться через огороды и задние дворы.
Кстати, способ применил, работает, еще раз спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |