Как в действии Лоции получить строку подключения к БД

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

нужно по текущему соединению
1 - наименование провайдера
2 - наименование сервера
3 - наименование БД
4 - логин
5 - пароль закрытый звездочками

по идее клиент знает всю эту информацию - может кто то делал такое?
другими словами -вытащить параметры соединения из функций Лоции Application.GetADOConnect или LsGetADOConnect
??

вот такой скрипт в действии

Код: Выделить всё

Sub GetParamFromCurrentConnect
  Dim  Cn
  Dim Str
  Str=""

  Set Cn = Application.GetADOConnect()
  For Each Pr in Cn.Properties
     Str=Str & Pr.Name & ":  - " & Pr.Value & vbcr
  next

  Msgbox str
End sub
вроде показывает но не все что нужно - нашел только 1 и 2..., а где явки и пароли!!?? :wink: :wink: :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

beaver
Новый участник
Сообщения: 3
Зарегистрирован: 13 авг 2010, 13:27
Используемое ПО: Lotsia PDM PLUS
Откуда: Барнаул
Контактная информация:

Re: Как в действии Лоции получить строку подключения к БД

Сообщение beaver »

В принципе часть инфы по подключению лежит в WS.INI в папке с лоцией.
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

ps
не не не то - ws.ini в данном случае не в кассу - лишние действия :wink: :wink:
-----------------------
вот она попалась... :wink: типа тему можно прибить,
msgbox ограничение 1000 символов - не все параметры влезли, а в строковой переменной - ограничение по моему около 6000 - так что - видно все :wink:
надо так

Код: Выделить всё

Sub GetParamFromCurrentConnect
  Dim  Cn
  Dim Str
  Str=""

  Set Cn = Application.GetADOConnect()
  For Each Pr in Cn.Properties
     Str=Str & Pr.Name & ":  - " & Pr.Value & vbcrlf
  next

  'Msgbox str
  LsVars.SetVarValue "tmp", cstr(Str)
End sub
и параметр вот этот Extended Properties
единственно что не знаю - может только под админом она так раскрылась :wink: а для простого юзера приватно :wink: - хотя врят ли...

ps
Лоция - как всегда оказалась дружественной штукой :wink: :wink: :wink: :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Disillusioned »

Параметры соединения с БД также можно получить SQL-запросом (например, в Sybase ASA функция - connection_property).
В принципе - это ничем не лучше чем через скрипт - просто есть выбор...
Ах и с ними невозможно
И без них никак нельзя
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

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

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

еще один вопрос
как правильно идентифицировать текущий экземпляр Лоции из нескольких запущенных на одном клиенте

задача простая
например на одном клиенте запущено четыре Лоции неважно под одной учетной записью или под разными, ну для простоты допустим под разными
1. Из активной Лоции запускаем действие
2. Действие запускает *.exe и закрывается
3. *.exe подключается через API к Лоции и запускает действие
4. Действие должно быть запущено от имени п.1 (т.е. от учетной записи активной Лоции из которой инициирован вызов *.exe)


вопрос
если в *.exe мы делаем подключение к Лоции через функцию API WORD PartyInit(HWND hwndApp) к какой из 4х запущенных лоций прицепится API? к текущей?
или
нужно передать в *.exe строку подключения активной Лоции и в API использовать дополнительно функцию инициализации подключения для подключения к нужному экземпляру? типа
WORD PartyInitConnect(LPCPtInitConnect lpParm)
WORD PartyInit(HWND hwndApp)

или
WORD PartyInitConnect(LPCPtInitConnect lpParm) при подключению к запущенной(ным) Лоции роли не играет? тогда как тогда быть? принудительно запускать WORD PartyLoad()?
???

у меня пока получается что *.exe API всегда цепляется к самой последней запущенной Лоции (при этом не важно из какой именно он вызван) а это не совсем то что нужно...

что можно сделать?

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Старик Крупский »

Вот, Александр, ты и упёрся :mrgreen:
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

упс!?!!!! :wink: :wink: :wink: :? :? :wink: :wink: :wink: :wink:
...а ты не летчик а я была так рада...

:wink:
ну нет так нет :wink:
ps
хотя выход всегда есть..
вот например:
- мы запустили из любого открытого клиента Лоции *.exe
- передали туда логин автора + имя действия + время запуска (Login_OperationName_RunTime)
- повесились на ожидании нужного файла (например Login_OperationName_RunTime.xml) в нужном каталоге
- *.exe отработал (дал юзеру насладиться нормальным интерфейсом) и все результаты в виде именованного Login_OperationName_RunTime.xml - сохранил (кстати на самом деле результатов не так уж и много)
- клиент Лоции дождался нужного файла, разобрал результаты и сохранил в БД и убил файл с данными
во как!
можно из одного клиента миллион раз запустить одно и тоже действие для *.exe или из всех сразу по миллиону - я думаю Лоции не запутаются??? как думаешь? :wink:
Круто? :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Старик Крупский »

А ты летчик, и я не знаю, радоваться или нет :D
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

кстати еще один подход по идентификации одного из нескольких сеансов Лоции запущенных на одном клиенте

-изначально стартовать Лоцию из своего *.exe через API
-и уже из Лоции запускать процедуры родителя - вот только как это сделать не знаю (как из Лоции понять кто ее запустил)
может кто что-нибудь посоветует???

ps
к сожалению мы уже начали активировать переход с Лоции на 1С...
т.к. аргументов задерживаться на Лоции практически не осталось
...
...
...

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Loco
Активный участник
Сообщения: 75
Зарегистрирован: 22 фев 2005, 12:33
Используемое ПО: Lotsia PDM PLUS LT

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Loco »

Александр писал(а):к сожалению мы уже начали активировать переход с Лоции на 1С...
т.к. аргументов задерживаться на Лоции практически не осталось
OFF. А почему не на MS CRM, если не секрет? По мне так достойная альтернатива 1С.
OFF на OFF. Я вообще уже давно удивляюсь, зачем вам с вашими задачами (чистый CRM и управление продажами, без всякого проектирования и т.п.), да без использования Workflow, да со старой версией, да без поддержки использовать Lotsia PDM. :lol:
Но что же мы без вас делать будем? :cry:
Loco
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Александр »

не секрет - на 1С- у нас уже есть бухгалтерские и еще какие-то модули...
да и выглядит она уже не так страшно как раньше... в плане разработки
...
тут пропущено много текста :wink: :wink:
...
в общем без комментариев
...
а от вас - куда-же я денусь :wink: :wink: :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Re: Как в действии Лоции получить строку подключения к БД

Сообщение Юрий »

Дааа 1C - это жестко! :shock: :D
Ответить