Переход между базами в программе

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Переход между базами в программе

Сообщение Max_Fin »

Вообще идея одновремнного использования в Галактике двух и более баз одновременно представляется мне в корне не правильной.
Попробуйте что-нить почитать о Ra.NET как я предлагал выше.
Жду выхода Вселенная 2.12!
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Переход между базами в программе

Сообщение ecasoft »

Max-у

Вообще вопрос был очень простой - есть ли такая функция или нет и все :) Выяснили,что ее нет в ВИПе. В принципе уже вопрос как-бы исчерпан. Но очень благодарен всем, что подсказали пути решения другие..хотя не из ВИПа, как хотелось бы.
Да, нашел функцию получения пути на текущую базу - она есть, а вот установки нет.

Исходников у меня Галактики нет..поэтому посмотреть не смогу пример. И я чего-то опять не понял..а если нет исходников, то нельзя вообще подцепить свою функцию из DLL?

По поводу того, что цеплять две базы неверно. Не понял почему такое заключение...в чем проблемы?
Во-первых, вообще есть штатные функции ВИПа Галактики и я не выхожу на пределы их возможностей.
Во-вторых, видимо не поняли задачу. Никакой функционал Галактики я не переделываю.
Просто если работают, к примеру, 6 фирм в холдинге. И я хочу продать товар в количестве 10 ед. Но он размещен на 4 фирмах - 1 на одной, 2 на другой, 2 на третей и 5 на четвертой. Я продаю с первой фирмы. На первой его всего 1 ед. Значит надо переместить товар сначало на первую фирму с трех у которых есть товар,а затем просто отпустить его. ПРи этом создается множество документов на передачу-приход товара между фирмами холдинга (расходные-приходные накладные). Чисто эргономически задача довольно сложная по вводу документов и недопущении ошиюок в них, да плюс сюда надо приплюсовать экспорт-импорт документов. На само же деле все можно сделать автоматически - создать все приходные-расходные накладные между фирмами без всяких ошибок. ПРи этом мы не лезем в идеологию Галактики - там все верно в рамках каждой фирмы. Просто решается вопрос сокращения трудозатрат при вышеуказанной операции. Более того, прописав механизм формирования отпускных цен мы может управлять при таких операциях еще и прибылью и затратами на каждой фирме холдинга, оптимизируя налогообложение. Чаще такое сложное перемещение и делается для последней цели.

Я не вижу никакого криминала с точки зрения нарушения функционирования системы. Более того, если завтра выйден новая версия, то в рамках каждой БД все будет работать нормально и никаких проблем с конвертацией не будет...исчезнет только эрганомика (вместо прямого создания накладных будет опять экспорт-импорт), но работа не остановится..будут работать как раньше в крайнем случае, если не удастся переписать эргономику.

На счет RA-net - а когда сроки сдачи?...какая политика по нему и вообще как перейти с текущей версии и техналогий в ней на ra-net? и т.д.... По-моему, тут вопрос намного больше, чем с моей проблемой. Пока я даже политики продаж по нему не вижу..что говорить об использовании...

А решения проблем холдинга описанные здесь - это пара недель программирования.

С уважением, Игорь
Некоммерческое общение в форуме
Vitas
Местный житель
Сообщения: 230
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь

Re: Переход между базами в программе

Сообщение Vitas »

Если не ошибаюсь, то приведенные мною выше функции - это функции атлантиса, т.е. иметь исходники гал-ки для их использования не надо, но надо иметь атлантис (именно атлантис , а не суппорт), потом пишется библиотеку на том же паскале, в которой описываем свою функцию которая вызывает функцию атлантиса, что-то типа:
library ChangeBase;
uses ....
function SetNewDBPath(PathBase: string): word; export;
begin
SetNewDBPath:=ChangeDataPath(PathBase);
end;

exports
SetNewDBPath index 1
;
begin
....
end.

, компилится с использованием атлантиса (т.е. по большому счету с использованием dcu атлантиса), на выходе получаем dll, которую кладем в папку ЕХЕ, далее в своем проекте описываем
function SetNewDBPath : word ; external 'название_библиотеки.dll' ;
После этого хоть на випе, хоть на фкоме можно использовать свою функцию, которая и будет изменять путь на базу.

Короче, что-то типа этого :)
Ищу возможности довести и так отличный продукт до еще большего блеска
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Переход между базами в программе

Сообщение ecasoft »

Большое спасибо.
Есл можно, то поясните человеку, который не делал этого ни разу.... что значит ИМЕЕННО АТЛАНТИС.

Вы пишите, что исходников никаких не надо.

Я правильно понимаю, что все что надо поставляется на официальном диске Галактике, когда покупаешь VIP. У нас он куплен. Или все же надо еще что-то где-то брать?

Или все же надо что-то ДОСТАВАТЬ...(т.е. Галактикой не поставляется)?
Некоммерческое общение в форуме
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Переход между базами в программе

Сообщение ecasoft »

Я смотрю тут все имеют исходникик Галактики и по ним все смотрят и поэтому не понимают, почему мне так тяжело все сделать :)))
Некоммерческое общение в форуме
sim
Местный житель
Сообщения: 1805
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Россия

Re: Переход между базами в программе

Сообщение sim »

Для меня этот вопрос (по Атлантису) тоже до сих пор загадка. Купив VIP, вы получете возможность программировать на нем, используя в том числе и сам Атлантис. На диске с документацией есть вроде бы все что нужно, включая описание "атлантических" компонентов. Что же тогда получит клиент, купив Атлантис? И чем он, этот клиент, будет отличаться (в смысле возможностей "допрограммирования" Галактики) от клиента, купившего VIP, но не купившего Атлантис?
Vitas
Местный житель
Сообщения: 230
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь

Re: Переход между базами в программе

Сообщение Vitas »

Атлантис - это атлантис, вип - это вип, это все вещи разные.
Атлантис стоит 4390, вип же - 980.
Вип - компилятор пользовательских интерфейсов , ну и попути всякого добра типа отчеты, меню и т.д.
Атлантис - среда разработки, к примеру взято с сайта:
Средство разработки «Атлантис» предназначено для разработки и функциональной поддержки прикладного программного обеспечения. Все программные изделия «Галактики» разработаны с использованием «Атлантиса».

«Атлантис» представляет собой высокопроизводительный инструмент для квалифицированного программиста, использующий технологии объектно-ориентированного программирования.

Используя средство разработки «Атлантис», квалифицированные пользователи могут расширять возможности «системы Галактика» в выбранном направлении. «Атлантис» позволяет с минимальными затратами создавать новые базы данных и соответствующие им программные модули с использованием инструментальных средств, специально разработанных для этих целей.

Средство разработки «Атлантис» функционирует в двухуровневой архитектуре Клиент-Сервер (клиент, включающий в себя сервер приложений, и сервер базы данных). В ближайшее время завершается разработка трехуровневой архитектуры (клиент, сервер приложений, где находится вся прикладная логика, и сервер базы данных).


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

Я не знаю как на счет: "все имеют исходники галактики", но мы к примеру одно время проплачивали атлантис. Но потом перестали, так бы я скомпилил библиотеку :)

Исходники Галактики и атлантис, тоже вещи малость разные, имя атлантис и не имея исходников гал-ки вы можете с нуля писать свою гал-ку, но не сможете взять код какого-нить фейса и подправить его, имея исходники и не имя атлатиса, вы можете исправлять фейсы, но не сможете целиком пересобрать гал-ку (набор галактических библиотек, исполняемые файлы и т.д.)

Самый хороший вариант иметь все :) Но мечты, мечты ....
Ищу возможности довести и так отличный продукт до еще большего блеска
AtlantG
Сообщения: 15
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Переход между базами в программе

Сообщение AtlantG »

Косякин Игорь на cfin вы часто говорите то что автоматизация не нужна, что спецы из сторней фирмы лучше чем свои и тд..

На мой взгляд Вы сами себе создали проблему - заплатите любому нормальному программисту на Vip и все... и не надо суетится!
;)

А вообще весело Вы написали
"Галактике есть четкий принцип 1 юр.лицо - 1 база данных и нарушать его ни в коем случае нельзя" - это кто ж такое правило установил?
;D

P.S А над регистрацией galnet.exe как OLE сервера я бы вам всеже советовал подумать :)
/Automation
IStep
Сообщения: 18
Зарегистрирован: 29 мар 2005, 17:49
Откуда: 33

Re: Переход между базами в программе

Сообщение IStep »

!!!
REOPENTABLEBYPATH переключает синоним таблицы во вью на указанный Файл. (я так понял, что "Basedoc" во вью - это тоже синоним! , просто он также называется как и таблица "BASEDOC")
Если используется Журнализация, то все изменения с любыми синонимами на любых файлах будут сваливаться в Журнал ТЕКУЩЕЙ Базы данных!!! При это запросто возможна ситуация, когда в текущей БАЗЕ НЕТ ЗАПИСИ и никогда не было, по которой в жернале есть изменения.
Если использовать CORPO обмен, то лучше Update и Insert не пользовать на синонимах, с REOPENTABLEBYPATH. Хотя...не исключаю возможность корректной настройки CORPO-обмена (ЗАПРОСАМИ), и для таких случаев.

Если REOPENTABLEBYPATH пользовать для чтения информации из одной базы, чтоб изменить что-либо в текущей БАЗЕ ДАННЫХ, то всё будет корректно без навротов.
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Переход между базами в программе

Сообщение ecasoft »

Всем большое спасибо за информацию. Вопрос уже закрыт.

По поводу последнего сообщения. Мы не делаем операций над таблицами, открытыми по другому пути. Просто просмотр. А когда хотим сделать операцию Insert, Update, Delete, то переходим в базу, где эта таблица находится. Соответственно, все изменения будут записываться в журнал этой базы. Так что проблем с журналом я не вижу,т.к. я меняю все в только в ТЕКУЩЕЙ базе всегда.

Всем еще раз большое спасибо за информацию и участие в обсуждении вопроса.
По поводу Атлантиса и ВИПа - никогда не задумывался над отличиями...большое спасибо, что пояснили. Все действительно как-то запутано все со средствами разработки:)
Некоммерческое общение в форуме
bublik
Постоянный гость
Сообщения: 58
Зарегистрирован: 29 мар 2005, 17:49

Re: Переход между базами в программе

Сообщение bublik »

Люди!!!!! А как этой "Реопентаблей" пользоваться?
Я положил таблицу saldomc по пути
'\\Sklad\BackUp\oaxk\saldo\' и вызываю эту фунцию

ReOpenTableByPath(tnsaldomc,'\\Sklad\BackUp\oaxk\saldo\');

А при работе интерфейса получаю ругательства и таблица не открывается.
"tLinkTable.MakeNotFound+DropPosition. Попытка использования незарелистрированной таблицы. Код ошибки: 304."
Если пишу путь без '\' в конце, то ругается:
"Доступ к файлу запрещен. Код ошибки 94. В таблице SaldoMC", а следом то же сообщение что и выше.
Что я не так делаю?
sth
Постоянный обитатель
Сообщения: 148
Зарегистрирован: 29 мар 2005, 17:49

Re: Переход между базами в программе

Сообщение sth »

имя файла надо указать
bublik
Постоянный гость
Сообщения: 58
Зарегистрирован: 29 мар 2005, 17:49

Re: Переход между базами в программе

Сообщение bublik »

Точно. Получилось!!! Мерси. :)
Ответить