Сервер ничего не запоминает и никого не ждет.



Posted by Александр, Киев (213.133.164.67) on September 17, 2001 at 04:50:08:

In Reply to: Моделирование поведения ветвей-вопросов posted by Всеволод Каскевич on September 16, 2001 at 06:57:55:

"Проблема Всеволода" в неверной трактовке распределения функций сервера и клиента. Позволю себе следующее утверждение: Сервер выполнив текущий запрос ничего не запоминает, для обработки всех последующих. Более того он не несет никаких обязательст на все последующие запросы. Это пользователь, подсознательно "думает", что серверная программа уточняет свою задачу. На самом деле, наткнувшись на уточняющий ворос, сервер отошлет его на клиента, при этом прервет выполнение формы и попросту похоронит все то что он делал с этой формой, до этого момента. А вот Клиент, действительно "знает" к чему нужно клеить этот уточняющий вопрос сервера и когда оператор думает, что отвечает серверу, Клиент шлет серверу новый запрос с прицепленым предответом. Сервер получив такой запрос, выполняет форму с начала, доходит до вопроса-уточнения, берет его значение с "прицепа" и продолжает выполнение до следующего вопроса-уточнения. И так столько раз, сколько уточнений он встретит пока не добьет форму до конца. Функция [CT]-прекрасная возможность реализовать предварительную селекцию, но не следует забывать, что данные для этого предоставляються клиентом в так называемом контексте и только в режиме ввода или редактирования операций. Кроме того, это еще и возможность детектировать: 'Что именно делает оператор, редактирует или создает операцию.

По поводу передачи данных из форм в ф/к-ты посредством [SET%] или [SED]/[GED]. Кто еще с этим согласен, кроме Игоря?
Формально есть одна маленькая лазейка, делать это через extrd.dat, посредством "-UKEY-", но это кажется нигде не документировано, хотя возможно я и ошибаюсь, относительно последнего. И требует лишней проверки в ф/к.
С уважением,
Александр.


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