Перспективные проекты

  • Расчет средней цены контракта
  • Oganer - Корпорация
  • Oganer - CRM
  • Узел централизации данных
  • Плагин портирования конфигурации под Web

… программные продукты используя платформу OSS

Как правило, при создании программного обеспечения перед разработчиком стоит ряд типовых задач, которые приходится решать снова и снова, когда необходимо добавить в программу обработку дополнительных данных. Эти задачи сводятся к небольшому и вполне понятному списку:

  1. Создание структуры для хранения вводимых данных.
  2. Создание экранных форм для ввода данных оператором или, если хотите, пользователем. Для простоты понимания предлагаю назвать такие экранные формы «Документом».
  3. Написание алгоритмов обработки и контроля правильности вводимых данных.
  4. Создание списков, содержащих в себе множество «Документов», так называемых «Реестров».
  5. Организация поиска по «Реестрам». Кстати сказать, несмотря на краткость определения, сама задача не является простой. Порой пользователь толком и не знает по каким именно критериям ему в следующий момент понадобится осуществить поиск, и на этапе разработки интерфейса поиска программисту приходится придумывать и учитывать все возможные варианты. А чего стоит поиск по неточному совпадению? Это вообще отдельная история. В современных серверах хранения данных до сих пор такой поиск осуществляется путем простого перебора записей в таблице и поиска совпадений в строке. Прямо скажем – способ совсем не быстрый.
  6. Настройка разнообразных печатных форм, чаще жестко определенных в программе, реже настраиваемых с использованием, какого-либо конструктора печатных форм.
  7. Реализация функций печати и сохранения печатных форм в файлы в каком-либо удобоваримом формате.
  8. Предварительный просмотр того, что мы хотим распечатать. Кстати, именно эта функция в большинстве случаев попросту игнорируется разработчиками из-за сложности ее реализации.
  9. Создание «Документа» на основе ранее введенных данных или определения каких-либо данных по умолчанию.
  10. Протоколирование изменений произведенных оператором в «Документе». Особенно актуально при многопользовательской работе. Но эта функция практически не реализуется при создании относительно небольших систем в силу своей трудоемкости. Можно сказать, что эта функция для гурманов.
  11. Разграничение прав пользователей. Если эта задача еще хоть как-то решается, то задача разграничения прав доступа к отдельным «Документам» в каком-то отдельно взятом «Реестре» не решается вообще, хотя такая необходимость очевидна.
  12. Организация механизмов оповещения пользователей при возникновении определенного события. В основном реализуется в более-менее крупных системах, хотя таковая необходимость существует даже в однопользовательских программах.
  13. Организация так называемого хелпа или какой-либо пользовательской инструкции, чтобы даже новый оператор мог достаточно быстро освоить программное обеспечение.

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

И так, с чего же все-таки начать?

Предположим, перед Вами стоит задача создания какой-либо учетной системы. Вам необходимо запустить программу в режиме конфигурирования и «создать новую задачу». В открывшемся интерфейсе настройки задачи создать экранные формы для ввода данных. Хочу заметить, что нет необходимости предварительно продумывать и создавать структуру для хранения данных. Система создает автоматически оптимальную структуру.

После того как Вы настроили формы «вводных данных» можете приступать к настройке реестров. Для этого Вам достаточно определить какие поля из «вводных данных» и в какой последовательности будут отображаться в реестре.

Последняя фаза – это настройка печатных форм. Неизменное содержимое печатной формы Вы можете перенести из ранее созданного документа в Ворде или создать непосредственно в системе. После этого в необходимые места вставить ссылки на соответствующие поля «вводимых данных» и все, Ваша задача практически решена!

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

Удачи!