Снегопат
https://snegopat.ru/forum/

ssf в epf
https://snegopat.ru/forum/viewtopic.php?f=3&t=850
Страница 1 из 1

Автор:  orefkov [ 08 июл 2020, 16:08 ]
Заголовок сообщения:  ssf в epf

Если вы не знаете, что такое ssf - не читайте, вам это не нужно.

Начиная с версии 2.2.0.1 снегопат для своих форм использует их загрузку из epf.
ssf файлы по прежнему можно запускать на выполнение, но редактирование их убрано, ибо уже давно оно валило 1С и работало только на древних релизах.
Поэтому для тех немногих скриптописателей, кто хочет дорабатывать старые ssf формы, я пишу сей гайд по их переделке в epf.

Для этого нам понадобится
Вложение:
v8unpack.zip [63.23 КБ]
Скачиваний: 1264


1. Создаем в Конфигураторе новую внешнюю обработку.
2. Добавляем в нее нужное количество форм, смотря сколько ssf вы хотите разместить в одной обработке. Формы "обычные", дизайнить их не надо, просто лишь бы были.
3. Сохраняем внешнюю обработку куданить, например filename.epf.
4. Далее делаем
Код:
v8unpack -p filename.epf filename.d

это распакует обработку в каталог filename.d
5. Выполняем
Код:
v8unpack -p filename.ssf ssf

Это распакует ssf форму в папку ssf.
6. Находим в filename.d папку с пустой формой, которую хотим заменить. Она называется примерно так: "длинный_guid.0"
Если у вас в обработке было несколько форм, то смотрите в файлах, ищите в котором будет нужное название формы, имя этого файла и будет именем папки с формой.
7. Из папки ssf копируем файлы form и module в найденную папку с формой обработки, заменяя находящиеся там form и module.
8. В скопированном файле form заменяем все {"#"," на {"ru","
9. Выполняем
Код:
v8unpack -b filename.d filename.epf

Это соберет обработку обратно.

Единственный косяк - после этого у некоторых кнопок формы в режиме выполнения пропадают заголовки, меняясь на названия кнопок.
Чтобы исправить - достаточно в форме изменить заголовок кнопки и изменить обратно (я обычно добавляю пробел убираю пробел). После этого работает.

В скрипте надо исправить loadScriptForm(имяфайла.ssf на loadScriptFormEpf(имяфайла.epf, "ИмяФормы".
Если у вас форма загружалась с помощью библиотечного расширения ScriptForm, то там надо в качестве имени файла передавать "имяфайла.epf|ИмяФормы".

Для тех, кто будет потом заливать эти правки в общий репозитарий
Положив в свой рабочий каталог epf и удалив ssf, не забудьте сделать
Код:
fossil addremove

перед тем, как публиковать изменения. Это добавит epf файл под контроль и удалит ssf файл.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/