В этой статье будем писать про недокументированное использование стандартных форм.
Первичная цель: Как перенести данные из стандартной управляемой формы в форму внешней обработки с модулями?
Недавно была опубликована публикация о Недокументированное использование стандартных обработок из меню "Все функции", теперь давайте обсудим использование стандартных форм.
LF - это стандартная компилированная управляемая форма, вызываемая платформой. В платформе 1с предприятия есть стандартные формы: "Все функции", "Все сообщения", "Выбрать цвет", "Выбрать тип документа", "Выбрать шрифт" и т.д. тому подобно.
Данные о файлах с расширением LF находятся в файлах mngbase_root.res и mngbase_ru.res.
Чтобы получить встроенную в виде отдельного файла "AllFunctions.lf", нужно выполнить код:
КопироватьФайл("v8res://mngbase/AllFunctions.lf","C:\AllFunctions.lf");
Чтобы самостоятельно собрать обработку со стандартной формой "Все функции", необходимо заменить содержимое файла с именем вида <guid>.0 на содержимое файла "AllFunctions.lf".
Порядок выполнения действий "Преобразование стандартных управляемых форм":
- Открыть обработку, нажать на кнопку "Получить список ресурсов", отметить необходимые ресурсы, выбрать каталог и нажать "Распаковать и упаковать".
- В выбранном каталоге открыть любую обработку в режиме конфигуратора.
- Открыть форму внешней обработки, восстановить в ней связи между элементами и реквизитами, записать и закрыть.
- Открыть записанную обработку в режиме предприятия.
Выражаю благодарность awa за оказанную помощь. Мир его праху.
Вторичная цель: Как вытащить обычные формы?
F - это стандартная компилированная обычная форма, вызываемая платформой.
Данные о файлах с расширением F находятся в файлах в basicui*.res.
Была проблема с получением отдельного файла *.f через 'КопироватьФайл("v8res://....")'. Нашёл в интернете одну интересную публикацию Просмотр ресурсов 1С методами встроенного языка (8.3.9) о том, что можно получить эти файлы и не только.
Порядок выполнения действий "Анализ ресурсов 1С (расширенный)":
- Открыть обработку, нажать "Выбрать расширения", снять все ресурсы, выбрать ресурс "f" или "lf", нажать на кнопку "Выбрать" и "Анализ".
- Поставить галочку ".f (...)", выбрать каталог в поле "Каталог" и нажать "Преобразовать форму(ы)".
- В выбранном каталоге открыть любую обработку в режиме конфигуратора.
Автор r0610201 любезно разрешил опубликовать расширенный анализ ресурсов 1С со ссылкой на источник. За что ему большое спасибо!
Третичная цель: Есть ли возможность вытащить формы, вызываемые методами ПоказатьПредупреждение и ПоказатьВопрос?
Эти формы нет ни в mngbase*.res ни в basicui*.res, оказывается что есть еще форма CLF в mngcore*.res.
Порядок выполнения действий "Анализ ресурсов 1С (расширенный)":
- Открыть обработку, нажать "Выбрать расширения", снять все ресурсы, выбрать ресурс "f" или "lf", нажать на кнопку "Выбрать" и "Анализ".
- Поставить галочку ".clf (...)", выбрать каталог в поле "Каталог" и нажать "Преобразовать форму(ы)".
- В выбранном каталоге открыть любую обработку в режиме конфигуратора.
Не стоит забывать, что такое использование стандартных форм является недокументированным.