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

Dodawanie elementów do słownika
https://forum.mix-soft.pl/viewtopic.php?f=15&t=8259
Strona 1 z 1

Autor:  KrzysztofK [ 2017-12-20, 10:34 ]
Tytuł:  Dodawanie elementów do słownika

Witam, czy jest możliwość z poziomu ambasic za pomocą obiektów w ERP Finanse i księgowość 2017(lub erp handel) i późniejsze dodać element do jakiegoś słownika. Mamy ręcznie założony słownik projektów i chcielibyśmy automatycznie dodawać tam elementy ale tak by była tez pozycja elementu która jest numerem analityki konta księgowego.


Dzięki za pomoc.

Autor:  alan0z [ 2017-12-28, 10:24 ]
Tytuł:  Re: Dodawanie elementów do słownika

Dawno temu bardzo szybko stworzyłem import elementów słownika z TXT, sama funkcje dodająca element do słownika wyglądała następująco:

Kod:
int sub DodajElementSlownika(string sSlownik, string sPozycja, string sNazwa)
   int iResult
   if len(sSlownik) == 0 || len(sPozycja) == 0 || len(sNazwa) == 0 then error "Błąd dodawania pozycji (pusta wartość)"
   dispatch  rs = "ADODB.Recordset"
   dispatch con = GetAdoConnection()
   string sSQL = using "SELECT ElementKindId FROM [SSCommon].[STElementKinds] where ElementType=1 AND Shortcut='%s' Order by st_last_modified desc", sSlownik
   if rs.State == 1 then rs.Close()
   rs.Open (sSQL ,con,3)   
   if rs.RecordCount == 1 then
      rs.MoveFirst()
      if rs.Fields("ElementKindId").Value > 0 then buf = using "%l", rs.Fields("ElementKindid").Value
   else
      error using "Błąd wyboru słownika (musi istnieć)"
   endif

   if val(buf)>0 then
      sSQL = using "SELECT Shortcut FROM [SSCommon].[STElements] WHERE ElementKindId = %s AND Position = %s", buf, sPozycja
      if rs.State == 1 then rs.Close()
      rs.Open ( sSQL ,con,3)   
      if rs.RecordCount == 0 then
         sSQL = using "insert into [SSCommon].[STElements] (Guid,Title,Active,AccountNo,Description,ElementKindId,Shortcut,Position,ObjVer) VALUES (newid(),'%s',1,'%s','',%s,'%s','%s',0); ", sNazwa, sPozycja, buf, sNazwa, sPozycja
         con.Execute(sSQL)
         buf = using "\n Do słownika '%s' dodano pozycję o nr '%s' - %s",sSlownik, sPozycja, sNazwa
         print buf
         iResult = 1 // OK
      else
         //Pozycja już istnieje?
         buf = using "\nPOMIJAM pozycję o nr '%s' - %s (Pozycja o nr %s już istnieje)", sPozycja, sNazwa,sPozycja
         print buf         
      endif
   endif
   DodajElementSlownika = iResult
endsub

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