Доработка Ананаса

Общий форум

Модератор: app

Доработка Ананаса

Сообщение JohnZ » Пт апр 25, 2014 5:42 pm

Всем привет !

Доработал (частично !) Ананас по поводу внешних процедур, как в 1С, которых не хватает в расчётных и др. задачах. Скрин в прицепе. Думаю Ананас-у такая доработка не повредит.
В дерево проекта добавил, а вот дальше, х.з. - какие класы-объекты ковырять, и как
эту ветку конф-ы добавить в БД ... ??? Новая ветка делается как копия (почти !) ветки "Справочники".
Будет только "Главный скрипт" и "Формы", тоже ес-сно со скриптами :-)
Началось с того, что обнаружил отсутствие Сортировки (на уровне ядра сист-мы !) в Справочнике, и не
работает загрузка в конфигурацию сохранённых "веток" из конфы, т.е. тех-же Справочников, Отчётов, и т.д.
Сохранение Работает !!! ... и по исходникам загрузка вроде-бы должна, но увы ...
Решил разобраться и подправить, ну и за одно добавляю внешние обработки. Класс ExtProc пишется
как копия (почти) с aCatalogue. Также правке подвергались модули acfg mdtree widgetfactory.
Вопросы к разработчикам следующие ...
1. Какой модуль отвечает за сохранение конфигурации в БД ?
2. Какие изменения в структуре БД в связи с этим добавлением нужны и где это править ?
3. Какой модуль отвечает за формирование SQL запроса для представления Справочника,
на предмет добавления (при вкл. флажке "Сортировка") " ... ORDER BY ..." ?

Также хотелось-бы узнать, получилось-ли у кого-нибудь реализовать связку 2-х справочников Группа - Товар
именно как в ДОС ? Чтобы справочники были БЕЗ древовидной структуры ? Т.е. справочник "Группа Товара",
и отдельно справочник "Товар" ? Если да, то прошу поделиться решением, plz ...

Удачи !
Вложения
clip_image002.jpg
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Доработка Ананаса

Сообщение JohnZ » Вс апр 27, 2014 12:06 pm

Как сказал Семён Фарада, "... в общем все умерли" ! А жаль ...

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Вт апр 29, 2014 8:15 am

Привет!
В качестве старта для получения необходимой информации рекомендую
http://ananas.su/docs/api/annotated.html


JohnZ писал(а):1. Какой модуль отвечает за сохранение конфигурации в БД ?

Бизнес-схема (она же "метаданные", она же "конфигурация") хранится в отдельном файле. Записывает и читает файл код класса http://ananas.su/docs/api/classaCfg.html

2. Какие изменения в структуре БД в связи с этим добавлением нужны и где это править ?


Ни каких изменений в структуре БД в связи с добавлением новых сущьностей в бизнес-схему не требуется.
3. Какой модуль отвечает за формирование SQL запроса для представления Справочника,
на предмет добавления (при вкл. флажке "Сортировка") " ... ORDER BY ..." ?


Подозреваю, что вам нужен http://ananas.su/docs/api/classwDBTable.html класс
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Чт май 01, 2014 8:02 pm

Андрей, Благодарю за ответ !

Пробую собрать Ананас с QT4 (4.7.4). Дорабатывать Ананас на "старой" версии (QT3) чёт перехотелось, ;-)
т.к. задумано многое, и тратить время дважды на одно-и то-же неразумно.
С QT3 Ананас прекрасно собирается БагЛэндом в среде QT-Creator-a.
Нашёл в и-нете QT4 собранную в VS2008. Пока удалось в ней собрать QSA 1.2.3, после некоторых
правок в исходниках, да и то не полную, без всех примеров ...

Нашёл на форуме, что в сборке "Ананас QT4" присутствует доп. модуль - QDataSсhema.
Для чего он нужен ? На форуме его описания и применения не нашёл, хотя по названию
можно попробовать догадаться ;-) Есть где ни-ить его описание/приминение ?
Если да, то ткните в ссыль, плз ...
Да, и почему этот модуль не включен в состав проекта, а должен собираться отдельно ?
Ведь удобнее было-бы его собирать сразу в составе Ананас-QT4 ?! Можно его как-то "прикрутить" в проект ?
Предварительно попробовал собирать "Ананас QT4" и QDataSсhema в VS2008, - дык куча ошибок вылазит.
С "кандачка" не хочет собираться, увы ;-( Будем бороться ...

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Сб май 03, 2014 12:09 pm

Привет!
Похоже уведомления с форума не ходят, так что сори за не быстрый отклик.

QDataSсhema - это одно из последних нововведений в проекте.
Держать систему одним большим монолитным проектом не хочется, поэтому смотрим, что можно выделить в самостоятельные билиотеки.

Общая идея с QDataSсhema состоит в том (если я правильно помню то, что мы обсуждали с Валерием), что задача по обновлению схемы базы данных на основании формального входного описания является довольно универсальной задачей.
В этой задаче есть свои сложности связанные с поддержкой соответствия формального описания со схемой БД. Поиск и получение различий, поддержка разных СУБД и т.д.
QDataSсhema помимо метаданных бизнес-схемы использует словарь данных, хранимый в таблице dd СУБД.

Документацию можно найти здесь http://ananas.su/docs/qdataschema-api/
Так же в исходниках можно найти пример.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Вс май 04, 2014 12:03 pm

Привет !

QDataSсhema - собралась !!! Правда пришлось пободаться, чуток. VS2008 как оказалось, более строгий
компилер чем БагЛэнд-овский :-)

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

Главное что-бы это не сказалось на _скорости_ работы задачи !!!

Андрей, - а как (хоть приблизительно ?!) можно сравнить Ананас и 1С 8.3 по _скорости_ работы ?!
Ведь вы с Валерием уже давненько им занимаетесь, и видимо кое-какая _статистика_ уже набралась ?!
Можете поделиться статистикой ? Может ещё кто-либо откликнется ?!

"Документацию можно найти здесь http://ananas.su/docs/qdataschema-api/" - спасибо, глянем ...
"Так же в исходниках можно найти пример." - уже покопался ...

При сборке в директории плагинов, в линкере вылезла куча НЕ-разрешённых ссылок -

engine.obj : error LNK2019: unresolved external symbol "public: static class AEx
tension * __cdecl AExtensionFactory::create(class QString const &)" (?create@AEx
tensionFactory@@SAPAVAExtension@@ABVQString@@@Z) referenced in function "public:
virtual class QObject * __thiscall aObjectsFactory::create(class QString const
&,class QList<class QVariant> const &,class QObject *)" (?create@aObjectsFactory
@@UAEPAVQObject@@ABVQString@@ABV?$QList@VQVariant@@@@PAV2@@Z)
engine.obj : error LNK2019: unresolved external symbol "public: static class QSt
ringList __cdecl AExtensionFactory::keys(void)" (?keys@AExtensionFactory@@SA?AVQ
StringList@@XZ) referenced in function "public: virtual class QObject * __thisca
ll aObjectsFactory::create(class QString const &,class QList<class QVariant> con
st &,class QObject *)" (?create@aObjectsFactory@@UAEPAVQObject@@ABVQString@@ABV?
$QList@VQVariant@@@@PAV2@@Z)
engine.obj : error LNK2019: unresolved external symbol "public: static class AEx
tension * __cdecl AExtensionFactory::create(class QString const &)" (?create@AEx
tensionFactory@@SAPAVAExtension@@ABVQString@@@Z) referenced in function "public:
virtual class QObject * __thiscall aObjectsFactory::create(class QString const
&,class QList<class QVariant> const &,class QObject *)" (?create@aObjectsFactory
@@UAEPAVQObject@@ABVQString@@ABV?$QList@VQVariant@@@@PAV2@@Z)
engine.obj : error LNK2019: unresolved external symbol "public: static class QSt
ringList __cdecl AExtensionFactory::keys(void)" (?keys@AExtensionFactory@@SA?AVQ
StringList@@XZ) referenced in function "public: virtual class QObject * __thisca
ll aObjectsFactory::create(class QString const &,class QList<class QVariant> con
st &,class QObject *)" (?create@aObjectsFactory@@UAEPAVQObject@@ABVQString@@ABV?
$QList@VQVariant@@@@PAV2@@Z) и т.д ... 10 штук

Как "победить" ? Какого-то модуля не хватат ?

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Вс май 04, 2014 3:31 pm

При сборке в директории плагинов, в линкере вылезла куча НЕ-разрешённых ссылок

Если этот вопрос по сборке ananas-qt4 под Win, то, думаю, вряд ли кто на него ответит, так как не припомню, чтобы кто-то делал такую сборку.

По производительности данных нет.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Вс май 04, 2014 4:02 pm

Спасибо за ответ. Жаль, что так ...
Если соберу, сообщу ...

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение JohnZ » Пт май 09, 2014 12:34 pm

Всем привет ! "Собирающим" и "сочувствующим" :-)

Всех с П Р А З Д Н И К О М 9 М А Я !!!

Вроде-бы получилось собрать дизайнер, (QT-4.6.1) и даже запустить, но потом начал править про-файлики
под студию, и на этом сборка прекратилась. Никак не хочет генериться *.lib для линковки, только dll-ки.
Все опции уже перебрал в *.pro файлах. И ещё обнаружилась какая-то странность, если в собирается либа
и она должна линковаться с другими либами, то получается только dll-ка, и ес-сно app не линкуется.
Доку перерыл, пока ответов не нашёл. Может кто в курсе, подскажите, плз - как собрать на QMAKE LIB-у ?

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Сб май 10, 2014 11:12 am

Привет!
Не уверен, что поможет, но вот нашел такой рецепт
The solution is to define QT_NODLL in your .pro (DEFINES += QT_NODLL), as qmake automatically inserts -DQT_DLL when QT_NODLL is not defined (see mkspecs/features/qt.prf).


здесь
http://bit.ly/1g6yrQV
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

След.

Вернуться в Общий форум

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron