DevBookmark_Scripts_ Список всех скриптов можно найти в справочнике "Scripts":

Scripts_scr_Dict

Окно справочника разделено на две части: слева отображается дерево групп скриптов (которые в данной форме можно только редактировать, но не удалять или создавать), справа – список скриптов выбранной слева группы. Нажатием кнопки DevBookmark_Scripts панели инструментов можно включить и отключить предпросмотр выбранного в списке скрипта.

Скрипты, в коде которых обнаружены ошибками, выделены в списке оранжевым.

Записи справочника можно фильтровать по Названию скрипта (Name) и по его тексту и параметрам с помощью расширенного фильтра (Advanced filter):

Full text search – скрипт содержит полное соответствие искомому тексту;

Full of the words – скрипт содержит все искомые слова;

At least one word – скрипт содержит хотя бы одно из искомых слов;

Does not contain words – скрипт не содержит ни одно из искомых слов;

Scripts_scr_DictFilter

Tag – скрипт помечен тегом.

In scripts text – с установленным флагом осуществляется поиск по тексту скриптов;

In descriptions – с установленным флагом осуществляется поиск в описаниях скриптов;

In resources – с установленным флагом осуществляется поиск в ресурсах скриптов.

Фильтр применяется по нажатию кнопки "Apply filter". Строки с найденным текстом (только для варианта Full text search) выделяются в форме предпросмотра скрипта:

Scripts_scr_DictFilter2

Помимо справочника скриптов скрипт можно открыть:

из формы редактирования его основной части;

из списковой формы его основной части, выбрав пункт Edit script в контекстном меню, доступным по клику правой кнопкой мыши по выбранной записи списковой формы:

Services_ListForm

В заголовке формы редактирования скрипта отображается название его класса и идентификатор. Все свойства скрипта сгруппированы в форме редактирования по закладкам:

Scripts_scr_DictEditForm1

В заголовке формы редактирования скрипта помимо идентификатора открытого скрипта расположены элементы управления, ориентированные на работу с данными закладки "Script text":

кнопка Scripts_scr_DictEditForm1_openCommand – открывает открывает форму редактирования основной части скрипта, соответствующую типу (Type) скрипта:

Custom report – пользовательский отчет по итогу;

Dictionary command – команду над записью справочника;

Dictionary event handler – форму редактирования справочника;

Dictionary list command – команду над записями справочника;

Document command – команду над документом;

Document event handler – форму редактирования типа документа;

Document list command – команду над документами;

Interface – интерфейс;

Print form – печатную форму;

Report column provider – форму редактирования справочника;

Service – сервис;

Task – задачу;

Total driver – драйвер итогов;

Total event handler – форму редактирования итога;

Transactions – форму редактирования типа документа;

Transactions validators – форму редактирования итога;

User command – пользовательскую команду;

Web service – web сервис.

По нажатию на стрелку справа от кнопки Scripts_scr_DictEditForm1_InfoBtn открывается информационная панель, в которой отображаются дополнительные сведения о скрипте и его основной части. Например, для скриптов проведения есть список подтипов, в которых этот скрипт проведения включен. По двойному клику левой кнопкой мыши на строке списка название подтипа копируется в буфер обмена в виде DocumentName.Subtypes.SubtypeName.

Scripts_scr_DictEditForm1_Info

Для интерактивных команд и печатных форм отображается список параметров скрипта. По двойному клику левой кнопкой мыши на строке списка название параметра (в кавычках) копируется в буфер обмена;

Scripts_scr_DictEditForm1_Info2

кнопка "Check source" – проверяет код скрипта на наличие ошибок:

об отсутствии найденных в ходе проверки в коде скрипта ошибок будет сообщать пиктограмма Scripts_scr_DictEditForm1_CheckTick_;

Scripts_scr_DictEditForm1_CheckTick

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

Scripts_scr_DictEditForm1_CheckExclamation

Нажатие на кнопку "Check source" с такой пиктограммой сохраняет и компилирует скрипт. При этом редактирование текста скрипта и его ресурсов недоступно;

наконец, о найденных в ходе проверки в коде скрипта ошибках будет сообщать пиктограмма Scripts_scr_DictEditForm1_CheckCross_. При этом найденные ошибки будут выведены в нижней части формы во всплывающем окне:

Scripts_scr_DictEditForm1_CheckCross

Scripts_scr_DictEditForm1_Error

Двойной клик левой кнопкой мыши по ошибке приводит к позиционированию курсора на строке скрипта с этой ошибкой.

Текст выбранной ошибки можно скопировать через контекстное меню, доступное по клику правой кнопкой мыши, либо по нажатию сочетания клавиш Key-Ctrl + Key-C:

Scripts_scr_DictEditForm1_ErrorCopy

Окно ошибок можно открыть в любой момент, кликнув левой кнопкой мыши по кнопке "Errors" в левом нижнем углу формы редактирования скрипта. При этом окно ошибок автоматически скроется, при клике мышью в любой области вне его. Чтобы окно ошибок не скрывалось, его можно закрепить Scripts_scr_DictEditForm1_DockError.

При наведении курсор мыши на кнопку "Errors" (без клика) окно ошибок откроется, но автоматически скроется, как только курсор мыши покинет кнопку "Errors" или область окна ошибок;

кнопки Scripts_scr_DictEditForm1_ArrowLeft и Scripts_scr_DictEditForm1_ArrowRight – позволяют перемещаться назад и вперед соответственно по тексту скрипта по истории позиций курсора;

элемент управления "Go to line" позволяет перейти на заданную строку кода скрипта. Для перехода следует ввести номер строки в текстовое поле и нажать клавишу Key-Enter;

элемент управления "Current element" выполняет две функции:

отображает на каком элементе кода скрипта установлен в данный момент курсор;

позволяет перейти к выбранному элементу кода:

Scripts_scr_DictEditForm1_Element

bookmark На закладке "Script text" находится редактор кода скрипта. В правой области редактора расположена область навигации, показывающая какая часть скрипта отображается на экране:

кнопка "Properties" в левом нижнем углу формы редактирования – открывает всплывающее снизу окно свойств скрипта:

Scripts_scr_DictEditForm1_Properties

Name – название скрипта, присваивается автоматически и совпадает с названием класса скрипта;

Type – тип скрипта, присваивается автоматически при создании скрипта;

Group – группа, к которой относится скрипт, задается в основной части скрипта;

Generator data – дополнительный параметр скрипта, используемый в его генерируемой части;

Reference – дополнительные сборки (внешние библиотеки), используемые скриптом:

Scripts_scr_DictEditForm1_Ref

Перечисленные библиотеки должны быть либо в GAC (информацию о Global Assembly Cache можно найти на сайте MSDN link eng/rus), либо указанной директории ServerFolderName сервера приложений;

Auto align assignments – с установленным флагом происходит автоматическое выравнивание инициализируемых в коде скрипта переменных;

Highlight current line – с установленным флагом текущая строка в редакторе подсвечивается;

Окно свойств автоматически скроется, при клике мышью в любой области вне его. Чтобы окно свойств не скрывалось, его можно закрепить Scripts_scr_DictEditForm1_DockError.

При наведении курсор мыши на кнопку "Properties" (без клика) окно свойств откроется, но автоматически скроется, как только курсор мыши покинет кнопку "Properties" или область окна свойств;

кнопка "Find all" в левом нижнем углу формы редактирования – открывает всплывающее снизу окно поиска по тексту скрипта:

Scripts_scr_DictEditForm1_Find

Опции поиска, устанавливаемые флагами справа от кнопки "Find all", позволяют искать:

Match case – с учетом регистра;

Match whole word – только слово целиком;

Use Regular Expressions – используя регулярные выражения.

Двойной клик левой кнопкой мыши по результату поиска приводит к позиционированию курсора на строке скрипта с найденным фрагментом.

Окно поиска автоматически скроется, при клике мышью в любой области вне его. Чтобы окно поиска не скрывалось, его можно закрепить Scripts_scr_DictEditForm1_DockError.

При наведении курсор мыши на кнопку "Find all" (без клика) окно поиска откроется, но автоматически скроется, как только курсор мыши покинет кнопку "Find all" или область окна поиска;

кнопка "Versions history" в левом нижнем углу формы редактирования – открывает всплывающее снизу окно с историей изменения скрипта от версии к версии в ветви конфигурации, отмеченной выбранным в поле Branch or tag тегом (branch или обычным):

Scripts_scr_DictEditForm1_Versions

История изменений по версиям загружается по клику левой кнопкой мыши на кнопку "Load". Последняя версия скрипта в текущей версии конфигурации, открытая на закладке "Script", также присутствует в истории изменений.

Двойной клик левой кнопкой мыши по версии скрипта приводит к его открытию в новой закладке с соответствующим заголовком.

Если выделить, удерживая нажатой клавишу Shift или Ctrl, две версии скрипта и нажать кнопку "Diff", можно посмотреть в деталях историю изменений, которая откроется в новой закладке с соответствующим заголовком:

Scripts_scr_DictEditForm1_VersionDiff

В нижней части закладки истории изменений по версиям приведены для сравнения обе версии строки, на которой установлен курсор:

салатовым выделены измененные строки;

фиолетовым выделен удаленный текст;

голубым выделен добавленный текст.

Если выделить, удерживая нажатой клавишу Shift или Ctrl, две и более версии скрипта и нажать кнопку "Blame", можно посмотреть в новой закладке с соответствующим заголовком в какой версии конфигурации были внесены изменения в скрипт:

Scripts_scr_DictEditForm1_VersionBlame

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

Всплывающее окно истории изменений по версиям автоматически скроется, при клике мышью в любой области вне его. Чтобы окно истории изменений не скрывалось, его можно закрепить Scripts_scr_DictEditForm1_DockError.

При наведении курсор мыши на кнопку "Versions history" (без клика) окно истории изменений по версиям откроется, но автоматически скроется, как только курсор мыши покинет кнопку "Versions history" или область окна истории изменений по версиям.

кнопка "Changes history" в левом нижнем углу формы редактирования – открывает всплывающее снизу окно с историей изменения скрипта в текущей версии конфигурации (с которой работает клиентское приложение):

Scripts_scr_DictEditForm1_Historys

История изменений загружается по клику левой кнопкой мыши на кнопку "Load". Последняя сохраненная версия скрипта, открытая на закладке "Script", также присутствует в истории изменений.

Двойной клик левой кнопкой мыши по версии скрипта приводит к его открытию в новой закладке с соответствующим заголовком.

Если выделить, удерживая нажатой клавишу Shift или Ctrl, две версии скрипта и нажать кнопку "Diff", можно посмотреть в деталях историю изменений, которая откроется в новой закладке с соответствующим заголовком:

Scripts_scr_DictEditForm1_HistoryDiff

В нижней части закладки истории изменений приведены для сравнения обе версии строки, на которой установлен курсор:

салатовым выделены измененные строки;

фиолетовым выделен удаленный текст;

голубым выделен добавленный текст.

Если выделить, удерживая нажатой клавишу Shift или Ctrl, две и более версии скрипта и нажать кнопку "Blame", можно посмотреть в новой закладке с соответствующим заголовком кто и когда вносил изменения в скрипт:

Scripts_scr_DictEditForm1_HistoryBlame

Для каждой строки скрипта указана дата внесения в нее изменений и под каким пользователем они были совершены.

Всплывающее окно истории изменений автоматически скроется, при клике мышью в любой области вне его. Чтобы окно истории изменений не скрывалось, его можно закрепить Scripts_scr_DictEditForm1_DockError.

При наведении курсор мыши на кнопку "Changes history" (без клика) окно истории изменений откроется, но автоматически скроется, как только курсор мыши покинет кнопку "Changes history" или область окна истории изменений.

hotkey Редактор скрипта реализован следующий функционал и поддерживаются следующие горячие клавиши:

Key-Ctrl + Key-F – диалог поиска;

Key-F3 – найти следующее вхождение искомого фрагмента (при закрытом окне диалога поиска);

Key-Ctrl + Key-0 – вернуть стандартный размер шрифта (размер шрифта меняется вращением колеса мыши при удерживаемой клавише Key-Ctrl);

Key-Ctrl + Key-B – установить контрольную точку (breakpoint);

Key-Ctrl + Key-N – перейти к следующей строке с установленной контрольной точкой;

Key-Ctrl + Key-Shift + Key-N – перейти к предыдущей линии с установленной контрольной точкой;

Key-Ctrl + Key-Shift + Key-B – снять контрольную точку;

Key-Ctrl + Key-G – перейти на указанную линию;

Key-Ctrl + Key-H – открыть диалог поиска и замены;

Key-Ctrl + Key-I – автоматический отступ:

Scripts_scr_AutoIndentChars

Key-Ctrl + Key-M или Key-Ctrl + Key-dot – использование технологии IntelliSense:

Scripts_scr_IntelliSense

Key-Ctrl + Key-U – перевести все символы выделенного фрагмента скрипта в верхний регистр;

Key-Ctrl + Key-Shift + Key-U – перевести все символы выделенного фрагмента скрипта в нижний регистр;

Key-Ctrl + Key-Shift + Key-C – закомментировать текущую строку / выделенные строки;

Key-Ctrl + Key-M + Key-O – свернуть все блоки кода.

bookmark На закладке "Resources" расположены ресурсы скрипта и их локализованные для всех языков системы значения:

Scripts_scr_DictEditForm2

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

Для каждого из ресурсов будет сгенерировано свойство (найти которые можно на закладке "Generated Text"), значением которого будет текст на языке пользователя.

Закладка ресурсов имеет собственную панель инструментов, которая помимо создания и удаления ресурсов позволяет осуществлять их фильтрацию по Названию в соответствии с введенным в поле "Resource Name" текстом. Для фильтрации следует ввести значение в текстовое поле и нажать кнопку Dictionaries_Button_9. Сбросить фильтр можно очисткой текстового поля и повторным поиском.

Пример использования ресурсов для локализации генерируемой скриптом формы с таблицей, в которой выводятся результаты его выполнения:

var table = new SlimTable("RecentRequests") { query.ToArray() };

table.TableName = TableName;

table.Columns["ID"].Name = IDColumn;

table.Columns["Description"].Name = DescriptionColumn;

table.Columns["Comments"].Name = CommentsColumn;

table.Columns["Amount"].Name = AmountColumn;

table.Columns["OfficeName"].Name = OfficeNameColumn;

table.Columns["FrcName"].Name = FrcNameColumn;

table.Columns["CostItemName"].Name = CostItemNameColumn;

Ресурсы скрипта можно использовать как в главном, так и во вспомогательных классах:

class MyUserCommand

{

 // локализованное сообщение из ресурсов (в сгенерированной части скрипта)

 internal static string Message {

         get { return ResourceManager.GetString("Message"); } }

 

 public void Execute()

 {

         // берем сообщение-ресурс из текущего класса

         throw new UltimaException(Message);

 }

}

 

class HelperClass

{

 void MyMethod()

 {

         // берем ресурс из главного класса, в котором они объявлены

         throw new UltimaException(MyUserCommand.Message);

 }

}

bookmark На закладке "Generated Text" расположена часть скрипта, генерируемая автоматически.

bookmark На закладке "Generated Resx" расположен сгенерированный код файла ресурсов в формате resx – в том виде, в каком его получит компилятор.

bookmark На закладке "MEF cache" расположен кэш библиотеки MEF (Managed Extensibility Framework), подробное описание которой можно найти на сайте MSDN link eng/rus.