Основные идеи нового клиента



Posted by Васеленко Сергей, Фирма КАРДИНАЛ (212.188.100.171) on November 13, 2001 at 18:55:58:

In Reply to: Приглашаю обсудить предложения по клиенту posted by Васеленко Сергей, Фирма КАРДИНАЛ on November 13, 2001 at 18:53:33:


Основные идеи нового клиента

В документе приведены основные идеи, которые могут быть использованы при создании
новой программы-клиента.

Если не приведена оговорка, все приведенные идеи являются реализуемыми практически.

Полный перечень исходных предложений приведен на странице Предложения по клиенту.

1. Клиент пишется с 0.

2. Клиент является 32-разрядным Windows-приложением (Windows 95/98/ME/NT/2000/XP).
Другие платформы поддерживать не планируется.

3. Среда разработки - Delphi 6.

4. Клиент почти полностью наследует функциональность текущего клиента.
Исключаются узкие места, типа количества кнопок, аргументов, чувствительность
к регистру и т.д.
Исправляются явные ошибки.
Реализуются "простые" предложения.

5. Новый клиент должен быть 100%-совместим с текущей версией клиента
только по обработке отчетных форм - файлов RPT.
Все настройки нового клиента выполняются заново.

6. Клиент должен поддерживать любое количество языков интерфейса.
Поддержка нового языка может выполняться пользователем.
Help клиента компилируется только разработчиком.

7. Протокол обмена клиента и сервера - TCP/IP.

Возможно, на стороне сервера потребуется установить шлюз "текущий протокол-
новый протокол".

Приоритетные требования и направления

8. Интеграция клиента с приложениями других разработчиков,
способными быть COM-серверами.
(Например Microsoft Office, Microsoft Internet Explorer).

Основная идея:
- отчетная форма сервера формирует указание типа COM-сервера (HTML, MS Word,
MS Excel, ...) и данные.
- клиент распознает тип сервера, инициализирует его и формирует отчет.

Для HTML процесс выглядит достаточно просто - RPT-форма готовит ответ
в формате HTML и клиент запускает броузер для отображения ответа.

Для приложений Microsoft Office универсальное решение - ответ в виде программы
на Visual Basic. Т.о. можно управлять программами Word, Excel, PowerPoint,
Access, Outlook и, вероятно, почти всеми программами от Microsoft.

Для более простого применения, в дальнейшем, можно будет добавлять протоколы для
отдельных программ.

Например, для MS Word ответ сервера мог бы выглядеть так:
application-type=MSWORD
template=porder
number=1
from=ООО "АБВ"
sum=10000.00
...
И в результате мы получим приходный ордер отличного качества в окне Microsoft
Word.
Шаблоны в данном случае являются почти универсальными - ордера, платежки,
формы для ГНИ и т.д.
Останется только заполнить шаблоны RPT форм значениями из своей системы.

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

9. Удобная работа со стандартным журналом операций.

9.1 Группа операций может рассматриваться как "документ" в виде "шапка","тело".
Для переменных шапки следует задать спецификаторы в дереве операций.

В этом случае каждая типовая операция при вводе или коррекции может быть
представлена в виде документа с шапкой и табличной частью.

9.2 Новые возможности работы с группами операций:

- Редактирование групповой операции.
- Удаление групповой операции.
- Представление групповой операции в журнале с вопросами "шапки".
- Изменение состава групповой операции.

9.3 Новые возможности работы с операциями и группами операций:

- Перенос в другую дату.
- Копирование.
- Вставка перед определенной операцией (при доработке сервера).

9.4 Предопределенные фильтры для журналов операций.

Например, журнал "Касса" - выводятся только кассовые операции,
журнал "Приход товара" - только шапки соответствующих групповых операций.

9.5 Полная взаимозаменяемость стандартного журнала и запрограммированных форм
по основным функциям:
- ввод операции/группы,
- редактирование операции/группы,
- удаление операции/группы,
- перенос, копирование операции/группы.

10. Ввод операций в журнал

10.1 Текущий режим ввода операций уточнением по дереву является базовым.

10.2 Клиент содержит универсальную форму групповой операции.
Набор требований к такой форме и ее протокол следует уточнить.

Суммирование данных по колонке поддерживается автоматически.

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

Текущие средства расчета многострочных сумм на основе позиций использоваться
не будут.

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

10.3 Групповая операция (multiline) может выполняться на любом вопросе, а не
только на списке субсчетов.
Данная возможность позволит легко реализовать партионный учет.

10.4 Для ввода операций "от документа" используются внешние dll-библиотеки,
которые формируют операции по шаблонам.
Набор dll-библиотек может постоянно расширяться:
- приходный ордер, расходный ордер;
- накладная вида 1, вида 2 и т.д.

10.5 Любой диалог регистрации может быть вызван из отчетной формы.

11. Работа с отчетами.

11.1 Протокол уточнений ответов для построения отчета в целом останется в текущем
виде.

11.2 Построенный отчет можно добавить в "Избранное".
При этом запоминается схема вопросов и введенные ответы.

При дальнейшем выборе отчета из "Избранного" в зависимости от настройки отчета
появляется либо перечень вопросов и ответов для подтверждения, либо готовый
отчет.

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


Если у Вас есть идеи, пожелания, вопросы или комментарии,
Вы можете высказать их на Переговорном пункте - www.hdru.com/wwwboard
или написать непосредственно мне, Васеленко Сергею, vs@cardinal-soft.com.

Дата последнего обновления: 14.11.01





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