&НаКлиенте
Процедура СтартОбновленияТекДанных () Экспорт
// Сюда не попадает!
ОбновитьТекущиеДанные ();
КонецПроцедуры
т.е. нужно после закрытия вызываемой формы выполнять некие действия. Ошибок при выполнении нет, но и результата ноль. 1с процедуру находит, но не выполняет.
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия окна ввода значения с параметром <ДополнительныеПараметры>, который содержит значение, указанное при создании объекта ОписаниеОповещения.
Если параметр не указан, то по завершении никакая процедура вызвана не будет.
(7) dj_serega, Это я в СП читал! Но не понял о каком параметре идет речь? Создалось впечатление, что речь идет о первом параметре процедуры ПоказатьЗначение(). т.е. если ПоказатьЗначение(Оповещение, СсылкаНаЧтоТо) - после зарытия вызываемой формы будет выполнена процедура, а если ПоказатьЗначение(, СсылкаНаЧтоТо) - то ничего выполняться не будет (что логично). Вообще как-то в СП невнятно, на мой взгляд, описана ситуация.
В вызове формы (ПоказатьЗначение()) действительно два параметра: Оповещение и ссылка на то, что открываем. Они заполнены. А какой параметр должен быть в процедуре, которая отрабатывает при завершении?
(10) dj_serega, Побывал так, ноль эффекта. Сейчас снова попробовал (а вдруг!) - ничего.... Побывал играться с местами расположения процедур (модуль формы, модуль объекта, общий модуль), с типом вызова (клиент, сервер), с "экспортностью" (добавлял, убирал ключевое слово "Экспорт") - всегда два варианта развития событий: либо 1с "кричит", что не может найти процедуру ("Не найден экспортируемый метод: "), либо молчит, но не выполняет...
Используется для описания вызова процедуры программного модуля, который будет осуществлен при наступлении какого-либо ожидаемого события, такого как закрытие формы или немодального диалога.
Смотрите, как я понимаю. Запускаем процедуру ПоказатьЗначение(), она вызывает форму, когда форма закрывается, и наступает событие. Вполне допускаю, что я мыслю неверно, но как тогда понять наступило событие или нет?
Задача реализуется следующая:
Есть ТЧ обработки, в эту ТЧ запросом отбираются элементы справочника, по условиям. ТЧ для пользователя отображается в режиме "Только просмотр", при клике на конкретную строку открываем форму по ссылке, которая есть в строке процедурой ПоказатьЗначение(). После того, как пользователь внес изменения в элемент справочника и закрыл форму, нужно очистить и заново заполнить ТЧ т.к. вполне возможно, что данный измененный элемент уже не нужен в ТЧ. Т.е. как только пользователь закрыл форму, нужно запускать процедуру переформирования ТЧ. Можно решить задачу модальным окном, но это не айс, сами понимаете.
1. В ТЧ могут быть ссылки на разные справочники (забыл написать выше об этом) А в ОткрытьФорму() нужно прописать первым параметром какой-то конкретный тип справочника. Но это решаемо. Интереснее другое:
2. Предположим, в ТЧ только один вид справочника, пишу следующий код:
Форма открывается, редактируется, при закрытии получаем:
В методе СтартОбновленияТекДанных количество параметров 0. Ожидаемое количество - 2.
Рискну предположить, что оповещение о событии срабатывает в нужный момент, но процедура не взлетает... Если прописать в процедуру СтартОбновленияТекДанных() какой-то фиктивный параметр (например, СтартОбновленияТекДанных(ФиктПрам)) получаем:
В методе СтартОбновленияТекДанных количество параметров 1. Ожидаемое количество - 2.
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия окна ввода значения с параметром <ДополнительныеПараметры>, который содержит значение, указанное при создании объекта ОписаниеОповещения.
А вот по ОткрытьФорму:
<ОписаниеОповещенияОЗакрытии> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия формы со следующими параметрами: <РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
(18) dj_serega, Пардон, я просто не понял о каких параметрах идет речь! В принципе взлетело, хотя некоторые мелочи надо "допиливать". Огромное вам спасибо за терпение и помощь!
p/s Однако непонятно, почему не взлетает ПоказатьЗначение()...
(20) dj_serega, Попробую! Но но в любом случаи оставлю вариант с ОткрытьФорму() т.к. не хочется потом объяснять пользователям, что вот на этой платформе конфига работает, а вот на этой нет)))))
Ошибка платформы 60011424. Не исправлена на текущий момент. Если вместо ссылки подставить в ПоказатьЗначение() любой простой тип, то ОП отработает штатно. Со ссылкой — нет.