Возможность использования внешних макросов для изменения каких-либо данных или параметров одновременно в нескольких сметах
Макросы представляют собой последовательность команд, при помощи которых можно изменять определённые данные или параметры одновременно в нескольких сметах – например, выполнить перенумерацию позиций или задать способ привязки индексов.
Макросы пишутся на языке VBScript, каждый макрос сохраняется в отдельном файле. Строки, начинающиеся с символа «’», являются комментариями и не влияют на работу макроса. При этом в макросах предусмотрен ряд констант, которые указывают, для каких типов документов предназначен данный макрос, обозначают выполняемое действие, а также определяют внешний вид кнопки для вызова макроса в ПК «ГРАНД-Смета». Такие константы начинаются с символов «‘#».
Ниже в таблице приводится перечень таких констант (в первой колонке курсивом указан пример значения для использования константы).
Наименование константы | Описание |
'#Title = Изменить режим привязки индексов в смете | Наименование кнопки для данного макроса, которое выводится на ленте с макросами |
'#Description = Изменение способа привязки индексов в локальной смете | Описание, появляющееся при наведении указателя мыши на кнопку с наименованием макроса |
'#DocTypes = Smeta | Тип документов, которые данный макрос может обработать. В том случае, если нужно указать несколько типов документов, они приводятся через запятую |
'#Category= Работа с индексами | Категория, к которой относится макрос |
'#ImageIndex = 6 | Картинка для данного макроса, которая выводится на ленте с макросами |
Используя существующие макросы в качестве образца, можно создавать свои собственные макросы, выполняющие в сметах какие угодно изменения.
Макросы находятся на компьютере в папке с данными клиента «ГРАНД-Сметы» во вложенной папке Macros. При установке программы на компьютер сюда копируются стандартные макросы, включённые в дистрибутив ПК «ГРАНД-Смета». Новые макросы, которые может создавать сам пользователь, также необходимо записывать в данную папку.
На данный момент в составе ПК «ГРАНД-Смета» предлагаются макросы для работы с индексами, а также для ряда иных действий.
Для того чтобы выполнить указанное в макросе действие одновременно в нескольких сметах, необходимо выделить в базе смет требуемые сметы (либо папки со сметами), после чего выбрать нужный макрос в выпадающем меню кнопки Макросы, которая расположена на панели инструментов на вкладке Операции.
Ниже для наглядности приводится программный код и окно выполнения макроса, выполняющего перенумерацию позиций сметы.
Программный код макроса Перенумерация позиций:
'#Title = Перенумерация позиций
'#Description = Перенумерация позиций
'#DocTypes = Smeta
'#Category = Прочее
'#ImageIndex = 0
'#InitProc:
' Инициализация и запрос параметров у пользователя
set mode = Options.AddRadioGroup("Режим")
mode.AddItem srnmSequential, "По порядку"
mode.AddItem srnmChapterFrac, "По разделам дробная"
mode.AddItem srnmChapterInt, "По разделам целая"
mode.Value = srnmSequential
set renumOptions = Options.AddGroup("Параметры")
set autoReenum = renumOptions.AddCheckBox("Автоматическая перенумерация")
set skipEmpty = renumOptions.AddCheckBox("Пропускать пустые номера")
set skipInactive = renumOptions.AddCheckBox("Пропускать неучтенные позиции")
autoReenum.Value = srnoAuto
skipEmpty.Value = srnoSkipEmptyNum
skipInactive.Value = srnoSkipInactive
set doReenum = Options.AddCheckBox("Немедленно перенумеровать")
'#DocProc:
' Работа над документом
Document.Renumerator.Mode = mode.Value
Document.Renumerator.Options = renumOptions.Value
If doReenum.Checked Then
Document.Renumerator.Renumerate
End If
Окно выполнения макроса Перенумерация позиций: