mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
[HMF] Zmiana numeru dokumentu AMbasic https://forum.mix-soft.pl/viewtopic.php?f=15&t=6672 |
Strona 1 z 1 |
Autor: | wojtek [ 2015-06-03, 20:11 ] |
Tytuł: | [HMF] Zmiana numeru dokumentu AMbasic |
Witam, Mam problem ze zmiana numeru dokumentu magazynowego wystawianego za pomoca IOReca Realizuje to ostatecznie w ten sposób, że wystawiam najpierw dokument - zostaje mu narzucony numer, przerzucam go w trym edycji, zmieniam numer i zapisuje. Niestety przy imporcie kilkuset dokumentów na raz cała operacja zajmuje pół godziny. Poniżej kod: Kod: long sub WystawDokWz() int i, ok long id_dk_buf dok_mg.Clear() dok_mg.SetField("typDk", TypDokumentu) dok_mg.SetField("seria", Seria) dok_mg.SetField("dataWystawienia",datawyst ) dok_mg.SetField("dataOperacji", dataOper ) dok_mg.SetField("dzial", KodMagazynu) dok_mg.SetField("numerWSerii", sNumerWserii) dok_mg.SetField("kod", sNumerDokum) dok_mg.BeginSection("DaneKh") dok_mg.SetField("KhKod",KodKontrahenta)//Kod_kontrahenta(rec_dok_wz(1).idkhdokwz) ) dok_mg.EndSection() dok_mg.SetField("Opis",opis) dok_mg.BeginSection("Pozycja dokumentu") dok_mg.SetField("Kod", KodTowaru ) dok_mg.SetField("Lp", "1" ) dok_mg.SetField("Ilosc", ilosc ) dok_mg.EndSection() //dok_mg.EndSection() id_dk_buf = ImportMg(dok_mg) if id_dk_buf != 0 then czyWystawiony = 1 dokumId = WystawDokumentMagazynowy (id_dk_buf,1) if dokumId != 0 then czyWystawiony = 2 sDokumId = using "%l",dokumId dok_mg.clear() dok_mg.SetField("id", sDokumId) dok_mg.SetField("numerWSerii", sNumerWserii) dok_mg.SetField("kod", sNumerDokum) EditMG(dok_mg) endif endif endsub Czy można to jakoś uprościć? Np od razu narzucić numer dokumentu bez przełaczania go w tryb edycji? Będę wdzięczny za podpowiedź. |
Autor: | rafal [ 2015-06-03, 20:39 ] |
Tytuł: | Re: [HMF] Zmiana numeru dokumentu AMbasic |
Z jakiego numeru na jaki zmieniasz? Jaki jest nadawany domyslnie? Dlaczego nie ustawisz numeru jaki chcesz za pierwszym razem? |
Autor: | wojtek [ 2015-06-03, 21:16 ] |
Tytuł: | Re: [HMF] Zmiana numeru dokumentu AMbasic |
Proces polega na tym,że z zupełnie innej bazy danych (program zewnętrzny) pobierane sa informacje o dok.magazynowych, które importowane sa do HMF. Ponieważ kolejne numery w serii w HMF narzucane sa automatycznie najczęściej nie sa zgodne z numerami importowanymi. I tutaj właśnie chce narzucić numer w serii zgodny z numerem dokumentu importowanego. Stosujac przed wystawieniem dokumentu zapis Kod: dok_mg.SetField("numerWSerii", sNumerWserii) dok_mg.SetField("kod", sNumerDokum) HMF z niejasnych dla mnie przyczyn i tak narzuca własny numer dokumentu zgodny z szablonem numeracji w HMF po wystawieniu dokumentu. Aby osiagnać żadany efekt, już po wystawieniu dokumentu muszę przełaczyć go w tryb edycji i zmienić uprzednio narzucony numer: Kod: dok_mg.clear() dok_mg.SetField("id", sDokumId) dok_mg.SetField("numerWSerii", sNumerWserii) dok_mg.SetField("kod", sNumerDokum) EditMG(dok_mg) Jest jakiś sposób aby przed wystawieniem dokumentu narzucić mu zadany numer w serii? Numer oczywiście jest unikalny bo wcześniej sprawdzam czy dokument o tym numerze przypadkiem nie istnieje. |
Autor: | rafal [ 2015-06-03, 22:11 ] |
Tytuł: | Re: [HMF] Zmiana numeru dokumentu AMbasic |
Ustawiales w parametrach numeracje reczna? |
Autor: | wojtek [ 2015-06-04, 06:57 ] |
Tytuł: | Re: [HMF] Zmiana numeru dokumentu AMbasic |
tak, próbowałem wszystkich kombinacji. |
Autor: | wojtek [ 2015-06-04, 08:13 ] |
Tytuł: | Re: [HMF] Zmiana numeru dokumentu AMbasic |
Niestety nie mam w tym momencie dostepu do srodowiska testowego forte. Uruchomilem podobny kod W Symfonii i przy ustawieniu ręcznym zasad numeracji wszytko działa jak należy. Mam dodatkowe pytanie do pól IOrec. Kod w forte dotyczacy wyboru typu dokumentu ma następujaca formę: Kod: dok_mg.SetField("typDk", "WZ") W symfonii aby wszytko działało muszę wpisać: Kod: dok_mg.SetField("typ_dokumentu", "WZ") To samo tyczy się kontrahenta - W forte kod: Kod: dok_mg.BeginSection("DaneKh") dok_mg.SetField("KhKod",KodKontrahenta)//Kod_kontrahenta(rec_dok_wz(1).idkhdokwz) ) dok_mg.EndSection() Jeśli uruchamiam to w symfonii muszę wyremować BeginSection i Endsection , inaczej nie bierze mi kontrahenta. |
Autor: | rafal [ 2015-06-05, 11:27 ] |
Tytuł: | Re: [HMF] Zmiana numeru dokumentu AMbasic |
Działający przykład przy włączonej ręcznej numeracji w parametrach pracy. Kod: IoRec dok_mg dok_mg.SetField("typDk", "WZ") dok_mg.SetField("seria", "sWZ") dok_mg.SetField("dzial", "CEN") dok_mg.SetField("numerWSerii", "10") dok_mg.BeginSection("Pozycja dokumentu") dok_mg.SetField("Kod", "Pralka WAR super" ) dok_mg.SetField("Lp", "1" ) dok_mg.EndSection() long id_dk_buf = ImportMg(dok_mg) print WystawDokumentMagazynowy (id_dk_buf,1) |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |