О событиях



Posted by Рустем Мухаметшин on May 01, 1999 at 02:40:32:

        Хочу еще раз затронуть вопрос о событийной обработке

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

    Ну а теперь вернемся к ФБП. Сама программа является в этом случае ядром, а настройка к ней прикладной частью. Какие имеются события:
    - При выполнении формы
    - При пересчете операции
    Вообщем-то все. Не густо. Такая беднота определяет некоторые сковывающие моменты. В том числе упомянутое  отсутствие @ -вызова при *-обращении. В общемто в чем дело? А в том что обработка такого вызова происходит в событии "При пересчете операции" которое происходит в общем случае не в момент ввода операции. Выход очень прост - расширить состав событий.
    Предлагаю затравочный дополнительный спиок событий:
    - В процессе ввода операции
    - При вводе операции (в момент обработки запроса O)
    - При вводе счета
    - Дать шаблон кода счета
    - При удалении операции
    - При удалении счета
    - При первом пересчете операции
    - При недостатке памяти (приближении к нему)
    - При ошибке

    Например событие "В просецессе ввода операции" позволит организовать показ нужного справочника в косвенных обращениях. Действительно вид справочника вообщемто определяется уже в момент регистрации операции и для этого не нужно ждать события пересчета операции. Остальные события так же позволяют организовать существенную реакцию.
    - Контроль корректности ввода данных до и после ввода операции.
    - Однократные алгоритмы обработки операций (к примеру записи в EXTRD)
    - Возможность контроля над удалением объектов
    - ...

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


Пpишедшие ответы: