|
|
Strona 1 z 1
|
[ Posty: 7 ] |
|
[HMF] Zmiana numeru dokumentu AMbasic
Autor |
Wiadomość |
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
[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ź.
|
2015-06-03, 20:11 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
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?
|
2015-06-03, 20:39 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
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.
|
2015-06-03, 21:16 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: [HMF] Zmiana numeru dokumentu AMbasic
Ustawiales w parametrach numeracje reczna?
|
2015-06-03, 22:11 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Re: [HMF] Zmiana numeru dokumentu AMbasic
tak, próbowałem wszystkich kombinacji.
|
2015-06-04, 06:57 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
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.
|
2015-06-04, 08:13 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: [HMF] Zmiana numeru dokumentu AMbasic
(1)
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)
|
2015-06-05, 11:27 |
|
|
|
Strona 1 z 1
|
[ Posty: 7 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 20 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|