mojaSymfonia FORUM
https://forum.mix-soft.pl/

[HMF]
https://forum.mix-soft.pl/viewtopic.php?f=15&t=1970
Strona 1 z 2

Autor:  mnat [ 2010-04-23, 15:58 ]
Tytuł:  [HMF]

Mam problem z fragmentem kodu w vba żywcem wyjętego z dokumentacji jaką posiadam:

Kod:
Dim objHmf As Object
Set objHmf = CreateObject("HMF.AppIni")
objHmf.OpenFirm(True, "DRIVER=SQL Server;SERVER=SUN32\SE;DATABASE=HMF2010TEST;", "Admin", "abc")


Aplikacja sypie błędem "Wprowadzono nierawidłowy login lub hasło"
Zmieniam po kolei parametry metody OpenFirm i z drobnymi wyjątkami cały czas to samo.

Natomiast po wykonaniu
Kod:
objHmf.GetApplication()

uzyskuję dostęp do instancji obiektu aplikacji w handlu, ale oczywiście nic nie mogę bo nie jestem zalogowany :-x

W czym robię błąd?
Może ma ktoś do tego dokumentację i rozwiązania do aplikacji HMP, FK, itd...

Autor:  rafal [ 2010-04-24, 10:51 ]
Tytuł: 

Rozumiem, że robisz to w VBA wewnątrz Handlu?

Autor:  mnat [ 2010-04-24, 13:51 ]
Tytuł: 

Konkretnie mówiąc chcę to zrobić w VB .NET i nawet udało mi się połączyć z bazą, pobrać instancję handlu i wyświetlać okienka handlu, ale nie mogę się zalogować jako użytkownik

Autor:  wrob [ 2010-04-24, 20:07 ]
Tytuł: 

Hmm.... to zawsze bedzie klopotliwe - taki dostep z zewnatrz - pominawszy zagadnienia techniczne ktore nie sa mocno w tym kierunki rozwijane/opisuwane - jeszcze jest sprawa licencji np SQL-a(szczegolnie jesli jest typu restricted) .... lepiej moze jednak bezposrednio w VBA w Handlu?

Autor:  mnat [ 2010-04-25, 10:45 ]
Tytuł: 

Bezpośrednio w handlu to jest niestety ostatnia opcja jaka w chodzi w grę.
To jest tylko część całego system nad którym pracuję.
Generalnie chodzi o to, aby nie zmuszać użytkownika do jakiejkolwiek ingerencji w działanie systemu - system ma działać najlepiej jako usługa windows i wykonywać odpowiednie operacje na handlu (imp/exp)
Zawsze można podłączyć się bezpośrednio do bazy, ale to z kolei grozi jej rozsypaniem...

W vba powyższe kody działają poprawnie, może coś w ConnectionString trzeba zamienić?

Autor:  rafal [ 2010-04-25, 20:00 ]
Tytuł: 

Tak przy okazji. Pamiętaj, że taki sposób użycia obiektu programu HMF "zjada" licencję programu.

Autor:  mnat [ 2010-04-29, 12:28 ]
Tytuł: 

Bo nie uznaję, że "się nie da"...

Dla potomności, VB NET obsłuży to bez problemu ale pod jednym warunkiem. Że będzie to niezintegrowane logowanie do SQL'a - przynajmniej do tego doszedłem. Czyli na dobrą sprawę była to nie równa walka z problemem - wszystko przez 1 bit :-x :mrgreen:

Powinno być:
Kod:
objHmf.OpenFirm(False, "DRIVER=SQL Server;SERVER=SUN32\SE;DATABASE=HMF2010TEST;User ID=xx;Password=yy;", "Admin", "abc")


I teraz śmiga jak ta lala

W sumie dziwna sprawa, bo jak nie można uzyskać połączenia, to wyskakuje okienko sage'a do jego konfiguracji.
Widać Sage tak ma ;-)

Autor:  wrob [ 2010-04-29, 13:15 ]
Tytuł: 

No tak ale w ten sposob jestes zalogowany jako user Admin(SQL) czyli prawa nadane w HMF itp - cie nie dotycza tak naprawde co moze jest i dobre ale tylko w wypadku kiedy to tylko twoja aplikacja sie loguje.. i nie grzebie za bardzo :)

Autor:  rafal [ 2010-04-29, 13:44 ]
Tytuł: 

wrob pisze:
No tak ale w ten sposob jestes zalogowany jako user Admin(SQL) czyli prawa nadane w HMF itp - cie nie dotycza tak naprawde co moze jest i dobre ale tylko w wypadku kiedy to tylko twoja aplikacja sie loguje.. i nie grzebie za bardzo :)


Nie masz racji. Zalogowany jest jako Admin z programu.

Autor:  wrob [ 2010-04-29, 14:00 ]
Tytuł: 

A no fakt... nie spojrzalem uwazniej.... :-)

A ciekawe czy nie da sie tak zalogowac aby nie zzerac licencji - cos w stylu jak logowanie do ITG..... :-)

Autor:  rafal [ 2010-04-29, 14:07 ]
Tytuł: 

No nie da się.
To jest odpalona aplikacja tylko jej nie widać.
Analogicznie do application.excel lub application.word.

Robiąc
Kod:
objHmf.Visible = True

powinniśmy zobaczyć program.

Autor:  mnat [ 2010-04-29, 15:23 ]
Tytuł: 

rafal ma racje - to jest dokładnie odpalony program handlu tyle że ukryty i jako taki musi zabierać licencję (sprawdziłem w kodzie).
Jak dla mnie jest ok, bo nie namieszam jeżeli nie mam uprawnień dla usera, a to że licencja zajęta, no cóż...
Skoro chcemy korzystać z dobrodziejstw obiektów to normalne że się logujemy.

Autor:  Kamienios [ 2010-11-03, 15:17 ]
Tytuł: 

Witam,

Planowałem ostatnio zrobić małą aplikację .NET pracującą bezpośrednio na bazie Handlu. Po przeczytaniu tego wątku mam 3 pytania:

1. Czy takie łączenie narusza licencję SQL restricted?
2. Napisaliście, że grzebanie bezpośrednio w bazie grozi wysypaniem. Czy możecie nieco rozwinąć ten temat? Jakie operacje są niebezpieczne? Mnie interesowałyby tylko insert do tabel z zamówieniami obcymi
3. Gdzie można uzyskać jakąś dokumentację obiektów handlu dla VBA /VB.

Dzięki,
Pozdrawiam

Autor:  wrob [ 2010-11-03, 15:39 ]
Tytuł: 

1. Narusza
2. wszelkie zwiazane z zapisem jesli nie zna sie bazy
3. autoryzowani dystrybutorzy mają dostęp

Autor:  Kamienios [ 2010-11-08, 11:16 ]
Tytuł: 

Ale łączenie z bazą za pomocą obiektu hmf.appini nie narusza licencji?

Strona 1 z 2 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/