Описание макросов¶
Для расширения возможностей программы «М-АПТЕКА плюс» предлагается использовать макроописания, то есть администратор системы может на скриптовом языке написать алгоритмы вычисления данных. Работа с макросами расположена по адресу: Администратор системы → Настройка печатных форм → Описание макросов.
Примечание
В работе с макросами используется префикс организации, который может быть согласован с разработчиком. Например, для разработчика – префикс esc. Используется он для создания уникального кода макроса, что должно разрешить проблему обновления программ со стороны разработчика. Макросы, которые ведёт разработчик, доступны для конечного пользователя только в режиме просмотра, также их можно копировать.
В основном окне Описание макросов отображается список макросов:
Функция поиска макроса внутри всей строки вызывается либо по кнопке (Поиск макроса по списку), либо с помощью клавиши F3. Для того чтобы продолжить поиск, используются та же кнопка или клавиша F3.
Создание нового макроса выполняется по кнопке (Новый макрос) и состоит из следующих этапов:
-
Нажать кнопку (Новый макрос), откроется окно редактирования:
-
Поле префикса макроса начинается с символа m, далее идёт, собственно, префикс организации, если префикс не присвоен, то там пусто.
-
В поле код макроса вводится произвольное значение, состоящее из цифр и символов.
-
Наименование макроса может быть произвольным, оно будет отображаться в списке макросов.
-
При нажатии на кнопку (Метод) будет вызван редактор метода, в котором необходимо ввести выполняемый скрипт:
-
Написать скрипт и скомпилировать метод. Сохранить изменения можно с помощью кнопки (Сохранить).
-
Нажать кнопку (Сохранить макрос). Настройки вновь созданного макроса будут сохранены.
Редактирование существующего макроса происходит по кнопке (Редактировать макрос) и состоит из следующих этапов:
-
Нажать кнопку (Редактировать макрос), откроется окно редактирования.
-
При редактировании макроса префикс и код макроса доступны только для просмотра.
-
При необходимости можно отредактировать наименование макроса – он будет отображён в списке макросов.
-
Для редактирования скрипта нажать кнопку (Метод), будет вызван редактор метода.
-
Нажать кнопку (Сохранить макрос). Сохранятся настройки выбранного макроса.
Копирование существующего макроса в новый выполняется с помощью кнопки (Создать копию макроса) и состоит из следующих этапов:
-
Нажать кнопку (Создать копию макроса), откроется окно ввода нового кода, в нём надо ввести новый код со своим префиксом.
-
В окне редактирования префикс и код макроса доступны только для просмотра, поэтому не следует ошибаться при вводе.
-
Отредактировать наименование макроса (желательно, чтобы не возникло путаницы с названиями) – он будет выведен в списке макросов.
-
Отредактировать скрипт нажатием кнопку (Метод), вызовется редактор метода.
-
Нажать кнопку (Сохранить макрос). Сохранятся настройки скопированного макроса.
Удаление макроса происходит по кнопке (Удалить макрос) и состоит из следующих этапов:
-
Нажать кнопку (Удалить макрос).
-
При подтверждении запроса выполнится проверка на наличие удаляемого макроса в привязках полей. Если макрос используется, то перед удалением нужно его нужно отвязать от полей.
В редакторе метода доступны следующие переменные
-
DocDataId – ID строки документа, входной параметр, передаётся из программы.
-
Value – результат выполнения макроса, выходной параметр, передаётся в программу.
Внимание
За неправильную настройку и использование макроса, созданного клиентами, разработчики ответственности не несут.
Префикс esc зарезервирован за разработчиками «М-АПТЕКА плюс», пожалуйста, не используйте его в описании своего макроса.
Экспорт макросов осуществляется с помощью кнопки (Экспорт-импорт) и выполняется вызовом формы Экспорт-импорт описаний макросов.
Назначение некоторых макросов, входящих в поставку «М-АПТЕКА плюс» приведено на странице Назначение и использование некоторых макросов.
Дополнительно
Для выявления сбойных ситуаций (дублирования или отсутствия задействованных макросов), в стандартной поставке программы «М-АПТЕКА плюс» имеется и по умолчанию работает автозадача Проверка макросов к шаблонам документов.