03 декември 2007

Модули в RDsuite

Друго нещо, което ще се появи в коледната версия на RDsuite e възможността за работа с модули. Кодът, който администрира създаването им и раздаването на привилегиите на отделните потребители е вече в svn хранилището. Това като цяло дава възможност да се фокусира разработването на специфични програми, като склад, фактуриране и т.н. Като цяло идеята е следната: добавянето на фирма в системата регистрира схема в базата данни, която общо взето съдържа счетоводна информация за фирмата като номенклатури, сметкоплан, документи, осчетоводявания. Създаването на модул от своя страна създава допълнителна схема, която малко или много е свързана със схемата за счетоводната информация за дадена фирма. Разликата е в това, че в даден модул може да има по специфична информация, обхващаща дейността, за която е предназначен модула. Като цяло още имам няколко чуденки как да бъде реализирана комуникацията между отделните модули. За момента се ориентирам към това публичната информация за даден модул да бъде изнесена по някакъв начин в счетоводната схема и ако някой модул се нуждае от информация генерирана в друг модул, то да я търси в счетоводната схема. Възможно е да се измисли и начин за запитвания към отделен модул идващи от счетоводната схема, както и да се измисли някаква директна комуникация между отделните модули. Но дали ще се наложи да се правят такива сложни работи ще стане ясно, когато броят на отделните модули нарасне.

Като цяло добавянето на нов модул към административната част в системата става като се създадат два xml файла. Единият описва структурата на схемата, а другия съответния template. Към момента обаче регистрирането в системата става, чрез промяна в изходния код. Поради тази причина смятам след нова година да преразгледам db слоя но системата и да изнеса и тази конфигурация във външен файл. Това би дало възможност лесно да се разработват модули, които не е нужно да са базирани на QT4 или C++. Разбира се, при такъв сценарий няма да могат да се ползват готовите widget-и, освен, ако по някакъв начин не може да експортиран rdcorelib към съответните инструменти, които се използват.

Като финал да кажа и кое налага разработването на template-и и модули. Освен нещата, които за момента седят в svn хранилището има още четири програми, които ще бъдат включени в него. Два модула (за управление на арматурен двор, който е завършен доста отдавна и за управление на бетонопроизводство, който е някъде по средата на своето развитие), една програма за управление на xml файловете с дефинициите на отделните схеми (трябва малко да се пипне преди да я импортна в svn-а) и програма за ДДС дневници (сигурно ще бъде завършена след излизането на QT4.4, тъй като ще си спестя доста излишна работа). Така че, ако видите голямо изсипване на файлове в svn, то да не се притеснявате, че съм се преуморил. Просто ще бъдат неща, които залежават повече от година по диска ми.

Няма коментари: