|
Посмотреть, какие события вызываются при работе | ☑ | ||
---|---|---|---|---|
0
Dmitriy_
Kolesnikov 21.11.12
✎
14:32
|
Добрый день! Существует ли возможность в реальном времени посмотреть, какие события и каких объектов вызываются при действиях пользователя? Типа монитора событий.
Задача такая. В форме элемента справочника Контрагенты есть табличное поле БанковскиеСчета. Я хочу перехватить момент окончания добавления нового счета из этой формы (и сделать с ним кое-что), но не могу понять, какое событие происходит при окончании добавления нового элемента. |
|||
1
Maxus43
21.11.12
✎
14:36
|
замер производительности
|
|||
2
Maxus43
21.11.12
✎
14:37
|
+ если надо знать на какие кнопки нажал юзер - логирование
|
|||
3
Лефмихалыч
21.11.12
✎
14:38
|
+(2) ключ запуска предприятия /logui
|
|||
4
Maxus43
21.11.12
✎
14:38
|
но всё это не в реальном времени. в реальном времени - отладчик
|
|||
5
Dmitriy_
Kolesnikov 21.11.12
✎
14:50
|
Отладчик показывает, что кроме события ПередЗаписью справочника Банковские счета, ничего больше не вызывается :(
Обидно, придется сочинять свою кнопку "Добавить новый счёт" |
|||
6
Maxus43
21.11.12
✎
14:59
|
(5) клиент-сервер? отладчик может соврать в этом случае
|
|||
7
Maxus43
21.11.12
✎
14:59
|
замер производительности на файловой - точно покажет ВСЁ
|
|||
8
Dmitriy_
Kolesnikov 21.11.12
✎
15:18
|
SQL
|
|||
9
Maxus43
21.11.12
✎
15:20
|
(8) тогда ключ debug и замер производительности, а лучше на файловой разверни
|
|||
10
Maxus43
21.11.12
✎
15:22
|
з.ы. а может ничего больше и не вызывается, кроме ПередЗаписью?
|
|||
11
Dmitriy_
Kolesnikov 21.11.12
✎
15:38
|
(9) на файловой её не развернешь, база огромная.
Ды я уже свою кнопку делаю. (10) вероятно, вы правы. Просто удивительно, что в форме списка добавляется новая строка (в результате создания нового элемента справочника), она выводится, становится текущей, а никаких событий это не вызывает. |
|||
12
Maxus43
21.11.12
✎
15:41
|
(11) что что?
>>Просто удивительно, что в форме списка добавляется новая строка (в результате создания нового элемента справочника), она выводится, становится текущей, а никаких событий это не вызывает. это платформенное, поведение списка справочника. Что вы хотите там изменить то? |
|||
13
motkot
21.11.12
✎
15:49
|
(0) а какая версия платформы и формы какие?
|
|||
14
Dmitriy_
Kolesnikov 21.11.12
✎
15:52
|
(11) ОсновнойБанковскийСчет = НовыйСчет;
(0) 8.1 |
|||
15
motkot
21.11.12
✎
15:59
|
(14) я вот честно говоря не помню, когда появилось "ОповеститьОЗаписиНовогоОбъекта", но может в эту сторону посмотреть?
|
|||
16
НЕА123
21.11.12
✎
16:01
|
(14)
ПриИзменении ? вопрос теперь в том что НовыйСчет это действительно Новый? |
|||
17
НЕА123
21.11.12
✎
16:03
|
(15)
в 81 было уже, по-крайней мере оповестить() точно. |
|||
18
vmv
21.11.12
✎
16:04
|
(0) в последней бетта-версии платфомы 8.2
|
|||
19
Dmitriy_
Kolesnikov 21.11.12
✎
16:05
|
Чота не соображу, как правильно получить ссылку на созданный счет. Вот что происходит при нажатии кнопки СоздатьНовыйСчетПоУмолчанию:
ФормаЭлемента = Справочники.БанковскиеСчета.ПолучитьФормуНовогоЭлемента(, ЭтотОбъект.Ссылка); ФормаЭлемента.Владелец = ЭтотОбъект.Ссылка; БанковскийСчет = ФормаЭлемента.ОткрытьМодально(); ОсновнойБанковскийСчет = БанковскийСчет; Получаем: БанковскийСчет = Неопределено. Как же мне узнать, какой счет создал пользователь? |
|||
20
motkot
21.11.12
✎
16:06
|
(19) посмотреть в (14) и (17) можно?
|
|||
21
motkot
21.11.12
✎
16:07
|
* в (15)
|
|||
22
vmv
21.11.12
✎
16:09
|
+(0) в вашей постановке задачи надо переопределять обработчики модификации списка и открывать формы элементов(записей) модально, тогда можно будет "Я хочу перехватить момент окончания добавления нового счета из этой формы (и сделать с ним кое-что)"
для РС, например, аналогично сделать для списка справочника пустяк, мне лень искать в своих &НаКлиенте Процедура ДсУчетПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) Отказ = Истина; ВызываемаяФормаИмя = "РегистрСведений.Add_IR_УчетСБ.Форма.ФормаЗаписи"; ВызываемаяФормаПараметры = Новый Структура; Если Копирование И Элемент.ТекущиеДанные <> Неопределено Тогда ВызываемаяФормаПараметры.Вставить("ЗначениеКопирования", Элемент.ТекущаяСтрока); Иначе СтрокаБ = Элементы.Список.ТекущаяСтрока; Если НЕ ЗначениеЗаполнено(СтрокаБ) Тогда Предупреждение("Не выбрана текущая статья Баланса", 10); Возврат; КонецЕсли; СтруктураЗначенияЗаполнения = Новый Структура; // Измерения СтруктураЗначенияЗаполнения.Вставить("СтрокаБ", СтрокаБ); // Ресурсы СтруктураЗначенияЗаполнения.Вставить("Действует", Истина); ВызываемаяФормаПараметры.Вставить("ЗначенияЗаполнения", СтруктураЗначенияЗаполнения); КонецЕсли; ВызываемаяФорма = ПолучитьФорму(ВызываемаяФормаИмя, ВызываемаяФормаПараметры, ЭтаФорма); ВызываемаяФорма.ОткрытьМодально(); // Обработчики после закрытия модальной формы ОбновитьТзРасчета(); КонецПроцедуры &НаКлиенте Процедура ДсУчетПередНачаломИзменения(Элемент, Отказ) Отказ = Истина; ВызываемаяФормаИмя = "РегистрСведений.Add_IR_УчетСБ.Форма.ФормаЗаписи"; ВызываемаяФормаПараметры = Новый Структура; Если Элемент.ТекущиеДанные <> Неопределено Тогда ВызываемаяФормаПараметры.Вставить("Ключ", Элемент.ТекущаяСтрока); ВызываемаяФорма = ПолучитьФорму(ВызываемаяФормаИмя, ВызываемаяФормаПараметры, ЭтаФорма); ВызываемаяФорма.ОткрытьМодально(); // Обработчики после закрытия модальной формы ОбновитьТзРасчета(); Иначе Предупреждение("Не выбрана текущая строка списка", 10); Возврат; КонецЕсли; КонецПроцедуры |
|||
23
Dmitriy_
Kolesnikov 21.11.12
✎
16:12
|
(21) да, есть такое в 8.1, уже разбираюсь
|
|||
24
vmv
21.11.12
✎
16:15
|
Оповещения тоже можно, но там легко проколоться с иденификатором события - я предпочитаю переопределять обработчики модификации списков
|
|||
25
Dmitriy_
Kolesnikov 21.11.12
✎
16:16
|
(22) да, событие ПередНачаломДобавления вызывается. Но как из него получить ссылку на вновь созданный объект, я не знаю (см. мой код - его можно было бы вставить в это событие)
|
|||
26
motkot
21.11.12
✎
16:17
|
(25) самое простое - понять оповещения между формами
|
|||
27
vmv
21.11.12
✎
16:24
|
(25) в (19) у тебя практичитески готовый код с полученной ссылкой для этого обработчика
|
|||
28
vmv
21.11.12
✎
16:27
|
Получаем: БанковскийСчет = Неопределено.
там так потому-что модальные формы возвращают значащее значение если они в режиме выбора, но ведь можно получить ссылку прямо из переменной формы в случае не включения режима выбора, хотя модальная форма и закрылать но конца метода где ее вызвали она содержит в себе все данные |
|||
29
vmv
21.11.12
✎
16:31
|
на 8.1 проверить ссылку "зашитую" в форму можно через ФормаЭлемента.Ссылка.Пустая() или ФормаЭлемента.Ссылка.ПолучитьОбъект()
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |