Rambler's Top100   Методики автоматизации предприятия  Автоматизация предприятия Методики автоматизации предприятия   
   Главная       О компании       Решения       Цены       Скачать       Заказать       Оплатить       Контакты       Обратная связь   
среда
Автоматизация предприятия БОС
  Просмотров..933077
  Сегодня.....152
  Хостов......37

Оглавление:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  


Часть 4. Автоматика.

Глава 12. Автоматические расчеты

Введение

В системе БОС исторически принята следующая терминология в области автоматических действий над информацией. Процесс обработки информации объектов среды и объектов экранного интерфейса называется РАСЧЕТОМ. Последовательность расчетов, выполняемых в одной логической цепочке, называется ПАКЕТОМ.

Расчет является автоматическим процессом, но может выполняться с некоторым участием пользователя при вводе каких-либо дополнительных данных или принятия альтернативных решений. С этой точки зрения термины расчет и пакет должны применяться в сочетании со словом автоматический: автоматический расчет, автоматический пакет. При дальнейшем изложении будут использоваться оба варианта в зависимости от контекста обсуждаемой темы.

С точки зрения описания структуры расчетов и пакетов им можно дать следующие более строгие определения:

АВТОМАТИЧЕСКИЙ РАСЧЕТ - гибкая алгоритмическая структура, описывающая процесс обработки информации, элементами которой выступают различные действия в объектах среды и экранного интерфейса, запросы и ссылки на другие элементы.

АВТОМАТИЧЕСКИЙ ПАКЕТ - гибкая алгоритмическая структура, состоящая из последовательности автоматических расчетов с указанием места и способа запуска пакета на выполнение. Без указания места запуска пакет попадает в список пользователя указанной группы и может запускаться автономно через меню.

Пакет является структурой более высокого уровня, не только объединяющей расчеты, но, главное, определяющей точку и способ активации в среде БОС. Даже для запуска одного расчета потребуется включить его в отдельный пакет. Для простоты обсуждения будет допускаться замена понятия пакет термином расчет, тем более, что в половине случаев пакеты состоят из одного расчета.

Каждая среда имеет свой набор пакетов и расчетов, обслуживающих учетные задачи и прочие информационные потребности. Расчеты дополняют штатные средства системы возможностью гибкой обработки (контроля) информации и возможностью создания произвольного сценария взаимодействия пользователя с объектами среды БОС.


Автоматический расчет

1.1. Архитектура

Архитектура расчета может быть представлена условной схемой, показанной на рис.12.1. Каждый расчет имеет уникальный НОМЕР в диапазоне 1...9999 и произвольное ИМЯ, присваиваемое администратором и отражающее его назначение.

Расчет состоит из набора ЭЛЕМЕНТОВ различного типа по действию над информацией объектов среды и экрана. Элементы могут включаться в ФОРМУЛУ расчета, левая часть которой является результатом, возвращаемым при завершении расчета в точку запуска. Элементы могут содержать различные УСЛОВИЯ обработки информации определяемых в них объектов.

XXXX     Имя расчета
[1] = Формула расчета
Элемент [2]  Условие 1
тип А Условие 2
Условие 3
Элемент [3]  Условие 1
тип B Условие 2
Условие 3

Рис.12.1. Условная схема расчета

Выполнение расчета заключается в последовательной обработке его элементов в порядке следования их в списке. При определенных условиях обработка элементов может повторяться, пропускаться или прерываться.

Например, для формирования значения суммы в панели оборотов счета 1201 необходимо по коду МБП (из панели) в справочнике ЦЕНЫ МБП получить значение цены и умножить её на количество (из панели).

Если этот расчет включить в пакет, который будет запускаться на поле СУММА, то результат расчета попадет в поле ввода и пользователю надо будет его только подтвердить.


1.2. Элементы

Каждый элемент имеет уникальный НОМЕР в диапазоне 1...999, произвольное ИМЯ, присваиваемое администратором, и значение, присваиваемое до или после его обработки. Значение может быть любого типа длиной до 130 знаков.

Элементы могут различного типа, в зависимости от объекта обработки. Если тип элемента не определен, такой элемент служит для хранения различных констант. Например, наиболее часто в расчетах используются следующие типы элементов:

  • Панель ОБОРОТОВ;
  • Панель ОСТАТКОВ;
  • Панель СПРАВОЧНИКА;
  • База БУФЕРА счета;
  • База ОБОРОТОВ счета;
  • База ОСТАТКОВ счета;
  • База СПРАВОЧНИКА;
  • База БУФЕРА ДОКУМЕНТА;
  • ЗАПРОС с экрана;
  • СООБЩЕНИЕ на экран;
  • СЧЕТ текущей панели.

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

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

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

Например, при обработке перечисленных выше типов элементов системой выполняются следующие действия:

ПАНЕЛЬ - производится обращение к полям панели заданного объекта среды БОС. Возможно, как получение, так и подстановка значений заданных полей.

БАЗА - производится обращение к полям базы заданного объекта среды БОС, как на чтение так и на запись. При обработки баз возможны операции поиска, замены, удаления, подсчета, суммирования по различным условиям с использованием индексов для быстрой обработки или без них.

ЗАПРОС - производится выдача на экран: либо панели ввода информации заданного типа и присвоение введенного значения данному элементу, либо таблицы заданного справочника, в которой можно произвести выбор информации, в т.ч. разметку записей для сканирования.

СООБЩЕНИЕ - производится выдача на экран панели с заданным сообщением. После нажатия любой клавиши продолжается обработка следующих элементов расчета.

При использовании специальных конструкций в имени элемента можно реализовывать значительно более сложные алгоритмы выполнения расчетов. Для этого предусмотрены следующие РАСШИРЕННЫЕ возможности обработки:

- Элемент может представлять собой логическое условие перехода на другие элементы или выхода из расчета.

- Элемент может представлять собой арифметическое выражение с использованием других элементов, результат которого присваивается данному элементу.

Таким образом последние возможности позволяют превратить расчет в мини-программу логических и технических действий системы над объектами среды. А наличие формул двух уровней: на уровне расчета и на уровне элемента (всего 1000), позволяют выполнять самые сложные вычисления.


1.3. Формула

Формула расчета состоит из левой и правой частей, разделенных знаком равенства. В обеих частях могут использоваться значения любых элементов расчета, изображаемых в виде их номеров, взятых в квадратные скобки. В правой части элементы образуют арифметическое выражение, в левой - просто перечень. Левая часть всегда содержит элемент [1], в котором хранится результат расчета.

Обработка элементов расчета производится следующим образом. Сперва обрабатываются элементы, входящие в правую часть формулы или не входящие в неё вообще. Порядок обработки при этом соответствует порядку следования этих элементов в списке или условиям перехода. Потом производится вычисление правой части формулы и присвоение результата всем элементам в левой части. После чего обрабатываются элементы левой части. На этом расчет завершается.

Допускается включение в формулу не всех элементов, а только необходимых, и даже полное отсутствие элементов или определение формулы, как "пустой". Такое бывает довольно часто, когда целью расчета является не какое-то вычисление, а поиск и подстановка данных справочного характера.

Допускается включение в формулу некоторых других функций языка СУБД, в том числе функций работы с символьными строками, и многое другое, но это уже предмет деятельности администратора (см. книгу "Инструментальные средства БОС").

Приведем пример простого расчета:

-------------------------------------------------
[ 1] [20] = ( [4] - [6] ) * [8] / 100
-------------------------------------------------
[ 1]     Результат
[ 2]     Получение из панели . . .
[ 4]     Поиск . . .
[ 6]     Получении из панели . . .
[ 8]     Ставка . . .
[10]     Очистка в . . .
[20]     Подстановка в панель . . .
-------------------------------------------------

В результате выполнения данного расчета сперва будут обработаны в следующем порядке элементы [2], [4], [6], [8], [10]. Потом будет выполнена правая часть формулы и результат присвоен элементам [1],[20]. Далее при обработке левой части формулы, в элементе [20] будет выполнена подстановка в поле панели, которое примет значение результата расчета. Таким образом, если расчет активировался в каком-то поле панели, то его результат после выполнения может попасть не только в поле активации, но и в другие заданные поля.


1.4. Условия

Условия элементов определяют каким образом производится обработка объекта данного типа. Условия представляют список простых логических выражений, левая часть которых является заданным полем объекта, а правая конкретным значением или ссылкой на значение другого элемента. По умолчанию все условия списка объединяются логической операцией "И", но возможно объединение условий и логической операцией "ИЛИ". Перед выполнением элемента производится анализ условий и формирования логического выражения обработки данных.

В отдельных типах элементов возможна иная трактовка списка условий или вообще их отсутствие:

ПАНЕЛЬ - условия представляют список полей панели, в которые при выполнении данного элемента будут подставлены новые значения из правой части условий. Используется только знак равенства.

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

Например, необходимо найти в оборотах субсчета 101 "Основные средства" сумму кредитовой проводки в корреспонденции со счетом 200 для основного средства с инвентарным номером, взятым по ссылке на другой элемент расчета и датой меньше текущей. Список условий в этом элементе будет выглядеть следующим образом:

----------------------------------------------
Субсчет     >>    101
Сч.корр.     =    200
Инвент.N     =    [10]
Дата пров.     <    ТЕК.ДАТА
----------------------------------------------

Здесь в первом условии использован дополнительный знак, означающий быстрый поиск информации по заданному в элементе индексу базы.


Автоматический пакет

1.5. Архитектура

Каждый пакет имеет уникальный НОМЕР в диапазоне 1...9999 и произвольное ИМЯ, присваиваемое администратором и отражающее его назначение. Пакет состоит из набора РАСЧЕТОВ различного назначения. Для пакета определяется ТОЧКА и СПОСОБ его запуска в среде БОС. Для пакета может быть определен результат, возвращаемый при завершении пакета в точку запуска. Результатом пакета определяется результат какого-нибудь одного расчета. Архитектура пакета может быть представлена условной схемой на рис.12.2:

XXXX Имя пакета . . .
Место запуска . . .
Способ запуска . . .
Возвращаемый результат
Расчет 1201 . . .
Расчет 1202 . . .
Расчет 1501 . . .
Расчет 2005 . . .

Рис.12.2. Условная схема пакета

Выполнение пакета заключается в последовательной выполнении его расчетов в порядке следования их в списке. При определенных условиях выполнение расчетов может повторяться, пропускаться или прерываться.


1.6. Точка запуска

Точка запуска определяет объект и поле, в котором происходит активация пакета. После завершения пакета в эту точку возвращается управление и результат, если последний имеет смысл. Могут быть следующие варианты точек запуска:

  • Панель ОБОРОТОВ;
  • Панель ОСТАТКОВ;
  • Панель СПРАВОЧНИКА;
  • Панель БУФ.ДОКУМЕНТА;
  • Отчет БОС;
  • Макет проводки АВТОМ.ОПЕРАЦИИ.

Если для пакета не определена точка запуска, то он включается в СПИСОК ПОЛЬЗОВАТЕЛЯ определенной группы (смысловой или панельной) и может запускаться автономно в любой момент работы. Доступ к таким пакетам можно получить через рабочее меню системы или через режим "F9.Сервис" в панели любого объекта системы.


1.7. Способ запуска

Способ запуска определяет варианты старта пакета в поле панели. Напомним, что в режиме работы любого поля есть момент НАЧАЛА и момент КОНЦА ввода/корректировки информации. Следовательно пакет можно запустить в любой из этих моментов, что определяет различные возможности по передаче информации. Кроме того можно запустить пакет, спросив разрешения у пользователя, или не делая этого.

Для каждого пакета можно установить сочетание следующих способов запуска:

ДО ПОЛЯ - пакет запускается в момент начала работы в поле. После завершения пакета, его результат, если он был определен, присваивается полю и становится его текущим значением.

В ПОЛЕ - пакет запускается в момент конца работы в поле. Элементы расчетов, входящих в этот пакет, могут использовать текущее значение поля. После завершения пакета, его результат никуда не помещается.

ПО ЗАПРОСУ - в строку сообщения выводится информация о подключенном к полю пакете. При нажатии клавиши пакет запускается, при нажатии любой другой клавиши пакет игнорируется.

АВТОМАТИЧЕСКИ - пакет немедленно запускается без каких- либо предупреждающих сообщений. Это наиболее часто используемый вариант.


Отражение на экране

Наличие закрепленных пакетов в панели ввода показывается специальными индикаторами в виде темных шариков (Рис.12.3). Поместив на них мышь, можно узнать номер и назначение пакета. Администратор также может двойным щелчком мыши принудительно их запустить.

Рис.12.3

Рис.12.3. Индикация пакетов в панели ввода

В общем случае процесс выполнения расчетов и пакетов скрыт от пользователя, которому важен только результат. Поэтому отражение работы расчетов на экране сводится к минимуму. Это индикация в строке статуса - номера расчета, и в строке сообщений - индикация процесса выполнения.

Но в ряде случаев выполнение расчетов сопровождается появлением на экране дополнительных объектов интерфейса:

  • Сообщения, запросы и меню, определенные в элементах расчета;
  • Таблицы и списки данных, определенные в элементах расчета;
  • Протоколы расчетов и пакетов, если они были определены;
  • Индикаторы повторения циклических расчетов и пакетов.

Методика работы

1.8. Панель ввода

При работе в панели ввода любого объекта среды возможна активизация расчетов в следующих точках:

В ПОЛЕ ВВОДА - до начала или после окончания работы в нем. Расчеты запускаются при перемещении по полям вниз и вверх, поэтому если необходимо повторить расчет, закрепленный за каким-нибудь полем достаточно вернуть на него курсор.

В КОНЦЕ ПАНЕЛИ - на кнопках "ОК" и "ВЫХОД" до и после выполнения штатных процедур с ними связанных (Сохранение, Отмена, Выход).

НА ДОП.КНОПКАХ - которые используются для вызова сложных процедур или активизации предметов в справочниках документов.

Независимо от точки активации расчета, надо помнить, что расчет может воздействовать на информацию любого объекта среды или текущей панели. Но при всех обстоятельствах можно дать следующие РЕКОМЕНДАЦИИ:

  • Если расчет запускается в каком-нибудь поле, то его действия, как правило, направлены на определение значения текущего или других полей в панели. Причем эти поля могут быть, как ниже, так выше текущего поля. Если поле текущее или ниже, то вы сразу увидите это новое значение, которое можете исправить. Если поле выше, то вы не увидите этого нового значения, пока не переместитесь на это поле.
  • Если расчет запускается в конце или при выходе из панели, то его действия, как правило направлены на обработку информации объектов среды с привлечением в качестве условий информации текущей панели. Результаты этих расчетов можно увидеть только при просмотре соответствующих объектов среды.

1.9. Список пользователя

Если пакет расчетов запускается из списка пользователя, то такие расчеты, как правило, носят независимый от какой-либо панели ввода характер. Действия таких расчетов направлены на какую-то глобальную обработку ряда объектов среды и, как правило являются длительными по времени.

Для запуска пакетов расчетов из списка пользователя следует либо войти в рабочее меню системы и найти раздел с необходимой смысловой группой, либо в панели ввода вызвать режим "F9.Сервис". На экране появится таблица со списком доступных пакетов. При выборе одного из них производится запуск пакета расчетов и индикация процесса его выполнения.


1.10. Прерывание расчета

В процессе выполнения расчетов часто появляется необходимость прервать процесс их выполнения. Для прерывания текущего расчета необходимо нажать клавишу <Esc>, при этом на экране появится запрос на подтверждение этого действия.

При выборе ответа [ДА] производится прерывание выполнения текущего расчета и всего пакета в целом с возвратом в предыдущий режим работы.

При выборе ответа [НЕТ] или нажатии клавиши <Esc> возобновляется дальнейшее выполнение пакета расчетов с той точки, на которой он был прерван.

В штатной ситуации НЕ РЕКОМЕНДУЕТСЯ без особой необходимости прерывать расчет. Это объясняется тем, что процессы обработки информации, заложенные в пакете, могут оказаться логически не завершенными. Это вызовет неопределенность трактовки их результатов и, как следствие необходимость ручной разборки и трудоемкого анализа информации.



Оглавление:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  

   Главная       О компании       Решения       Цены       Скачать       Заказать       Оплатить       Контакты       Обратная связь   
Rambler's Top100 Рейтинг@Mail.ru
© Copyright 2003 Компания ЭФЕС