Возможность использования внешних макросов для изменения каких-либо данных или параметров одновременно в нескольких сметах

Макросы представляют собой последовательность команд, при помощи которых можно изменять определённые данные или параметры одновременно в нескольких сметах – например, выполнить перенумерацию позиций или задать способ привязки индексов.

Макросы пишутся на языке VBScript, каждый макрос сохраняется в отдельном файле. Строки, начинающиеся с символа «’», являются комментариями и не влияют на работу макроса. При этом в макросах предусмотрен ряд констант, которые указывают, для каких типов документов предназначен данный макрос, обозначают выполняемое действие, а также определяют внешний вид кнопки для вызова макроса в ПК «ГРАНД-Смета». Такие константы начинаются с символов «‘#».

Ниже в таблице приводится перечень таких констант (в первой колонке курсивом указан пример значения для использования константы).

Наименование константы Описание
'#Title = Изменить режим привязки индексов в смете Наименование кнопки для данного макроса, которое выводится на ленте с макросами
'#Description = Изменение способа привязки индексов в локальной смете Описание, появляющееся при наведении указателя мыши на кнопку с наименованием макроса
'#DocTypes = Smeta Тип документов, которые данный макрос может обработать. В том случае, если нужно указать несколько типов документов, они приводятся через запятую
'#Category= Работа с индексами Категория, к которой относится макрос
'#ImageIndex = 6 Картинка для данного макроса, которая выводится на ленте с макросами

Используя существующие макросы в качестве образца, можно создавать свои собственные макросы, выполняющие в сметах какие угодно изменения.

Макросы находятся на компьютере в папке с данными клиента «ГРАНД-Сметы» во вложенной папке Macros. При установке программы на компьютер сюда копируются стандартные макросы, включённые в дистрибутив ПК «ГРАНД-Смета». Новые макросы, которые может создавать сам пользователь, также необходимо записывать в данную папку.

На данный момент в составе ПК «ГРАНД-Смета» предлагаются макросы для работы с индексами, а также для ряда иных действий.

Возможность использования внешних макросов для изменения каких-либо данных или параметров одновременно в нескольких сметах - student2.ru

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

Возможность использования внешних макросов для изменения каких-либо данных или параметров одновременно в нескольких сметах - student2.ru

Ниже для наглядности приводится программный код и окно выполнения макроса, выполняющего перенумерацию позиций сметы.

Программный код макроса Перенумерация позиций:

'#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

Окно выполнения макроса Перенумерация позиций:

Возможность использования внешних макросов для изменения каких-либо данных или параметров одновременно в нескольких сметах - student2.ru

Наши рекомендации