mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
cena nie wstawia się ior https://forum.mix-soft.pl/viewtopic.php?f=15&t=5390 |
Strona 1 z 1 |
Autor: | supersebek [ 2013-12-20, 13:47 ] |
Tytuł: | cena nie wstawia się ior |
xBIORec.BeginSection("Pozycja dokumentu") xBIORec.SetField("opis","usługa rozrywkowa") xBIORec.SetField("ilosc","2") xBIORec.SetField("jednostkaMiary","godz.") xBIORec.SetField("cena","75") xBIORec.EndSection() WystawDokumentMagazynowy(id,1) Używam standardowej operacji. Z dokumentami PW jest wszystko ok, a dla WZ nie wstawia się cena. Dopiero po tym jak nie ma stanu i dokument się importuje do bufora to cena się pojawia. Jeśli jest stan i dokument od razu się wystawia to ceny nie ma. HELP!! FORTE 2011.b Kod: #include "MES Config include" //Deklaracje zmiennych Dispatch MES_Communication Dispatch SDO Dispatch SDOItem Dispatch SDOFiles int filesCounter int positionsCounter //dokument string typ = "" string seria = "" string dataWystawienia = "" string dataOperacji = "" string magazyn = "" string kontrahent = "" string kodPozycji = "" string ilosc = "" string jm = "" string nazwaDostawy = "" long id string path = "" string opis = "" string zamowienie = "" string querySQL2 string qsql2 dispatch rs2 = "ADODB.Recordset" dispatch con2 = GetAdoConnection() string twnazwa, cenaPozDok string zamkod = "" string filePath = "" string backupFilePath = "" IOrec ior dispatch con = GetAdoConnection() dispatch rs = "ADODB.Recordset" string querySQL string qsql float przelicznik float iloscc float iloscf float przelicznik2 string tona string jm1 string importFol = "E:\\oracle\\oradata\\QPROD\\utl_file_dir_QPROD\\exp" MES_Communication.Create("MES_Communication.TransferFiles") SDOFiles = MES_Communication.Method("GetFiles",importFol) For filesCounter = 0 To filesCounter > SDOFiles.Count - 1 filePath = MES_Communication.Method("GetFile",SDOFiles,filesCounter) SDO = MES_Communication.Method("ImportSDO",filePath) typ = SDO.SdoDocument.DOC_TYPE_NR magazyn = SDO.SdoDocument.WH_NR if magazyn != "P01" Then if typ == "WZ" then seria = seriaWZ if typ == "PZ" then seria = seriaPZ if typ == "RW" then seria = seriaRW if typ == "PW" then seria = seriaPW if typ == "MRW" then seria = seriaRW typ = "RW" endif if typ == "MPW" then seria = seriaPW typ = "PW" endif if typ == "MM+" then seria = seriaMMplus if typ == "MM-" then seria = seriaMMminus if typ == "IW-" then seria = seriaINminus typ = "IN-" endif if typ == "IW+" then seria = seriaINplus typ = "IN+" endif dataWystawienia = SDO.SdoDocument.DATE_EMITTED dataOperacji = SDO.SdoDocument.DATE_EMITTED kontrahent = SDO.SdoDocument.CUSTOMER_NR opis = SDO.SdoDocument.DOC_NR //if zamowienie != "0" then //ior.SetField("odebranyPrzez", zamowienie) // endif //IOrec ior.SetField("typDK", typ) ior.SetField("seria", seria) //rezerwacja //0 - brak //1 - ilościowa //2 - ze wskazaniem dostawy ior.SetField("rezerwacja", "1") ior.SetField("dataWystawienia", dataWystawienia) ior.SetField("dataOperacji", dataOperacji) ior.SetField("opis", opis) //magazyn ior.SetField("dzial", magazyn) //kontrahent (dla dokumentów MM w polu kontrahent jest przesyłany magazyn przyjmujący) ior.BeginSection("DaneKh") ior.SetField("KhKod", kontrahent) ior.EndSection() //Pozycje For positionsCounter = 0 To positionsCounter > SDO.SdoDocument.Items.Count - 1 SDOItem = MES_Communication.Method("GetItem",SDO,positionsCounter) kodPozycji = SDOItem.PRODUCT_NR zamowienie = SDO.SdoDocument.C_ORDER_NR querySQL = "select przeljmdod1 as przelicznik1,jmdod1 as tona1,jm as jednostkam,* from dbo.tw where tw.kod=" qsql = using "%s'%s'",querySQL,kodPozycji ilosc = Using "%f", SDOItem.QUANTITY if rs.State == 1 then rs.Close() rs.Open(qsql, con, 3) if rs.eof then //message "Eksport został zatrzymany, nie ma takiego towaru w FORTE" goto konieczadania endif rs.MoveFirst() // while !rs.EOF //message "nie ma nic" //else jm1 = rs.Fields("jednostkam").Value przelicznik = rs.Fields("przelicznik1").Value tona = rs.Fields("tona1").Value if tona == "T" then przelicznik = 1.0 endif if przelicznik == 0.0 then przelicznik = 1.0 endif if jm1 == "szt" then przelicznik = 1.0 endif /* if typ == "IN+" then przelicznik = 1.0 endif if typ == "WZ" then przelicznik = 1.0 endif */ //wend //message using "%f", przelicznik iloscf = val(ilosc) //przelicznik2 = using "%f", przelicznik iloscc = przelicznik*iloscf ilosc = Using "%f", iloscc konieczadania: //message using "%f", iloscc ior.BeginSection("Pozycja dokumentu") ior.SetField("kod",kodPozycji) // querySQL2 = "select nazwa as twnazwa, cn.waluta as walutaPozDok, cn.cena as cenaPozDok, kod from dbo.tw join dbo.cn on cn.idpm=tw.id where cn.aktywna=1 and cn.typ=8 and tw.kod=" //querySQL2 = "select nazwa as twnazwa, kod from dbo.tw where tw.kod=" qsql2 = using "%s'%s'",querySQL2,kodPozycji if rs2.State == 1 then rs2.Close() rs2.Open(qsql2, con2, 3) if rs2.eof then goto konieczadania2 endif rs2.MoveFirst() twnazwa = rs2.Fields("twnazwa").Value zamkod = using "%s, %s", twnazwa,zamowienie cenaPozDok = using "%f", rs2.Fields("cenaPozDok").Value //message cenapozdok // message using "%f", cenaPozDok // cenaBazowaPozDok = using "%s", ior.SetField("opis",zamkod) ior.SetField("ilosc_ewid", ilosc) ior.SetField("jednostkaMiary", SDOItem.MU_CODE) //cenapozdok = "6" //cenapozdok = kwotanatekst(cenapozdok) ior.SetField("cena", cenapozdok) //ior.SetField("waluta", rs2.Fields("walutaPozDok").Value) //Nazwa dostawy wykorzystywana do dokumentów przyjęcia zewnętrznego (PZ) If SDO.SdoDocument.DOC_TYPE_NR == "PZ" Then ior.SetField("nazwaDostawy", SDO.SdoDocument.DOC_NR) If SDO.SdoDocument.DOC_TYPE_NR == "RW" Then //Podsekcja dostaw dokumentów (wykorzystywana dla dokumentów RW) //ior.BeginSection("Dostawa") //ior.SetField("ilosc", ilosc) //ior.SetField("nazwa_dostawy", nazwaDostawy) //ior.EndSection() EndIf ior.EndSection() Next positionsCounter //zapis do bufora id = ImportMG(ior) if id == 0 then error "Import dokumentu do bufora nie powiódł się" //wystawienie dokumentu WystawDokumentMagazynowy(id,1) //Wyczyszczenie obiektu ior.Clear() //Backup pliku endif backupFilePath = "E:\\oracle\\oradata\\QPROD\\utl_file_dir_QPROD\\arc" + "\\" + MES_Communication.Method("GetFileName",filePath) //message using "%s", backupFilePath MES_Communication.Method("BackupFile",filePath,backupFilePath) Next filesCounter konieczadania2: |
Autor: | rafal [ 2013-12-20, 15:21 ] |
Tytuł: | Re: cena nie wstawia się ior |
Na WZ nie można zmieniać ceny/wartości pozycji. Wydanie odbywa się w wartości magazynu. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |