====== Distribucija poručene robe ====== Distribuiraju se **porudžbenice ****prodaje** koje se nalaze u **redu neisporučene robe**. Osnovni parametri za utvrđivanje zaglavlja i sadržaja porudžbenica u redu neisporučene robe su: - **Order.DocStatus < 256**; Status porudžbenice prodaje nije neaktivan, što znači da ista nije zatvorena. - **OrderSasZak.ZakOrdKol > 0**; Postoje stavke određene za poručivanje od dobavljača - **OrderTrack.ResType=2**; Zaključnica je zatvorena u "odloženom" režimu što znači da sva roba (za poručivanje i izdavanje sa skladišta) ide u red neisporučene robe. - **(OrderSasZak.ZakOrdKol+OrderSasZak.ZakKolSklad) < (OrdersDispSas.DispKol+OrdersDispSas.CancKol)**; Znači da poručena količina još nije distribuirana. Kombinacijom ovih parametara mogu se dobiti razna stanja u kojima se nalaze porudžbenice prodaje. ====== Važni upiti ====== Upiti za sakupljanje podataka o porudžbinama prodaje koje čekaju ili se mogu završiti. Dele se na: - Upite koji vraćaju zaglavlja porudžbenica prodaje - Upite koji vraćaju sadržaj porudžbenica prodaje ===== Upiti zaglavlja porudžbenica prodaje ===== Osnovna namena je analiza spiskova porudžbenica prodaje koje čekaju na završetak. ==== ORD_OrdToOrtOdloz ==== Bazne tabele: **Orders**, **OrderSas**,**OrderSasZak**,**OrdersTrack** \\ Bazni upiit : \\ Izvedeni upiti: [[:kb:distribucija_porucene_robe_main#ord_loadorderheadsodlozw_ord_loadorderheadsodlozw|ORD_LoadOrderHeadsOdlozW]]** \\ ** Procedure: Upit vraća spisak porudžbenica prodaje, samo osnovne podatke iz zaglavlja koje su smeštene u red neisporučene robe ili imaju ne ispunjenih staki označenih "za poručivanje". Uslov je zadat "ili" kombinacijom sledećeih parametara: - ResType=2 - ZakOrdKol>0 Upit vraća i neaktivne porudžbenice prodaje (ne ispituje status) ==== ORD_DocLinkToRate ==== Bazne tabele: **DocLink** \\ Bazni upiit : \\ Izvedeni upiti: [[:kb:distribucija_porucene_robe_main#ord_loadorderheadsodlozw_ord_loadorderheadsodlozw|ORD_LoadOrderHeadsOdlozW]]**, ORD_LoadOrderHeadsOdlozQ, DOC_RateUgovoriPoruc, KUP_LicaUgovoriLst, ORD_DistribByOrtIDOrdID, \\ ** Procedure: msbalans.exe modul //Dokumenti//, procedura //FetchDocHead//. Upit vraća spisak zaglavlja porudžbenica prodaje vezanih za ugovor o prodaji na rate (najčešće kod sindikalne prodaje). ==== ORD_LoadOrderHeadsOdlozW ==== Bazne tabele: **defDocTip**, **DopOpis**, **Korisnici**, **LongDesc**, **Orders** \\ Bazni upiit : [[:kb:distribucija_porucene_robe_main#ord_doclinktorate|ORD_DocLinkToRate]], [[:kb:distribucija_porucene_robe_main#ord_ordtoortodloz|ORD_OrdToOrtOdloz]]** ** i **ViewNazivEx**. \\ Izvedeni upiti: **ORD_DistribAnalyseByQtt \\ **Procedure:**Direktno u ** IOrderDistribs.OrdersWaiting**, i modulu ** LocDistrib**, ** FAfterDistribEvents**proceduri (ROBOrders). \\ ** Upit vraća spisak **aktivnih** porudžbenica prodaje koje se nalaze u redu neisporučene robe u formatu //ORD_LoadOrderHead// (standardni upit za učitavanje zaglavlja porudžbine IOrder klase). ==== ORD_UndeliveredByZak ==== ZASTARELO. UMESTO OVOG KORISTITI UPIT ORD_NeisporSve Bazne tabele: **Orders**, **OrderSas, OrderSasZak, OrdersDispSas, OrdersTrack** \\ Bazni upiit : \\ Izvedeni upiti: ORD_DistribAnalyseByQtt, ORD_PrepareForTLC ** \\ **Procedure:** \\ ** Upit vraća stavke Zaključnice prodaje koje nisu u potpunosti isporučene. Objedinjuje porudžbenicu prodaje, zaključnicu i podatke o distribuciji. Uslovi za vraćanje podataka su: - OZ.ZakOrdKol>SUM(ODS.DispKol+ODS.CancKol); Znači sve što je trebalo da se poruči još nije isporučeno; - OZ.ZakKolSklad>SUM(ODS.DispKol+ODS.CancKol) AND (T.ResType=2); Znači sve što ide direktno sa skladišta još nije izdato; Upit sadrži grešku! Odvojeno se testiraju količine za nabavku i za izdavanje sa skladišta a u realnosti postoji mogućnost da ista stavka sadrži količine od obe vrste. ==== ORD_DistribAnalyseByQtt ==== Bazne tabele: **OrderQuoteSas, OrderSasConf, OrderSasUlaz, SkladKol, TmpSerNumPrn** \\ Bazni upiit : [[:kb:distribucija_porucene_robe_main#ord_loadorderheadsodlozw|ORD_LoadOrderHeadsOdlozW]]**, ** ORD_UndeliveredByZak, [[:kb:distribucija_porucene_robe_main#ord_neisporsve|ORD_NeisporSve]] \\ Izvedeni upiti: **ORD_LoadOrderHeadsOdlozQ \\ ** Procedure: ** \\ ** Upit vraća spisak **aktivnih ** porudžbenica prodaje koje se nalaze u redu neisporučene robe, a u okviru kojih postoje stavke koje bi se mogle isporučiti sa skladišta određenih u tu svrhu. To znači da se roba koju očekuju kupci pojavila na magacinu. ==== ORD_LoadOrderHeadsOdlozQ ==== Bazne tabele: \\ Bazni upiit : [[:kb:distribucija_porucene_robe_main#ord_loadorderheadsodlozw|ORD_LoadOrderHeadsOdlozW]]**, ** [[:kb:distribucija_porucene_robe_main#ord_neisporsve|ORD_NeisporSve]], [[:kb:distribucija_porucene_robe_main#ord_doclinktorate|ORD_DocLinkToRate]] \\ Izvedeni upiti: ** \\ ** Procedure: IOrderDistribs.OrdersResolvable (BLROrders) Upit vraća **filtriran** spisak aktivnihporudžbenica prodaje koje se nalaze u redu neisporučene robe u formatu //ORD_LoadOrderHead// (standardni upit za učitavanje zaglavlja porudžbine IOrder klase). **Filter** se odnosi na: - Odabir "Potvrda prijema" u smislu potrage za porudžbenicama prodaje koje su pristiglom robom obuhvaćene - Odabir skladišta sa kog se roba otprema, u smislu pregleda porudžbenica prodaje koje se, na osnovu uvida u stanje magacina, mogu isporučiti. - Ograničenje na celovitost mogućeg izvršenja porudžbenice prodaje. Ovo podrazumeva sakrivanje porudžbenica koje se mogu izvršiti samo parcijalno. ===== Upiti sadržaja porudžbenica prodaje ===== Vraćaju stavke porudžbenica prodaje koje se mogu realizovati ili jednostavno čekaju u redu neisporučene robe. ==== ORD_DispByZak ==== Oslonac: Tabela **OrdersDispSas** \\ Procedure: \\ Izvedeni upiti: [[:kb:distribucija_porucene_robe_main#ord_neisporsve|ORD_NeisporSve]]**, rptOrderSTNeispor** Upit vrši agregaciju tabele **OrdersDispSas** po polju **IDFld** sumirajući kolone //DispKol // i //CancKol//. Polje **IDFld ** je direktna veza na **OrderSasZak.IDFld** (FOREIGN KEY) pa se na ovaj način dobija trenutno distribuirana količina po svakoj stavci Zaključnice. //DispKol// se odnosi na robu isporučenu kupci, a //CancKol// na robu od koje je kupac odustao. ==== ORD_NeisporSve ==== Oslonac: Upit **ORD_DispByZak**, tabele Orders, OrderSas, OrderSasZak, OrdersTrack i //pogled// **ViewNazivEx** \\ Procedure: \\ Izvedeni upiti: **ORD_NeisporRoba**, **ORD_NeisporProizv, ** [[:kb:distribucija_porucene_robe_main#ord_dispneisporuceno|ORD_DispNeisporuceno]] Upit vraća spisak nerazrešenih porudženica prodaje zajedno sa stavkama koje su ostale za isporuku. Ne vraćaju se stavke koje su ravzšene (ZakOrdKol+ZakKolSklad)<(DispKol+CancKol) ali ni stavke Zaključnice koje nisu zaključane (DatLocked IS NULL). Uslovi koji moraju biti ispunjeni: - DocStatus<256; Porudžbenica prodaje mora biti u aktivnom stanju - ZakOrdKol>0 OR ResType=2; Mora imati nešto stavljenu u red neisporučene robe, ili makar da je za način razrešenja Zaključnice odabran "[[:kb:porucivanje_main#odlozeno_razresavanje|odloženo]]" metod - (ZakOrdKol+ZakKolSklad)>(DispKol+CancKol) ; Zaključena količina za isporuku mora biti veća od trenutno realizovane. - OrderSas.fDone=FALSE; Stavka porudžbine ne sme biti "zatvorena" zbog storna ili nekog drugog razloga. - DatLocked IS NOT NULL AND DocTip=17; Zaključnica jeste zaključana za dalju obradu, a radi se o porudžbenici prodaje. ==== ORD_DispNeisporuceno ==== Oslonac: Upit **[[:kb:distribucija_porucene_robe_main#ORD_NeisporSve|ORD_NeisporSve]]**, tabela **Elementi** i //pogled// **ViewNazivEx** \\ Procedure: Direktno se ne koristi, derivati se koriste u **IOrderDistribSas.Record2Object** (format zapisa), i **IOrderDistrib.FetchUndeliveredGoods** (BySkl, BySklPrijem) \\ Izvedeni upiti: **ORD_DispNeisporucenoBySkl**, **ORD_DispNeisporucenoBySklPrijem** Upit je direktan derivat **ORD_NeisporSve** upita kome je pridodata informacija o artiklima vezivanjem na tabelu **Elementi.** ==== ORD_SalesOrdersByZakDisp ==== Bazne tabele: **Orders, OrderSas, OrderSasZak, OrdersDispSas** \\ Bazni upiit : \\ Izvedeni upiti: \\ Procedure: msbalans za potrebe izrade naloga za prenos, odnosno vezivanje porudžbenica prodaje na pomenuti nalog za prenos robe. Upit vraća spisak **porudžbenica prodaje** koje su obrađene u okviru predate Zaključnice odnosno Distribucione liste (predaje se OrtID).