<< Click to Display Table of Contents >> Navigation: Для опытных пользователей > Стандартные фрагменты > Редактор стандартных фрагментов |
Под стандартным фрагментом (СФ) в системе АВС в общем случае понимается некоторый поименованный набор данных, организованный специальным образом и написанный на макроязыке стандартных фрагментов. Такой набор данных воспринимается системой АВС как некоторый типовой (стандартный) набор данных, который должен быть автоматически преобразован системой в требуемый вид на базисный входной язык системы для последующей обработки основной программой системы АВС.
Применение метода библиотеки стандартных фрагментов в настоящее время становится все более популярным у пользователей системы АВС. Его применение позволяет резко сокращать объем исходных данных, переходить к параметрическому методу их представления, позволяет выпускать различную документацию, которая в явном виде системой не предусмотрена, а также является основным элементом общей схемы интеграции проектирующих подсистем со сметной подсистемой.
Обычно стандартные фрагменты помещают в нормативно-справочную базу систем, после чего они становятся доступными для автоматического включения в исходные данные. Такие фрагменты называются библиотечными, в том смысле, что они помещены в нормативную библиотеку. Кроме того, в системе АВС предусмотрена возможность обращаться к стандартным фрагментам, записанным непосредственно в исходных данных. Такие фрагменты называются текстовыми для их отличия от СФ, помещенных в в нормативно-справочную базу.
Текстовые и библиотечные СФ записываются по общим правилам и отличаются только их местонахождением.
Обращение к библиотечному фрагменту возможно лишь в том случае, если он предварительно был помещен в нормативно-справочную базу. Если происходит обращение к фрагменту, которого нет в базе, то система выдает информацию об ошибке и такие исходные данные исключаются из пакета задания.
Обращение к текстовому фрагменту возможно только после того, как он будет записан в исходных данных. Текстовой фрагмент доступен в тех исходных данных, где он непосредственно описан, а также в других исходных данных, имеющих метку продолжения "П", физически объединенных в одном пакете задания и следующих в этом пакете друг за другом.
Текстовым представлением СФ удобно пользоваться для отладки сложных СФ перед их записью в нормативно-справочную базу. Дополнительные удобства достигаются при использовании оперативного файла, куда также можно занести стандартные фрагменты и затем компоновать новые исходные данные с их применением.
Создание фрагментов осуществляется в Редакторе стандартных фрагментов.
Редактор стандартных фрагментов предназначен для разработки новых фрагментов, корректировки и проверки уже готовых фрагментов, анализа и подготовки их для пробной работы в системе АВС. Редактор стандартных фрагментов реализован в виде отдельного модуля. Вызывается он через главную панель программы. На главной панели во вкладке "Сервис" нужно вызвать выпадающее меню «Утилиты» и выбрать «Редактор стандартных фрагментов».
Редактор настроен на работу с оперативным файлом (ОФ) системы АВС и может обрабатывать стандартные фрагменты, которые находятся в данный момент в ОФ или создавать новые с последующим сохранением их в ОФ.
|
Кнопки и закладки главного меню редактора
Кнопки:
1. Создать новый СФ (редактор подготавливает пустой СФ в поле редактирования.) Сохранить СФ в ОФ (из поля редактирования СФ помещается в оперативный файл системы АВС.) 2. Вырезать (удаляет отмеченный текст в поле редактирования.) Копировать (копирует отмеченный текст из поля в системный буфер.) Вставить (вставляет текст из системного буфера в поле редактирования.) Отменить (отменяет выполненную операцию удаления или вставки текста.) 3. Найти выделенный контекст (находит отмеченный контекст далее по тексту фрагмента.) Найти связанную метку (находит далее по тексту метку перехода, выделенную в операторах условного и безусловного перехода.) 4. Проверить синтаксис фрагмента (проверяет корректность записи операторов в стандартном фрагменте) Фрагмент на выполнение (подготавливает фрагмент на контрольное его выполнение в системе АВС.) 5. Показать список фрагментов из ОФ (активизирует закладку со списком фрагментов в оперативном файле системы АВС.) Оператор "Ввод переменных" (активизирует закладку оператора "Ввод переменных") Оператор "Условный переход" (активизирует закладку оператора "Условный переход") Оператор "Логическая таблица" (активизирует закладку оператора "Логическая таблица".) Оператор "Цикл" (активизирует закладку оператора "Цикл".) Оператор "Арифметика" (активизирует закладку оператора "Арифметика".) Оператор "Диалоговая" Win-таблица ввода переменных" (активизирует закладку оператора "Диалоговая Win-таблица ввода переменных".) Операторы "Переход", "Метка", "Ошибка", "Комментарий" (активизирует закладку операторов "Переход", "Метка", "Ошибка", "Комментарий".) Переменные и значения (активизирует закладку со списком переменных используемых в редактируемом СФ.) 6. Преобразовать фрагмент (переводит операторы языка фрагментов в полный вид или сокращённый.) Настройка и параметры (уточняет работу некоторых функций редактора.) 7. Инструкция по работе с редактором фрагментов АВС. 8. Выход (завершает работу программы редактора стандартных фрагментов.)
|
Новый стандартный фрагмент или вызов СФ на редактирование
Для создания нового стандартного фрагмента необходимо нажать кнопку в главном меню формы "Создать новый СФ". В поле редактирования появится начальная запись заголовка и концовки фрагмента. Ф1-1-1’Т* … <Ф*
В качестве поискового образа нового фрагмента редактором предлагается запись вида Ф1-1-1. Эту запись можно изменить на другой уникальный поисковый образ, которого еще нет в оперативном файле. В противном случае новый фрагмент может при сохранении его в оперативный файл стереть уже существующий с таким же поисковым образом. Далее заполнение стандартного фрагмента осуществляется, ручным вводом необходимых данных в поле редактирования для простых строк, а для операторов можно воспользоваться дополнительными вкладками, расположенными в правой части редактора. Если необходимо редактировать стандартный фрагмент, который уже содержится в оперативном файле системы АВС, нужно из первой закладки формы левой кнопкой мыши отметить в списке поисковый образ фрагмента. Далее весь текст стандартного фрагмента появится в поле редактирования. После редактирования стандартный фрагмент можно сохранить в оперативный файл системы АВС, нажав на кнопку в главном меню "Сохранить СФ в ОФ".
|
В редакторе стандартных фрагментов есть возможность выделения некоторых операторов своим цветом отличным от общего цвета текста фрагмента. Это позволяет облегчить пользователю видеть логическое построение фрагмента, где как правило в тексте фрагмента задействованы и операторы и простые строки АВС. Для настройки цветовой гаммы для операторов используется закладка "Цвет". Признак "Разрешить цвет для операторов" должен быть включен.
Выбор оператора для которого будет подыскиваться соответствующий цвет осуществляется нажатием левой кнопки мыши на соответствующую строку оператора. Далее предлагается меню "Цветовая палитра операторов". После того как был выбран и отмечен нужный цвет для оператора, можно посмотреть, как будет смотреться эта цветовая гамма в редактируемом поле самого фрагмента. Для этого нужно нажать на кнопку "Применить". Если цветовая гамма подобрана неудачно, можно попробовать использовать другие цветовые сочетания для выделения операторов из общего текста фрагмента. Некоторые операторы не включены в список с настройкой на различные цветовые гаммы. Для таких операторов цвет символов определяется в разделе "Выбор цвета для редактора". Для простых строк в стандартном фрагменте использован тот же цвет. Если отключен признак "Разрешить цвет для операторов", то будет выбран цвет символов из позиции "Общий цвет символов редактора". Дополнительно в тексте редактора можно подсветить имена переменных, которые выделены с двух сторон символами "?" и "." и тем самым облегчить их визуальный поиск при разработке фрагмента. Пример выбора цветовой гаммы для подсветки операторов.
Общий цветовой фон для подложки поля редактирования выбирается и настраивается по кнопке из главной панели "Шрифт и цвет". При нажатии на эту кнопку нужно выбрать строку с текстом "Фон редактора". Если выбрать строку "Шрифт редактора", то можно указать размер, тип и другие параметры шрифта редактора.
|
Подготовка и запись операторов по шаблону
При составлении стандартного фрагмента пользователю необходимо использовать различные операторы для построения своего фрагмента. Поскольку операторы представляют собой определенную структуру представленную правилами, принятыми в специальном языке для стандартных фрагментов логического типа, то для предотвращения ошибок при их записи в текст фрагмента, можно использовать специальные закладки для подготовки нужных операторов. Этот список состоит из закладок в правой части формы редактора от закладки ":В" до закладки "ALL".
Подготовленные операторы вставляются в текст стандартного фрагмента при нажатии на кнопку "Вставить оператор". Место куда вставляется оператор, определяется расположением курсора на текущий момент в поле редактора, однако если курсор находится не в начале строки текста, то оператор вставляется перед этой строкой.
Закладка ":В" предназначена для подготовки оператора ввода имени переменной и ее значений. Имя переменной вводится в окно редактирования "Имя переменной". В качестве имени можно использовать шестнадцать символов, состоящих из русских и латинских заглавных букв, и цифр. Переменная может иметь одно или несколько значений, и записываются они в специальной таблице "Значение". В таблице значений записывается любая допустимая информация, разрешенная для записи этого оператора. Кнопка "Вставить оператор" записывает в поле редактирования готовый оператор, подготовленный по правилам языка АВС для написания стандартных фрагментов логического типа. Заметим, что выпадающее окно "Имя переменной" автоматически пополняется при каждом вводе нового имени переменной. Это справедливо для всех остальных закладок подготовки операторов. Это правило позволяет больше не вводить повторно вручную имена переменных, которые уже вводились и будут в дальнейшем использоваться в других операторах.
Закладка ":Е" предназначена для подготовки оператора условного перехода. Этот оператор может содержать в себе несколько имен переменных и такое же количество значений, которые сравниваются по определенным правилам. В качестве правила выбирается условие в рамках меню "Выбор условия". Выбор условия осуществляется указанием на соответствующую строку и активизации признака. Таблица, состоящая из двух колонок "Переменная" и "Сравниваемое значение" предназначена для записи имен переменных в первую колонку и соответствующих их значений во вторую колонку. Имя переменной можно также найти в окне "Список переменных" и тогда выбранная переменная автоматически помещается в первую колонку для имен переменных. Кнопка "Вставить оператор" записывает в поле редактора образ полученного оператора в специальном виде. Надо заметить, что запись оператора условного перехода может быть записана в разном виде, в зависимости от того, что хочет сделать разработчик фрагмента. Поэтому предлагаемый вариант, который подготавливает программа, содержит в себе общий случай записи оператора условного перехода. В дальнейшем подготовленный таким образом текст оператора условного перехода дорабатывается вручную до требуемого вида. Текст общего вида оператора условного перехода приводится в примере.
Закладка ":Т" предназначена для подготовки оператора "Логическая таблица". Как и в операторе условного перехода, здесь необходимо выбрать условие сравнения переменной и значения. Однако для этого оператора можно указать в поле "Имя переменной" только одно имя. Таблица "Сравниваемое значение" предназначена для записи значений, с которыми будут производиться логические операции. От количества значений автоматически зависит параметр "Количество условий", который определяет размер оператора логической таблицы. "Выбор блокирования строк" позволяет определить, как будут обрабатываться строки с выполненными условиями одиночными записями или группами в несколько строк. Кнопка "Вставить оператор" готовит текст получаемого оператора в поле редактора.
Закладка ":Ц" подготавливает параметры для оператора "Цикл". Таблица "Список переменных" заполняется именами переменных участвующих в цикле оператора. Запись переменных осуществляется или вручную в таблицу или через окно списка переменных "Список переменных". Группа признаков "Выбор работы цикла" определяет работу оператора по трём возможным вариантам. Кнопка "Вставить оператор" готовит и записывает текст в поле редактирования готового оператора "Цикл".
Закладка ":Х" подготавливает оператор "Арифметика". Поля ввода в данном операторе такие же, как и в операторе ":В". Дополнительное окно ввода "Округление до" позволяет определить количество знаков после запятой в результате вычислений арифметических выражений. Таблица "Список арифметических выражений" заполняется по правилам записи таких выражений принятых в системе АВС.
Закладка ":D (Win)" подготавливает структуру оператора "Диалоговая Win-таблица" для ввода переменных непосредственно при выполнении фрагмента в системе АВС в диалоговом режиме. Название получаемой диалоговой таблицы можно записать в поле редактирования "Заголовок для таблицы". Имена переменных, которые будут участвовать и получать свои значения перечисляются в таблице "Переменная". Для того чтобы было понятно, какая переменная задействована в таблице, необходимо записать текст для каждой переменной, который комментирует значение для данной переменной в колонке таблицы "Поясняющий текст". Имена переменных можно также выбирать из списка "Список переменных для таблицы". Параметр "Текстовые значения" и "Числовые значения" определяют тип полей ввода переменных, которые используются для ввода информации при работе диалогового режима фрагмента.
Закладка "ALL" предназначена сразу для подготовки четырех различных видов операторов. Оператор "Переход" имеет окно для записи числовой метки. Метка вводится вручную, как число длиной от одной до шести цифр. Оператор "Метка" также имеет окно ввода для числовой метки. При записи оператора "Переход" в текст редактора по соответствующей кнопке числовые метки в полях ввода "Переход" и "Метка" синхронизируются. Операторы "Ошибка" и "Комментарий" имеют поля ввода для текстовой информации. Эти поля заполняются и по кнопке записи переносятся в текст поля редактора.
|
Закладка "Переменные и значения" (ИМЯ)
Закладка "Переменные и значения" представляет собой информационное поле, состоящее из двух колонок таблицы. Первая колонка "Переменная" содержит список имен переменных. Имена переменных записываются в таблицу в двух случаях. Это при подготовке в закладках операторов ":В" и ":Х", причем дополнительно записывается и вторая колонка содержащая значения соответствующих переменных. Во втором случае записываются имена переменных, встреченные в тексте фрагмента в виде выделенных переменных знаками "?" и ".", причем эта информация попадает в первую колонку таблицы при нажатии на кнопку "Найти и добавить переменные из СФ". Кнопка "Стереть все" очищает полностью всю информацию, попавшую в таблицу. Кнопка "Восстановить переменные ввода" возвращает состояние таблицы для операций ":В" и ":Х". Имя переменной или его значение из таблицы можно перенести в поле редактируемого текста. Для этого нужно курсором мыши отметить место в поле редактора, куда будет производиться вставка. И затем сделать двойной щелчок левой кнопки мыши по требуемому имени переменной или ее значению в списке таблицы. При ручном вводе информации в поле редактора стандартных фрагментов если вводится символ "?" то автоматически активизируется закладка "Переменные и значения". |
Текст стандартного фрагмента, находящегося в редактируемом поле можно проверить на логическую корректность записи операторов до выполнения его в системе АВС. Автономная логическая проверка вызывается кнопкой "Проверить синтаксис фрагмента" из главного меню редактора. После вызова функции проверки выдается сообщение об отсутствии или присутствии в данном фрагменте ошибок. Если ошибки присутствуют, то дополнительно в нижней части редактируемого поля выделяется дополнительный сектор с информацией о найденных ошибках. Текст ошибок нумеруется числом, которое указывает на номер позиции в стандартном фрагменте, где была найдена ошибка. Поясняющий текст ошибок объясняет причину, по которой была выявлена ошибка. Для быстрого поиска нужного места в тексте, где есть ошибка, достаточно сделать двойной щелчок левой кнопкой мыши по строке информации об ошибке. |
Для отладки стандартного фрагмента на работоспособность можно использовать кнопку "Фрагмент на выполнение". По этой кнопке будут предложены четыре варианта работы со стандартным фрагментом. Первый вариант вызывает автономную функцию трансляции фрагмента, и транслирует его текст в режиме реального времени. Результат трансляции буде показан в редакторе в специальном окне, которое появится под текстом фрагмента. Если при трансляции будут обнаружены ошибочные ситуации, то информация об этом появятся в соответствующих окнах. Второй, третий и четвёртый вариант подготавливают исходные данные, и записывают их в оперативный файл. Подготовленные данные представляют собой исходные данные АВС с текстовым фрагментом и обращением к нему для вызова на работу. В закладке "Настройки и параметры" можно указать номер исходного данного, под которым данное будет сохранено в ОФ, и некоторые дополнительные параметры. Далее из главного меню системы АВС функцией "Расчет из ОФ" можно выполнить подготовленный фрагмент. При выполнении фрагмента обычно задаются входные параметры. Поскольку эта информация заранее неизвестна, то для полноценной отладки ее нужно вводить при каждом новом выполнении фрагмента. Для этого можно во фрагменте предусмотреть заранее ввод всех необходимых параметров в диалоге, используя, оператор "Диалоговая Win-таблица". Если в дальнейшем для работы фрагмента диалоговый режим не предусмотрен, его можно удалить или закрыть оператором "Комментарий". |
Данная функция позволяет в автоматическом режиме перевести операторы стандартного фрагмента из краткого вида написания в полный вид, и наоборот. Таблица соответствия аналогов вида операторов приводится в документе Метод стандартных фрагментов. Полный вид написания операторов фрагментов существует для большей визуализации и понятия работы логики стандартных фрагментов. Краткий вид написания операторов СФ позволяет сократить время на разработку фрагмента, т.к. отпадает необходимость ввода длинных имён операторов, что увеличивает скорость набора текстов. Далее приводится небольшой текст фрагмент в разных видах записи операторов.
|