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

[HMP] zakładanie kontrahenta
https://forum.mix-soft.pl/viewtopic.php?f=15&t=8293
Strona 1 z 1

Autor:  maciek_ch [ 2018-01-05, 14:19 ]
Tytuł:  [HMP] zakładanie kontrahenta

importując faktury potrzebuje zakładać nowych kontrahentów
jednak Iorec nadal nie daje możliwości założenia kontrahenta
jak go założyć z raportu ambasica?

szukam w dokumentacji i nie widzę, a na forum tylko stary wątek z 2013 roku

Autor:  rafal [ 2018-01-05, 15:04 ]
Tytuł:  Re: [HMP] zakładanie kontrahenta

Za pomocą obiektu BKontrahent. W HMP ten obiekt też funkcjonuje.

Autor:  maciek_ch [ 2018-01-06, 11:18 ]
Tytuł:  Re: [HMP] zakładanie kontrahenta

ok, dziekuję

ale czy jest jakiś manual do tego? manual do xFactory?

próba uruchomienia
Kod:
string errKh
dispatch xKontrahent = xFactory.NewObject("BKontrahent")

errKh = xKontrahent.Edit()

xKontrahent.UstawKod("AlaMaKota")
xKontrahent.nazwa = "AlaMaKota Sp. z o.o."

errKh = xKontrahent.Save()

if errKh then
  xKontrahent.Undo()
endif


zwraca "obiekt OLE nie zostałe zainicjowany"

Autor:  rafal [ 2018-01-06, 18:55 ]
Tytuł:  Re: [HMP] zakładanie kontrahenta

Używałem tego w FKP (tam na 100% działa) i założyłem, że w HMP też to jest zaimplementowane.

Pozostaje pisanie bezpośrednio do bazy.

Autor:  wojtek [ 2018-01-06, 20:25 ]
Tytuł:  Re: [HMP] zakładanie kontrahenta

Witam,
Mam podobny problem.... Zakładanie kh akurat mi wychodzi - natomiast problem pojawia się przy podmianie kontrahenta na istniejącym dokumencie - EditSp(Ior) powoduje że na dokumencie kontrahent zamienia się z obecnie funkcjonującym ,ale na dokumencie zostają przeliczone ceny zgodnie z obowiącującym cennikiem :(
Kod:
while dokErr
   
   dokumId = GetLineId()
   sDokumId = using "%l",dokumId
   dk.setkey("id")
   dk.setkeyseg("id",dokumId)
   errDk= dk.GetRec(EQ)

   
   if !errDk then

   skhkod = dk.Getfield("khkod")
   skhnazwa = dk.Getfield("khnazwa")
   skhadres = dk.Getfield("khadres")
   skhdom = dk.Getfield("khdom")
   skhlokal = dk.Getfield("khlokal")
   skhmiasto = dk.Getfield("khmiasto")
   skhkodpocz = dk.Getfield("khkodpocz")
   skhnip = dk.Getfield("khnip")

//   message skhnip
   
   IF !SprawdzKh(mid(skhnazwa,1,40),skhnip) then       
      dodaj_kh(skhnazwa,skhadres,skhdom,skhlokal,skhmiasto,skhkodpocz, skhnip)
   else
      if skhnip != "" then
         KodKhDokument = PoprawNIP(skhnip)
      else
         KodKhDokument = mid(skhnazwa,1,40)
      endif
   endif

//   if dk.dk.Getfield("subtypi") == 86 then

   ior.clear()
   ior.SetField("id", sDokumId)
   //ior.SetField("bufor","1")
    //message KodKhDokument

      ior.SetField("KhKod", KodKhDokument)
         
      Errorek = EditSp(ior)
      if Errorek then
         message using "%l",errorek
      //   message "err"
      else
         print using "%s %l","Edytowano dok o id=",dokumId
         print lf
      endif
   
   else
      message "błąd otwarcia dokumentu"
   endif

   dokErr = SetTaggedPos ( NX)

wend
message "wykonano poprawnie"
NoOutput()


Czy da się tylko podmienić kontrahenta bez ruszania niczego innego na wystawionym dokumencie? Podczas ręcznej edycji dokumentu pojawia się pytanie o to czy przeliczyć ceny. Jak w IORec wybrać opcję nie przeliczania cen przy zamianie kontrrahenta?

Autor:  wojtek [ 2018-01-06, 20:28 ]
Tytuł:  Re: [HMP] zakładanie kontrahenta

A tutaj funkcja do zakładania kh bezpośrednio do bazy - Pewnie się przyda:
Kod:
//-----------------------------------------------------------------------------------
string sub dodaj_kh(string khnazwa,string khadres,string khdom,string khlokal,string khmiasto,string khkodpocz, string khnip)
//-----------------------------------------------------------------------------------


   basekh kh
//   kh.setkey("nip")
//   kh.setkeyseg("nip", PoprawNIP(num))

//   kh.getrec(EQ)
//   if !kh.getrec(EQ) then
//      message "pusty NIP"
//      exit
//   else
      kh.setfield("id", 0)
      kh.setfield("flag", 0)
      kh.setfield("subtypi", 0)
      kh.setfield("typi", 0)
      kh.setfield("znaczniki", 0)
      kh.setfield("rodzaj", 3100)
      kh.setfield("katalog", 2100)
      kh.setfield("info", "0")
      kh.setfield("osoba", "")
      if khnip != "" then
         kh.setfield("kod", PoprawNIP(khnip) )
         kh.setfield("nazwa", khnazwa )
         KodKhDokument = PoprawNIP(khnip)
      else
         kh.setfield("kod", mid(khnazwa,1,40))
         kh.setfield("nazwa", khnazwa)
         KodKhDokument = mid(khnazwa,1,40)
      endif
      kh.setfield("miejscowosc", khmiasto)
      kh.setfield("ulica", khadres)
      kh.setfield("dom", khdom)
      kh.setfield("lokal",khlokal)
      kh.setfield("kodpocz", khkodpocz)
      kh.setfield("regon", "")
      kh.setfield("pesel", "")
      kh.setfield("nip", khnip)
      kh.setfield("statusUE", 0)
      kh.setfield("idkraju", 5801)
      kh.setfield("tel1", "")
      kh.setfield("tel2", "")
      kh.setfield("fax", "")
      //kh.setfield("email", GetSubElem("Seller","email", plik))
      kh.setfield("naglowek", "")
      kh.setfield("nazwisko", "")
      kh.setfield("imie", "")
      kh.setfield("idfk", 0)
      kh.setfield("idfk2", 0)
      kh.setfield("bnazwa", "")
      kh.setfield("bkonto", "")
      kh.setfield("grupaceni", 255)
      kh.setfield("upust", 0)
      kh.setfield("limiti", 0)
      kh.setfield("limitkwota", 0)
      kh.setfield("limitwaluta", "")
      kh.setfield("plattypi", 255)
      kh.setfield("plattermin", 0)
      kh.setfield("stanpl", 0)
      kh.setfield("stannl", 0)
      kh.setfield("khfk", "")
      kh.setfield("rejon", "")
      kh.setfield("formaplatn", 0)
      kh.setfield("typks", "Krajowy")
      kh.setfield("negoc", "0")
      kh.setfield("www", "")
      kh.setfield("wprowadzil", "")
      kh.setfield("datawpr", "")
      kh.setfield("zmodyfikowal", "")
      kh.setfield("datamod", "")
      kh.setfield("poledod1", "")
      kh.setfield("poledod2", "")
      kh.setfield("poledod3", "")
      kh.setfield("poledod4", "")
      kh.setfield("poledod5", "")
      kh.setfield("poledod6", "")
      kh.setfield("poledod7", "")
      kh.setfield("poledod8", "")
      kh.setfield("osfiz", 0)
      kh.setfield("zapas", "")
      kh.setfield("subtyp", "0")
      kh.setfield("typ", "0")
      kh.setfield("znacznik", "0")
      kh.setfield("grupacen","255")
      kh.setfield("plattyp","255")
      kh.setfield("limit", "0")

      kh.insrec()

//message KodKhDokument + " 2"
//   endif
endsub

Autor:  maciek_ch [ 2018-01-07, 14:39 ]
Tytuł:  Re: [HMP] zakładanie kontrahenta

działa bardzo dziękuję!

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