|
Перезапуск внешней обработки/отчета УФ | ☑ | ||
|---|---|---|---|---|
|
0
Crush
10.06.19
✎
15:23
|
Не прошло и 5-и лет. А нет, прошло:) Как снова захотелось перезапускать внешнюю обработку по кнопочке Ф5.
Ранее попытка была тут v8: Как на сервере получить объект созданной внешней обработки по уникальному ид Написал себе. Мож кому еще пригодится. На отчетах не тестил, в промышленной эксплуатации тоже еще не опробовал. Так что не пинайте. В модуль управляемой формы добавляем следующий текст и в режиме предприятия жмакаем Ф5 для перезапуска. &НаКлиенте Процедура РезетУФ(п1=Неопределено,п2=Неопределено,п3=Неопределено,п4=Неопределено) Экспорт тзп1 = ТипЗнч(п1); Если тзп1 = Тип("Булево") Тогда //Разместился файл ПолучитьФорму(?(СтрЗаканчиваетсяНа(п3,".epf"),"ВнешняяОбработка","ВнешнийОтчет")+"."+РезетУФНаСервере(п2,п3)+".Форма",Новый Структура("ИспользуемоеИмяФайла",п3),,Истина).Открыть(); Закрыть(); ИначеЕсли тзп1 = Тип("КомандаФормы") Тогда НачатьПомещениеФайла(Новый ОписаниеОповещения("РезетУФ",ЭтаФорма),,РезетУФНаСервере(""),Ложь); КонецЕсли; КонецПроцедуры Функция РезетУФНаСервере(п1=Неопределено,п2=Неопределено) рез = Неопределено; Если п1=Неопределено и п2=Неопределено Тогда //Добавим кнопку ЗаполнитьЗначенияСвойств(ЭтаФорма.Команды.Добавить("РезетУФ"),Новый Структура("Действие,Подсказка","РезетУФ",РезетУФНаСервере(""))); ЗаполнитьЗначенияСвойств(ЭтаФорма.Элементы.Добавить("кнРезетУФ",Тип("КнопкаФормы"),ЭтаФорма.КоманднаяПанель),Новый Структура("ТолькоВоВсехДействиях,СочетаниеКлавиш,ИмяКоманды",Истина,Новый СочетаниеКлавиш(Клавиша.F5),"РезетУФ")); ИначеЕсли п1<>Неопределено и п2<>Неопределено Тогда //Подключим обработку или отчет Файл = Новый Файл(п2); ЗащитаОтОпасныхДействий = Новый ОписаниеЗащитыОтОпасныхДействий; ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = Ложь; рез = ?(СтрЗаканчиваетсяНа(п2,".epf"),ВнешниеОбработки,ВнешниеОтчеты).Подключить(п1,Файл.ИмяБезРасширения,Ложь,ЗащитаОтОпасныхДействий); ИначеЕсли п1<>Неопределено и п2=Неопределено Тогда //Определим имя файла Если Не ЭтаФорма.Параметры.Свойство("ИспользуемоеИмяФайла",рез) Тогда рез = НРег(РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла); Если СтрНачинаетсяС(рез,"e1cib") Тогда рез = Команды.РезетУФ.Подсказка; КонецЕсли; КонецЕсли; КонецЕсли; Возврат рез; КонецФункции Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) РезетУФНаСервере(); КонецПроцедуры |
| Форум | Правила | Описание | Секции | Поиск |