Як відкрити або отримати форму зовнішньої обробки
Опис проблеми: в керованих формах 1С: Підприємства 8.2. неможливо викликати іншу форму об'єкта (зовнішня обробка, звіт і т.п.) звичним методом звичайних форм.
Опис проблеми: в керованих формах 1С: Підприємства 8.2. неможливо викликати іншу форму об'єкта (зовнішня обробка, звіт і т.п.) звичним методом звичайних форм (ПолучітьФорму ( "ФормаОбработкі", ЕтаФорма) .ОткритьМодально ();), так як необхідно вказувати повний шлях до форми. Чому девелопери 1С так зробили, з'ясовувати марно, бо несповідимі шляхи Господні компанії Нуралієва і Ко.
У мережі пропонуються кілька рішень. Від примітивного ОткритьФорму ( "ВнешняяОбработка.ІмяОбработкі.Форма.ІмяФорми") ;. до наворочених з приміщенням обробки в тимчасове сховище з подальшим підключенням, викликом WScript.Shell. і все це з використанням купи серверних процедур.
Пропоную ще один, цього разу зовсім простий і універсальний метод визначення повного шляху до форми об'єкта, повністю клієнтський, заснований на заміщення імені поточної форми переданим значенням. Перевагою методу є те, що при впровадженні зовнішньої обробки / звіту в конфігурацію або перейменування об'єкту, не потрібно змінювати виклики форм.
Дану функцію слід помістити в модуль викликає форми.
СімволТочка = "." ;
ПозіціяТочкі = СтрДліна (ЕтаФорма. ІмяФорми);
Поки Серед (ЕтаФорма. ІмяФорми. ПозіціяТочкі. 1) <> СімволТочка Цикл ПозіціяТочкі = ПозіціяТочкі - 1; КонецЦікла; //
Повернення Лев (ЕтаФорма. ІмяФорми. ПозіціяТочкі) + ІмяФорми;
ПараметриФорми = Новий Структура ();
ОткритьФормуМодально (ПолучітьПолноеІмяФорми ( "ІмяФормиОбработкі"), ПараметриФорми, ЕтаФорма);
Використання функції в існуючих роботах: