Index: FLOWORD.mac.rou =================================================================== diff -u -r44227 -r44532 --- FLOWORD.mac.rou (.../FLOWORD.mac.rou) (revision 44227) +++ FLOWORD.mac.rou (.../FLOWORD.mac.rou) (revision 44532) @@ -496,86 +496,10 @@ ; DE VARIABELE Closed=True BETEKENT DAT HET ORDER VROEGER AL EENS "GESLOTEN" IS GEWEEST, IN DE BETEKENIS VAN "BEVESTIGD, GECOMMIT, ...". ; DUS ZAKEN DIE SLECHTS 1x MOGEN GEBEUREN WANNEER OV HET ORDER SLUIT/VRIJGEEFT/COMMIT, MOETEN MET EEN Do:'Closed VOORWAARDE! CLOSE - New zb,R,OrdDat,Closed,TLNr,OLNr,Data,IntPers,ExtPers,FaxNrOrEmail,DevNr,KredLock,Created,LEVNr,DueOutOk,ORDNrs,TempORDNr,OrdBev,FaxType,Exit,BevatMaatWerk,KlantID,OrderBevestiger - New Bevestiger - Do CheckType2Proforma^FLOWORD5(ORDNr) ; vraagstelling om nul orders en orders op naam van vertegenwoordigers om te vormen naar proforma , indien die nog geen monster of proforma waren ( cfr. catalogen ) - Set R=^KOD(KLNr,"F",ORDNr,1),KredLock=$P(R,D,23),OrdTyp=$P(R,D,25) - Quit:KredLock=1 ; vroegtijdig stoppen indien nog niet vrijgegeven door boekhouding - Set OrdDat=$P(R,D,2),Created=$P(R,D,8),IntPers=$P(Created,"#"),ExtPers=$P(R,D,9) - Set FaxNrOrEmail=$P(R,D,10),Closed=$P(R,D,22),BevatMaatWerk=$$BevatMaatWerk^FLOW("O",ORDNr) -#dim OrderBevestiger As APPS.OV.OrderBevestiging.OrderBevestiger - If 'Closed Do - . Do ModifyLeverDagenOnCloseOrder^FLOWORD4(ORDNr) ; Bepalen van de leverdag bij het sluiten van het order met eventuele vraagstelling - . Do ModifyLeverDagenOnD2^FLOWORD4(ORDNr) ; Leverdag naar D+2 bij magazijn niet beschikbaar? - . Do:KredLock CHKLEVT(ORDNr) - . Do CREATOR - . If 'KredLock Do - . . Do KLACHT ; klachten afhandeling - . . If KLNr=$$$KlantBVanHoecke Do PartMedew^FLOW2("O",ORDNr) ; orders opgemaakt voor klant BVanHoeck mail naar PVH - . Quit:$L(FaxNrOrEmail) ; voortijdig quiten indien fax of email - . Set OrdBev=$P(^KKL(^KK1(KLNr),1),D,19) - . Quit:OrdBev="" ; Geen bevestiging faxen - . If $E(OrdBev,2)="M",'BevatMaatWerk,'$$BevatNietStock^FLOWORD5(ORDNr),'$$BevatAfdekKap^FLOW("O",ORDNr) Quit ; Geen maatwerk, geen Niet-stock, geen afdekkapjes dus geen fax of mail - . If $E(OrdBev)="F" Set FaxNrOrEmail=$P(^KKL(^KK1(KLNr),1),D,24) - . Else Set FaxNrOrEmail=$$GetDefaultemKlant^FaxMail(KLNr,,1,,"O"_$S(BevatMaatWerk:"M",1:"")) - . Set $P(^KOD(KLNr,"F",ORDNr,1),D,10)=FaxNrOrEmail - Else Do:'$$CHKLACHT(ORDNr) KLACHT - - ; Eventueel moet de voorwaarde Closed omgezet worden naar een voorwaarde per lijn, namelijk: als er al KOM-link gemaakt of zelfs terug doorbroken is, dan mag er niet meer gesplitst worden. - ; Want dan werkt dit ook correct als men na eerste sluiting nog een lijn zou toevoegen. - Do:'Closed ##class(APPS.VKP.Order.impl.SpaceTowerSplitser).%New().SplitsSpaceTowerLijnen(ORDNr) - Set R=^KOD(KLNr,"F",ORDNr,1) - Do:'Closed - .Set R=^KOD(KLNr,"F",ORDNr,1) Set:$P(R,D,45)="" $P(R,D,45)=$H,^KOD(KLNr,"F",ORDNr,1)=R ; Referentiedatum voor DOM levertermijn - .Do:'$$ISTERUGN^FLOWORD5(ORDNr) BSControl^FLOWORD7(ORDNr) - .Do CheckUitVerkoop^FLOWPROD(ORDNr) - Do CheckProduct2VerzendWijze^FLOWORD5(KLNr,ORDNr) - Do CheckLeverDagen2VerzendWijze^FLOWORD5(KLNr,ORDNr) - Do ^KFSO - Set OLNr=100 - For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do - .Set R=^KOD(KLNr,"F",ORDNr,OLNr) - .Set:$P(R,D,27) TLNr($P(R,D,27))="" - Set TLNr="" - For Set TLNr=$O(TLNr(TLNr)) Quit:TLNr="" Do TSPLIT^FLOWTOE(TLNr) - - ; invullen productie gegevens voor in de halux toeleveringen - If $$ISHALUX^FLOW("O",ORDNr),$$CheckProductieOrder^FLOWHALUX(ORDNr) Do - .If Closed Do Quit:DueOutOk - ..Set OLNr=100,DueOutOk=1 - ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do - ...Set R=^KOD(KLNr,"F",ORDNr,OLNr) - ...Set:$P(R,D,27) TLNr($P(R,D,27))="" - ..Set TLNr="" - ..For Set TLNr=$O(TLNr(TLNr)) Quit:TLNr="" Do Quit:'DueOutOk - ...Set LEVNr=$P(^KTO1(TLNr),D) - ...Set R=^KTO(LEVNr,TLNr,1),DueOutOk=$P(R,D,19) - .Do ProductieOrder^FLOWHALUX(ORDNr,1) - - Do:'Closed - .Do SetDueOutProductieORD^FLOWHALUX(ORDNr,1) - .Do:KLNr'=$$$KlantKeller CheckTBXDagPlus^FLOWORD2(ORDNr) - - // Event raisen dat het order gesloten is - Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderGeslotenEvent(ORDNr) - - //Instellen van consumentencommissie na sluiten order - //Do StelInConsumentCommissie^KFO(ORDNr,1,KlantObject) (vorige code) - Set ConsumentCommissieDialoog = ##class(CHUI.Flow.Order.ConsumentenCommissieDialoog).%New(ORDNr) - Do ConsumentCommissieDialoog.StelInConsumentCommissie(ORDNr,1,KlantObject) - - // Ook een event raisen voor alle gelinkte orders die zijn aangemaakt - New GelinkteOrders,GelinkteOrdersIterator - Set GelinkteOrders = $Piece(^KOD(KLNr,"F",ORDNr,1),D,41) - Set GelinkteOrdersIterator = ##class(TECH.PiecesIterator).%New(GelinkteOrders,";") - While (GelinkteOrdersIterator.HasNext()) - { - Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderGeslotenEvent(GelinkteOrdersIterator.Next()) - } - - Do:'Closed VerstuurOrderBevestiging - Quit + do ##class(CHUI.VKP.OrderIngave.OrderSluiterv01).%New().Sluit(ORDNr,KLNr, KlantObject) + quit + VerstuurOrderBevestiging quit:$$BezwarenTegenVersturenVanOrderBevestiging If '$L(FaxNrOrEmail) Do Quit:Exit @@ -1125,4 +1049,3 @@ - Index: CHUI/VKP/OrderIngave/OrderSluiterv01.cls.xml =================================================================== diff -u --- CHUI/VKP/OrderIngave/OrderSluiterv01.cls.xml (revision 0) +++ CHUI/VKP/OrderIngave/OrderSluiterv01.cls.xml (revision 44532) @@ -0,0 +1,96 @@ + + + +BL.Derde.KlantSpecifiek +TECH.RegisteredObject + + + +LET OP: DEZE SUBROUTINE WORDT AANGEROEPEN BIJ HET SLUITEN VAN HET "MAAK/WIJZIG ORDER" SCHERM. +DE VARIABELE Closed=True BETEKENT DAT HET ORDER VROEGER AL EENS "GESLOTEN" IS GEWEEST, IN DE BETEKENIS VAN "BEVESTIGD, GECOMMIT, ...". +DUS ZAKEN DIE SLECHTS 1x MOGEN GEBEUREN WANNEER OV HET ORDER SLUIT/VRIJGEEFT/COMMIT, MOETEN MET EEN Do:'Closed VOORWAARDE! +ORDNr:%String,KLNr:%String,KlantObject:%CacheString + + + + + +