Re: О событиях



Posted by Дмитрий Придаткин on May 03, 1999 at 04:05:46:

In Reply to: О событиях posted by Рустем Мухаметшин on May 01, 1999 at 02:40:32:

А вот и критика!

Рустем, то что Вы имеете ввиду как события, я бы назвал средой выполнения действия. Не может быть событием процесс, растянутый во времени (по крайней мере в Windows такого точно нет). Если применить механизм событий в Windows к ФБП, то события былибы следующими:

начало ввода операции (WM_InitDialog);
начало ответа на вопрос операции (WM_Show);
изменение ответа на вопрос (WM_Char);
конец ответа на вопрос операции (WM_Hide);
конец ввода операции (WM_EndDialog - такого в WIN нет);
начало пересчета операции (WM_Idle - то же сам придумал);
конец пересчета операции;
начало выполнения формы ... и т. д.

К событию надо добавить список параметров. Например, если ваполняется форма - список субсчетов к операции, то событие "начало выполнения формы" будет имет параметр EN_Operation, а если та же форма выполняется из списка операций, то вместо параметра будет ноль.

Все, хватит с теоритической базой, переходим к практике.

Не стану спорить, что в ФБП очень мало точек влияния на процесс ввода данных, еще меньше на пересчет. Поэтому очень трудно организовать сквозной контроль правильности базы данных. Когда то я предлагал Аркадию ввести в дереве специальный раздел, который бы выполнялся всего один раз в момент регистрации операции. Идея была в том, чтобы при вводе оперции в прошлое, если она содержит ошибку, отбрасывать ее. Потом пришла мысль, что в этом разделе можно было бы делать расчет, результат которого помещался бы в операцию в дополнительные поля. Так можно сделать систему нумерации документов. Это было давно и уже забылось, но зато появились другие способы, отчасти замещающие старые идеи.

Есть уточнения в ветвях вопросах операций, особенно возможность построения списков в формах. Есть функции SED и GED, которые позволяют делать закладки при пересчетах данных. Есть контекст MODOKEY, который служит косвенным признаком регистрации клиентом операции. Есть подсчет сумм в многострочном вводе. Согласен, что этого мало, но это реальные механизмы, закрывающие некоторые пробелы. Если есть другие проблемы, то их так же можно закрыть, но для этого требуются конкретные предложеня.

К сожалению, ФБП не имеют уже той былой концептуальной стройности, как версия 2.х. Хорошо это или плохо - другой разговор. Тому было множество причин. Поэтому любые попытки привнести какие-то структурные стержни в ФБП обречены. На мой взгляд, необходимо решать свои проблемы, а не пытаться переписать ФБП заново.

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


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