Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)

Скрипты для платформы OpenConf: работа с формами

Назначение и установка скриптов

Скрипты для платформы OpenConf, о которых пойдёт речь в этой статье, предназначены для повышения удобства и автоматизации работы с формами конфигурации или внешних обработок 1С:Предприятия. Данные скрипты требуют наличия работающего OpenConf. Получить информацию об OpenConf (в том числе и о том, где его можно скачать вместе со скриптами, о которых пойдёт речь в этой статье) вы можете в статье "Проект OpenConf (Открытый Конфигуратор)" на этом сайте. Скрипты для платформы OpenConf распространяются свободно.

Установка скриптов сводится к следующему:

  1. Установите OpenConf, если он ещё не установлен.
  2. Установите MS XML Parser, если он не установлен на вашем компьютере.
  3. Скопируйте файл CommonServices.wsc в любой каталог на жёстком диске, например

    C:\Program Files\1Cv77\BIN\config\system\

    Этот файл не должен лежать непосредственно в подкаталоге "config" каталога исполняемых файлов 1С:Предприятия, так как все dll-файлы из этой папки OpenConf считает плагинами и пытается их загрузить в момент запуска Конфигуратора (а этот файл плагином для OpenConf не является). Зарегистрируйте в системе эту библиотеку с помощью regsvr32.exe, если это ещё не сделано. Командная строка регистрации библиотеки может выглядеть, например, так:

    regsvr32.exe "C:\Program Files\1Cv77\BIN\config\system\CommonServices.wsc"

  4. Скопируйте файлы в подкаталог "config\scripts\Forms\" каталога исполняемых файлов 1С:Предприятия, если этих файлов там ещё нет. Полный путь к этому каталогу может выглядеть, например, так:

    C:\Program Files\1Cv77\BIN\config\scripts\Forms\

    Примечание: в принципе, папку "Forms" можно и не создавать, положив скрипты прямо в "config\scripts\". Однако, кроме этих скриптов, для OpenConf существуют и другие скрипты. Если впоследствии вы захотите установить их, хорошо организованная структура папок вам пригодится.
  5. Скопируйте файл FormEditor.html в подкаталог "config\html\" каталога исполняемых файлов 1С:Предприятия, если этого файла там ещё нет. Полный путь к этому каталогу может выглядеть, например, так:

    C:\Program Files\1Cv77\BIN\config\html\

  6. Перезапустите Конфигуратор, если он был запущен.

Использование

Установленные скрипты содержат макросы (состав макросов вы можете изучить в дереве на вкладке OpenConf окна конфигурации), каждому из которых вы можете назначить сочетание клавиш через меню "OpenConf" - "Макросы" - "Клавиатура...". Вы можете запустить любой макрос и вручную, находясь в любом режиме работы, нажав Ctrl+M и выбрав нужный макрос в специальном диалоговом окне.


Скрипт Шаблоны форм.js позволяет быстро создавать формы по ранее созданным шаблонам. Полезные макросы:


МакросОписание
createFormTemplate Создаёт локальный или глобальный шаблон открытой в данный момент формы.
createControlsTemplate Создаёт локальный или глобальный шаблон, включающий выделенные элементы управления открытой в данный момент формы.
loadForm Загружает выбранный локальный или глобальный шаблон в открытую в данный момент форму.
loadControls Загружает выбранный локальный или глобальный шаблон, состоящий из группы элементов управления, в открытую в данный момент форму.
deleteFormTemplate Удаляет выбранный локальный или глобальный шаблон из списка (и физически).
deleteControlsTemplate Удаляет выбранный локальный или глобальный шаблон, состоящий из группы элементов управления, из списка (и физически).
replaceString Заменяет строки / части строк в идентификаторах, заголовках или формулах элементов управления открытой в данный момент формы с помощью регулярных выражений.

Глобальные шаблоны хранятся в файле Шаблоны форм.xml, расположенном в подкаталоге "config" каталога исполняемых файлов 1С:Предприятия (файл создаётся автоматически). Глобальные шаблоны будут доступны для выбора с помощью макросов loadForm и loadControls в любой информационной базе 1С:Предприятия. Локальные шаблоны хранятся в файле Шаблоны форм.xml, расположенном в каталоге той информационной базы 1С:Предприятия, в которой они создавались (файл создаётся автоматически) и доступны для выбора только в этой базе. Если форма содержит элементы управления, связанные со специфическими реквизитами объектов, характерными для конкретной конфигурации, есть смысл сохранять шаблон на основе этой формы как локальный.

В шаблоне формы хранится поток формы и модуль. В момент загрузки шаблона (макрос loadForm) содержимое самой формы и её модуля полностью замещается. В момент загрузки шаблона элементов управления (макрос loadControls) содержимое самой формы дополняется, а её модуль остаётся без изменений (впрочем, можно добавить вручную текст модуля в атрибут "Модуль" в файле Шаблоны форм.xml, тогда при загрузке шаблона элементов управления текст атрибута допишется в конец текущего модуля).

Макрос replaceString позволяет быстро модифицировать идентификаторы, заголовки или формулы элементов управления открытой в данный момент формы с помощью регулярных выражений (задаётся регулярное выражение для поиска и регулярное выражение для замены). В простейшем случае макрос может работать как замена заданной подстроки во всех элементах управления формы.


Скрипт Редактор форм.js служит для удобства редактирования больших многострочных частей форм документов, многострочных частей форм списков справочников и многострочных частей форм журналов. Например, можно видеть все формулы колонок табличной части в едином списке, задавать ширину колонки указанием числа и т.д. Единственный макрос openEditor открывает окно редактора (перед этим откройте форму). Редактор позволяет добавлять/удалять/вставлять колонки в выбранную позицию, менять их порядок, изменять Идентификатор, Заголовок, Формулу, Описание, Подсказку, Ширину, Положение и Видимость колонки.

Верхний ряд кнопок в окне редактора работает со списком колонок и позволяет добавлять/удалять/вставлять колонки в выбранную позицию и менять их порядок. Навигация по списку колонок осуществляется клавишами Вверх, Вниз, Home, End. В списке колонок также можно пользоваться клавишами Insert (добавить колонку), Ctrl+Insert (вставить колонку), Delete (удалить колонку), Ctrl+Home, Ctrl+End, Ctrl+Вверх, Ctrl+Вниз (перемещение колонок).

Элементы управления редактора, расположенные под списком колонок, позволяют работать с содержимым текущей строки списка (которая соответствует конкретной колонке табличной части на форме). Если произведены какие-либо изменения, перед сменой позиции (переходу к другой строке списка) следует нажать кнопку "Применить" (или клавишу Enter). Сочетание клавиш Ctrl+Enter применяет изменения и закрывает редактор.

Клавиша Escape закрывает HTML-окно редактора.


Скрипт ExpandForm.vbs служит для просмотра всех элементов управления формы и их свойств в развернутом виде (в одной таблице). Может быть удобен, например, для быстрого поиска и анализа заданных формул элементов диалога и других параметров. Единственный макрос ShowExpandForm открывает окно просмотра (форма должна быть предварительно открыта).


Скрипт Создать кнопку на форме.vbs позволит быстро создать специальную "отладочную" кнопку на форме внешнего отчёта (макрос CreateButtonReset). Если у вас открыто Предприятие и Конфигуратор, и вы отлаживаете внешний отчет (обработку), такая кнопка позволит быстро "перезагрузить" внешний отчёт в Предприятии, если он был только что исправлен в Конфигураторе (нажатие на эту кнопку в Предприятии будет равносильно закрытию отчёта и его повторному открытию).


Скрипт ПроверитьФункцииВФормулах.vbs предназначен для профилактических целей: единственный макрос CheckControlFunctionsExistens проверяет наличие функций, задействованных в элементах управления формы. Функции разыскиваются в текущем и глобальном модулях. Если ничего не найдено, то выдаётся сообщение вида ИмяСлоя - Заголовок - Идентификатор - ИмяФункции.

Людоговский Александр

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.