СозданиеСвязанныхОбъектов не закрывается форма выбора - что создаем
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Код в общей форме:
ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуПоПараметрам()
Только при серверном вызове выполняется код закрытия окна обработки связанных объектов.
Решили проверку, созданием запроса на уже созданные реквизит по уникальному идентификатору.
И при повторном нажатии открывается эта же форма.
ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуПоПараметрам()
Процедура ВыполнитьОбработкуПоПараметрам()
ДанныеОбработки = Элементы.ТаблицаКоманд.ТекущиеДанные;
Если ДанныеОбработки = Неопределено Тогда
Возврат;
КонецЕсли;
ВыполняемаяКоманда = Новый Структура(
"Ссылка, Представление,
|Идентификатор, ВариантЗапуска, ПоказыватьОповещение,
|Модификатор, ОбъектыНазначения, ЭтоОтчет, Вид");
ЗаполнитьЗначенияСвойств(ВыполняемаяКоманда, ДанныеОбработки);
Если НЕ ЭтоГлобальныеОбработки Тогда
ВыполняемаяКоманда.ОбъектыНазначения = ОбъектыНазначения.ВыгрузитьЗначения();
КонецЕсли;
ВыполняемаяКоманда.ЭтоОтчет = ЭтоОтчеты;
ВыполняемаяКоманда.Вид = ВидОбработок;
Если ДанныеОбработки.ВариантЗапуска = ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ОткрытиеФормы") Тогда
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, ВладелецФормы, ВыполняемаяКоманда.ОбъектыНазначения);
ИначеЕсли ДанныеОбработки.ВариантЗапуска = ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ВызовКлиентскогоМетода") Тогда
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКлиентскийМетодОбработки(ВыполняемаяКоманда, ВладелецФормы, ВыполняемаяКоманда.ОбъектыНазначения);
ИначеЕсли ВидОбработок = ПредопределенноеЗначение("Перечисление.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма")
И ДанныеОбработки.Модификатор = "ПечатьMXL" Тогда
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, ВладелецФормы, ВыполняемаяКоманда.ОбъектыНазначения);
ИначеЕсли ДанныеОбработки.ВариантЗапуска = ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ВызовСерверногоМетода")
Или ДанныеОбработки.ВариантЗапуска = ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.СценарийВБезопасномРежиме") Тогда
// Изменение элементов формы
Элементы.ПоясняющаяДекорация.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выполняется команда ""%1""...'"),
ДанныеОбработки.Представление);
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаВыполненияОбработки;
Элементы.НастроитьСписок.Видимость = Ложь;
Элементы.ВыполнитьОбработку.Видимость = Ложь;
// Вызов сервера только после перехода формы в консистентное состояние.
ПодключитьОбработчикОжидания("ВыполнитьСерверныйМетодОбработки", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
ПоказатьТолько при серверном вызове выполняется код закрытия окна обработки связанных объектов.
Решили проверку, созданием запроса на уже созданные реквизит по уникальному идентификатору.
И при повторном нажатии открывается эта же форма.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот