Вход | Регистрация

1С:Предприятие ::

Метки: 

v7: Отследить окончание редактирования реквизита

Я
   SssR
 
01.02.18 - 13:55
1С 7.7. Задача: Требуется запускать определенную процедуру при изменении любого реквизита формы (как шапки так и табличной части).
1. Вариант. В каждом реквизите в формуле прописать  вызов этой функции. Реквизитов много и могут добавляться  - есть вероятность пропустить

2. Неплохо было бы использовать что то типа ОбработкаВыбораЗначения, но к сожалению на момент исполнения этой предопределенной процедуры в реквизите еще старое значение реквизита.

Может подскажете идею какую нибудь. Спасибо.
 
  Рекламное место пустует
   lubitelxml
 
1 - 01.02.18 - 13:58
(0) в 7.7 вроде была такая фишка - как управлениеДостпуностью и УправлениеВидимостью. На форму помещается поле надписи, в ней формула, и при любом изменении реквизита - эта функция выполняется, попробуй в ней делать то, что тебе нужно
   SssR
 
2 - 01.02.18 - 14:03
(1) думал об этом, но она будет выполняться и при открытии(), а так как процедура будет пересчитывать другие реквизиты - будет не очень корректно, что при открытии пересчитались реквизиты, необходимо именно изменение отследить
   Ёпрст
 
3 - 01.02.18 - 14:04
(0) текст на форме с функцией отловит всё.
   lubitelxml
 
4 - 01.02.18 - 14:05
Вроде была какая-то ВК для этого, но это не точно, давно 7.7 не открывал
   drcrasher
 
5 - 01.02.18 - 14:06
(0) formex.dll имени АЛьФ
   Ёпрст
 
6 - 01.02.18 - 14:06
Ни или задействуй Класс.Перехватчик и там лови свои события
   drcrasher
 
7 - 01.02.18 - 14:07
+(5) я даже принесу http://www.dorex.pro/?projects&formex
   SssR
 
8 - 01.02.18 - 14:10
формекс знаю, пользую, но применительно к этой задаче никак не пойму как его задействовать(
   SssR
 
9 - 01.02.18 - 14:12
для табличной части очень подходит ПриОкончанииРедактированияСтроки() - а вот для реквизитов шапки что то подобное не нашел
   Ёпрст
 
10 - 01.02.18 - 14:15
 
 
   Ёпрст
 
11 - 01.02.18 - 14:24
как пример пойдёт. Пасутся все реквизиты формы, и можно вернуть их предыдущее/последующее состояние "по-кругу"
   cincout
 
12 - 01.02.18 - 14:30
(0)
   cincout
 
13 - 01.02.18 - 14:30
(0)
Процедура ОбработкаВыбораЗначения(<?>,,)
КонецПроцедуры
Синтаксис:
ОбработкаВыбораЗначения(<ВыбЗнач>,<ИдентЭлемДиалога>,<ФлагСтандОбр>)
Назначение:
Предопределенная процедура после выбора значения в форме выбора (выбор может быть инициирован в немодальном режиме интерактивно, при помощи элемента диалога с ''педалькой'').
<ВыбЗнач> - выбранный элемент справочника, документ или иной объект, передаваемый для обработки.
<ИдентЭлемДиалога> - идентификатор элемента диалога, которым инициализирован выбор значения.
<ФлагСтандОбр> - флаг, установка которого в теле процедуры в 0 (ноль) приведет к отмене стандартного присвоения значения.
Замечание:
Данная процедура может располагаться только в программном модуле формы.
Подробнее см. в документации, глава 'Системные предопределенные процедуры'
   SssR
 
14 - 01.02.18 - 14:30
(10),(11) Спасибо с перехватчиком дела иметь не приходилось. Посмотрю. Другого пути вроде нет получается.
   SssR
 
15 - 01.02.18 - 14:32
(13) один из минусов, что только реквизиты с педалькой, простые типы не отловит + мне нужно работать с контекстом, а там еще старое значение хранится
   cincout
 
16 - 01.02.18 - 14:33
(15) в параметр <ВыбЗнач> передается новое, выбранное значение
   SssR
 
17 - 01.02.18 - 14:38
(15) я понимаю. но это не решает мою проблему. У меня тогда процедура описанная в (0) не будет "понимать" какой реквизит поменялся и его новое значение, то что его название прописано в "ИдентЭлемДиалога" тоже не поможет, тогда она примет вид если ИдентЭлемДиалога="1" тогда используем значение ВыбЗнач и т.д, мне нужно поймать событие после того как реквизит уже выбран на форм= что то типа ПриОкончанииРедактированияШапки()


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует