Gedemin Roadmap
Материал из GedeminWiki
Версия от 19:28, 6 октября 2007; SYSDBA (обсуждение | вклад)
Настоящий roadmap является предворительным документом и представляет собой набор изменений и дополнений, которые планируется реализовать в версии Гедымин 2.0. Выход второй версии планируется на 2 кв. 2008 г., хотя многие изменения будут появляться раньше в промежуточных версиях Гедымин 1.х. Обратите внимание, что данный список не является окончательным и будет постоянно изменяться и дополняться.
Содержание |
TgdcBase
- Переработать механизм сохранения в поток.
Интерфейсные компоненты
Грид
- Объединить TgsDBGrid и TgsIBGrid в один компонент. Соответственно, объединить компоненты TgsColumn и TgsIBColumn.
- Убрать дублирование компонентов, используемых для редактирования данных в гриде.
- Реализовать каскадные стили (на подобии CSS) для представления визуальных настроек, вместо того, чтобы хранить настройки каждого грида индивидуально.
- Объединить визуальные настройки колонок и настройки компонентов для редактирования непосредственно в гриде.
- Показывать прикрепленные объекты во всплывающем окошке, как показываются примечания в Экселе.
Форма просмотра
- Объединить Панель поиска и Фильтры в один механизм. Привязать к фильтру визуальные настройки таблицы.
- Реализовать хранение и выбор нескольких визуальных настроек для каждого грида.
Прочие компоненты
- Разработать визуальный компонент выбора диапазона дат.
База данных
Компоненты доступа IBX
- На уровне TIBCustomDataSet реализовать группировку записей и подсчет агрегатных значений.
- Обрабатывать отключение от базы данных (обрыв связи, переподключение) без закрытия датасетов.
- Реализовать скрытое переподключение при создании метаданных. Проверить, возможно с переходом на ФБ 2.1 переподключение вообще не потребуется.
- Изменить формат предствления записей в оперативной памяти с целью экономии места.
Firebird 2.1
- Перевести БД на использование сервера Firebird 2.1.
- Переделать основные бухгалтерские складские отчеты с использования одного громоздкого запроса на алгоритмическое построение на стороне сервера (используя возможности ФБ 2.1).
Закрытие и блокировка периода
- Реализовать закрытие периода с возможностью выноса архивных данных в отдельную базу.
- Усовершенствовать механизм блокировки периода.
Склад
- Бизнес объект работы с движением необходимо убрать и формировать движение либо через прямое добавление в таблицы, либо, еще лучше, напрямую через триггеры соответствующих таблиц (если придумать, что делать с признаками). Надо изучить оператор EXECUTE STATEMENT из Firebird 2.0. Возможно, он поможет решить проблему с признаками. Т.е. в самом триггере можно будет формировать код на основе текущей конфигурации БД и выполнять его.
- Таблица INV_CARD – разделить на две таблицы (признаки изменяемые и признаки фиксированные). Дать возможность удаления ненужных признаков (т.е. программа должна нормально понимать их отсутствие и должна быть возможность легко их добавить обратно, не вспоминая, как они назывались, и какого они были типа).
- Обязательно предусмотреть мягкое закрытие периода (т.е. архивирование данных с выводом сальдо).
- Для INV_BALANCE предусмотреть изменение данных журнального типа, для того, чтобы исключить блокировки при одновременной работе нескольких пользователей с одним и тем же товаром. Механизм должен работать подобно тому, как работает версионность записей в Интербейзе. Более подробно описано в задании №133.
- Продумать возможность ведения суммового и количественного учета.
Бухгалтерия
- Отказаться от таблицы AC_RECORD (из нее нам нужно только DOCUMENTKEY, RECORDKEY, COMPANYKEY), поле описание, может быть, хранить в отдельной таблице(оно заполняется достаточно редко).
- Аналитические признаки разделить на две группы: часто используемые и редко. Первые добавлять непосредственно в таблицу с проводками, а для вторых создавать отдельные таблицы для каждого признака.
Отчеты
- Добавить ФастРепорт 4 и, по возможности, ФастКуб.
- Убрать промежуточное перекачивание данных в TClientDataSet перед передачей их в ФастРепорт. Напрямую связывать данные запроса (TIBQuery, TIBDataSet) с отчетом.
- Сделать динамическое формирование отчетов для печати данных из грида.
- Сделать отчеты динамическими. Автоматически, там где это возможно, устанавливать связи между клетками отчета и бизнес-объектами. Там, где автоматическое связывание невозможно, предусмотреть возможность простого программного связывания. Существующий механизм через написание отдельной скрипт функции не удобен.
- Пересмотреть интерфейсы BaseQueryList. Объединить добавление нового запроса, присваивание его текста и открытие в один метод.
- Автоматически формировать шаблон отчета на основании данных, поставляемых главной функцией.
Среда разработки
- Реализовать хранение версий скрипт функции, а также возможность визуального сравнения двух версий одной скрипт функции.
- Скрипт функции методов одного класса хранить ввиде одного текста.
- Обновить SynEdit. Реализовать сворачивание кода.
- Реализовать возможность сравнения конфигураций двух баз данных. Перенос изменений между базами данных.
- Реализовать механизм контроля версий настроек.