|
Программное закрытие выскакивающего окна
| ☑ |
0
argon4ik
28.04.21
✎
16:18
|
Доброго времени суток, уважаемые форумчане! Прошу подсказки. Имеется внешняя обработка в конфигурации 1С:УНФ. В заказе покупателя при заполненной табличной части после выбора организации вылезает окно "Цены и валюта". Пытаюсь в процедуре "ОрганизацияПриИзменении" отловить момент открытия формы и закрыть ее. Но особо не получается. Сейчас появляется ошибка отсутствия объекта "ДатаДокумента".
Закрывать пытаюсь так:
Форма = ПолучитьФорму("ОбщаяФорма.ФормаЦеныИВалюта");
Если Форма.Открыта() Тогда
Сообщить(Форма.Открыта());
Форма.Закрыть();
КонецЕсли;
|
|
1
del123
28.04.21
✎
17:31
|
Как вариант, поставить точку остановки у формы ФормаЦеныИвалюта в процедуре "ПриСозданииНаСервере" и посотреть Стек вызовов, что бы понять откуда именно она открывается.
|
|
2
argon4ik
28.04.21
✎
17:40
|
Откуда открывается - знаю: Процедура ОбработатьИзмененияПоКнопкеЦеныИВалюты(Знач ВалютаРасчетовПередИзменением, ПересчитатьЦены = Ложь, ПерезаполнитьЦены = Ложь, ТекстПредупреждения = "")
Открывается этой строчкой: ОткрытьФорму("ОбщаяФорма.ФормаЦеныИВалюта", СтруктураПараметров, ЭтотОбъект, , , , ОписаниеОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Вот в том и вопрос, как из внешней обработки отменить этот исходный код?..
|
|
3
del123
28.04.21
✎
18:17
|
Так, видимо, нужно доработать внешнюю обработку, что бы данная процедура не выполнялась? Полагаю, изменить способ заполнения документа Заказ покупателя
|
|
4
dmt
28.04.21
✎
18:30
|
Окна = ПолучитьОкна();
Для каждого Ок Из Окна Цикл
Если Ок.Заголовок = "Мое" Тогда
Ок.Содержимое[0].Закрыть();
КонецЕсли;
КонецЦикла;
|
|
5
argon4ik
29.04.21
✎
14:27
|
(4)Большое спасибо! То, что нужно!
|
|
6
argon4ik
29.04.21
✎
14:28
|
(3) (4) Но вот все-таки очень стал интересовать вопрос, как из обработки можно отменить выполнение строки исходного кода конфигурации?
|
|
7
argon4ik
29.04.21
✎
15:49
|
(6) Сделал аннотацией &Вместо, но заменил всю процедуру..
|
|