Re: Дмитрий Придаткин



Posted by Константин Миранович, фирма Централь Минск on January 27, 1999 at 18:16:53:

In Reply to: Дмитрий Придаткин posted by Обновление клиента для Windows. on January 23, 1999 at 03:17:04:

На мой взгляд, Windows-клиент - наиболее проработанная в смысле интерфейса и функциональности (как часть клиет-серверной архитектуры) программа из семейства ФБП. Он имеет простой и удобный интерфейс, привычный для пользователей локальной версии, который лишен тех вроде бы незначительных, но неприятных мелочей, которых довольно много в локальной Windows-версии.

Что касается функциональности, то, опять же, мелочь - отсутствие значений по умолчанию в функциях ввода в локальной Windows-версии, является одной из причин того, что мы не используем ее в нашей работе (не работают большинство форм, а отказываться от значений по умолчанию не хочется, на них держится большая часть интерфейса). О проблемах с меню и попытках их решения уже говорили раньше , но хочется снова вернуться к этой теме, так как для нас - это пока что единственный, но серьезный момент, доставляющий неудобства в Windows-клиенте.

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


Пример меню
---------------------------
Отгрузки за период

с января Отгрузки
по декабрь товаров+продукции+услуг
товаров+продукции+услуг <--------> товаров
по всем партнерам продукции
по всем 45 услуг
по всеи 80
не показывать цены
ВОЗВРАТ В ПРЕДЫДУЩЕЕ МЕНЮ
ВЫПОЛНИТЬ
-----------------------------

Пункты меню предназначены для уточнения (сужения, расширения) параметров запроса. Например, выбрав первый или второй пункты, можем изменить первый или последний месяц, затем возвращаемся снова в главное меню; выбрав третий пункт, можем ограничиться, например, только отгрузками товаров; и т. д. В конце концов, когда пользователь видит на экране необходимый запрос, он выбирает пункт 'ВЫПОЛНИТЬ' и получает интересующую его информацию.

Особенно удобен такой принцип в отчетных формах по налогам. Программа расчитывает все необходимые величины и формирует меню в котором пользователь может видеть рассчитанные значения. Допустим, пользователь хочет изменить какой-либо параметр, например, величину облагаемого дохода. Он выбирает соответствующий пункт, вводит нужное значение этого параметра и возвращается обратно в главное меню, которе уже пересчитывается с учетом измененных данных.
В конце, когда все необходимые данные подкорректированы, он нажимает 'ВЫПОЛНИТЬ' - и получает отчет с этими значениями.

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

Все это замечательно работает в DOS-версии, но выглядит непривлекательно в Windows-локальной и сетевой. Ранее (до версии сервера 2.30) вообще, такие формы отказывались работать из-за ограничения 256b на длину запроса к серверу и нам приходилось их упрощать (в смысле интерфейса) для сетевой. Теперь это ограничение снято, но, тем не менее, полноценное использование форм, основанных на вышеизложенных принципах, пока довольно ограничено. Причина тому - отображение меню на экране windows-клиента (впрочем, как и windows-локальной версии).

Многие формы имеют достаточно большое количество уровней вложенности меню (5-6), в каждом из которых по (4-7) пунктов. Из каждого последующего меню можно вернуться в предыдущее, когда был выбран ошибочный пункт или когда пользователю достаточно той информации, которая отображается в динамических пунктах меню.
Пример: задал в параметрах партнера, отгрузки только определенного товара, нажал 'ВЫПОЛНИТЬ', появилось меню:


----------------------------------
Указанных отгрузок не производилось
ВЕРНУТЬСЯ В ПРЕДЫДУЩЕЕ МЕНЮ
ВЫПОЛНИТЬ
----------------------------------

выбрал 'ВЕРНУТЬСЯ', поменял, например, период, или товар, снова выполнил и т. д.
Очень удобно - не нужно каждый раз запускать форму и проходить заново все необходимые выборы в меню.

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

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



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