ОткрытьФорму ВопрсАсинх Ошибка между ними
Всем привет!! Помогите пожалуйста, почему-то открываются формы которые не должны открываться, мне кажется связано это с тем что на форме есть динамические списки, но как это исправить я не догоняю... Вроде код проще не куда, переписывала его по разному((( Формы открываются в момент открытия вопроса.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТекКонтрагент = Объект.Наименование;
Документы.Параметры.УстановитьЗначениеПараметра("Наименование", Параметры.Ключ.Ссылка);
АвтомобилиЗаказчика.Параметры.УстановитьЗначениеПараметра("Наименование", Параметры.Ключ.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ТелефонПриИзменении(Элемент)
ТекТелефон = Объект.Телефон;
НайденныйКонтрагент = ПроверкаКонтрагента (ТекТелефон);
Если Не НайденныйКонтрагент.Пустая() Тогда
ЗадаемВопросПользователю(НайденныйКонтрагент);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Асинх Процедура ЗадаемВопросПользователю(НайденныйКонтрагент)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Ждать ВопросАсинх("Найден контрагент с таким-же номером телефона, открыть форму найденого контрагента?",Режим);
Если Ответ = КодВозвратаДиалога.Да Тогда
СтруктураПараметров = Новый Структура("Ключ", НайденныйКонтрагент);
ФормаОткрытия = ПолучитьФорму("Справочник.Контрагенты.Форма.ФормаЭлемента", СтруктураПараметров);
ФормаОткрытия.Открыть();
Иначе
Возврат;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТекКонтрагент = Объект.Наименование;
Документы.Параметры.УстановитьЗначениеПараметра("Наименование", Параметры.Ключ.Ссылка);
АвтомобилиЗаказчика.Параметры.УстановитьЗначениеПараметра("Наименование", Параметры.Ключ.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ТелефонПриИзменении(Элемент)
ТекТелефон = Объект.Телефон;
НайденныйКонтрагент = ПроверкаКонтрагента (ТекТелефон);
Если Не НайденныйКонтрагент.Пустая() Тогда
ЗадаемВопросПользователю(НайденныйКонтрагент);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Асинх Процедура ЗадаемВопросПользователю(НайденныйКонтрагент)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Ждать ВопросАсинх("Найден контрагент с таким-же номером телефона, открыть форму найденого контрагента?",Режим);
Если Ответ = КодВозвратаДиалога.Да Тогда
СтруктураПараметров = Новый Структура("Ключ", НайденныйКонтрагент);
ФормаОткрытия = ПолучитьФорму("Справочник.Контрагенты.Форма.ФормаЭлемента", СтруктураПараметров);
ФормаОткрытия.Открыть();
Иначе
Возврат;
КонецЕсли;
КонецПроцедуры
Прикрепленные файлы:

Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(16) Асинхронную процедуру не ждет код, из которого она вызвана. И если в этом коде дальше что-то про открытие каких-то форм, то они откроются.
Может быть в таблице ниже телефона стоит автоввод новой строки, поэтому когда фокус попадает на нее, то в ней срабатывает событие провводеновойстроки (или как там оно называется - я хз).
Может быть в таблице ниже телефона стоит автоввод новой строки, поэтому когда фокус попадает на нее, то в ней срабатывает событие провводеновойстроки (или как там оно называется - я хз).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот