Index: WV3.mac.rou =================================================================== diff -u -r2589 -r3018 --- WV3.mac.rou (.../WV3.mac.rou) (revision 2589) +++ WV3.mac.rou (.../WV3.mac.rou) (revision 3018) @@ -5,7 +5,6 @@ #include Prod.Product #include BL.Derde.KlantSpecifiek - #define NewRelease 0 #define MaxDiffPRS 2.00 @@ -192,254 +191,40 @@ - // Added: 29/10/2010 - // Herberekenen van de Bouwstenen voor TBX-producten die "Verlaagde rug" bevatten. - // Deze routine kan in drie stappen - // Oproepen via: - // d RecalcRSTL^WV3(1000,1) -RecalcRSTL(KLNr,Stap) - Do RecalcTBX^WV3(.KLNr,.Stap) - Quit - // Added: 21/09/2010 - // Herberekenen van de Bouwstenen voor TBX-producten die "ZIF intivo" bevatten. - // Deze routine kan in drie stappen - // Oproepen via: - // d RecalcZIF^WV3(1000,1) -RecalcZIF(KLNr,Stap) - Do RecalcTBX^WV3(.KLNr,.Stap) - Quit - // Added: 04/06/2010 - // Herberekenen van de Bouwstenen voor TBX-producten die een ANTISLIPMAT bevatten. - // Deze routine kan in drie stappen - // Oproepen via: - // d RecalcASM^WV3(1000,1) -RecalcASM(KLNr,Stap) - ;Do RecalcTBX^WV3(.KLNr,.Stap) - Quit - // Herberekenen van de Bouwstenen voor TBX-producten. - // Deze routine kan in drie stappen -RecalcTBX(KLNr,Stap) - New ModOpties,blnModifyBS,blnModifyPrijs,CntProd - Set KLNr=$G(KLNr,1000) ; $$$KlantTestKlant of gebruik "*" voor alle klanten - Set Stap=$G(Stap,1) +TestVBA + ;d WLIP^vhDBG(97,"test VBA - DisplayImg") + ;d TestExecVBA("Session.RunMacro(""TEventVBA2011"")",$io) + ;d TestExecVBA("Application.RunMacro(""TEventVBA2011"")",$io) + ;d TestExecVBA("modReflection2011.EventVBA2011",$io) - If Stap=1 Do ; Check Only : GetProducts - . Set ModOpties="-" - Else If Stap=2 Do ; Check Only : Recalc products without changes - . Set blnModifyBS=0 - . Set blnModifyPrijs=0 - . Set ModOpties="-" - Else If Stap=3 Do ; Recalc products and update BS - . Set blnModifyBS=1 - . Set blnModifyPrijs=0 - . Set ModOpties="M;H" ; "M;H" (Modify HF) zal enkel de HF van "ZIF intivo" aanpassen - .;Set ModOpties="H;P" ; "H;P" zal ook de prijzen aanpassen - Else Do Quit - . Write !,!,"!!! Ongeldige waarde voor Stap !!!",! + New cmd + Set cmd="" + ;Set cmd=cmd_"Dim App As Attachmate_Reflection_Objects_Framework.ApplicationObject"_$$$CRLF + Set cmd=cmd_"Dim App As Variant"_$$$CRLF + Set cmd=cmd_"Set App = GetObject(, ""Attachmate_Reflection_Objects_Framework.ApplicationObject"")"_$$$CRLF + Set cmd=cmd_"msgbox(""test27_002"")"_$$$CRLF + ;Set cmd=cmd_"msgbox(""t:"" & Application.Caption & CacheIP)"_$$$CRLF + ;Set cmd=cmd_"msgbox(""t:"" & Application.AutomationServerName)"_$$$CRLF + ;Set cmd=cmd_"msgbox(Application.GetObject(""ThisTerminal"").Version)"_$$$CRLF + ;Set cmd=cmd_"Application.RunMacro(""EventVBA""))"_$$$CRLF + ;Set cmd=cmd_"modReflection2011.EventVBA2011"_$$$CRLF + d TestExecVBA(cmd,$io) - d WLIP^vhDBG(97,"RecalcTBX started (Stap "_Stap_")") - - Kill arProd,arErrors - Do GetProducts(.arProd,KLNr) - Write ! - Write:(Stap=1) "Continu with fase 2 : Restart this routine with param ""Stap=2"".",!,! - Quit:(Stap<2) - - // Modify BS - Do RecalcProducts(.arProd,ModOpties) - Write ! - Write:(Stap=2) "Bouwstenen zijn NIET aangepast! ",!,"Continu with fase 3 : Restart this routine with param ""Stap=3"".",!,! - - Quit:(Stap<3) - Write "RecalcASM routine Finished.",! Quit -CountProducts(arProd) ; arProd als .local doorgeven - New PRNr,Counter - Set Counter=0 - Set PRNr=0 - For Set PRNr=$O(arProd(PRNr)) Quit:(PRNr="") If $I(Counter) - Quit Counter - -RecalcProducts(arProd,ModOpties) ; arProd als .local doorgeven - New PRNr,Counter - Set Counter=0 - Set PRNr=0 - For Set PRNr=$O(arProd(PRNr)) Quit:(PRNr="") Do - . Quit:('$$rcpCheckGADataExists(PRNr)) - . Set sc=##class(Prod.GAData.Product).KPRModify(PRNr,ModOpties,0) - . Write $J($I(Counter),4)_"."_"KPRModify voor PRNr "_PRNr_" Result="_$$ParseStatus^vhLib(sc),! - . Set:($$$ISERR(sc)) arErrors(Counter,PRNr)="KPRModify voor PRNr "_PRNr_" Result="_$$ParseStatus^vhLib(sc) - // Display errors if any occured - If $D(arErrors) Do - . Write !,$$$ArrayTT2("arErrors",.arErrors),! - Quit -rcpCheckGADataExists(PRNr) - New blnExists,Key - Set GADataID=$P(^KPR(PRNr,"G"),"\",13) - Set blnExists=##class(Prod.GAData.Product).%ExistsId(GADataID) - Quit:(blnExists) 1 - ; Else : no persistent object for GADataID - Write !!,"Geen GAData Product gevonden voor PRNr"_PRNr_" (GADataID="_GADataID_"). ",! - Read "Druk op een toets om verder te gaan ... ",Key - Write !! - Quit 0 - -GetProducts(arProd,KLNr) ; arProd als .local doorgeven - New arProdExclude,iKLNr - If KLNr?4.5N { - Do GetProductsForKlant(.arProd,KLNr) - } ElseIf KLNr="*" { - // Products to exclude from recalculation - ;For iKLNr=$$$KlantKeller Do GetProductsForKlant(.arProdExclude,iKLNr) - // Loop through ^KPR - Do GetProductsViaKPR(.arProd,.arProdExclude) - } Else { - Write !,!," !!! Value for KLNr is invalid. No recalc performed !!!",! - Quit ; Exit Rtn +TestExecVBA(VBAcommand,DeviceName) + Set DeviceName=$$$LCase(DeviceName) + Set ExecVBAVanuitCache=(DeviceName["localhost") || (DeviceName["testw7_w7") || (DeviceName["gpi_w7") + If ExecVBAVanuitCache { + d WLIP^vhDBG(97,"execute "_VBAcommand_" on "_DeviceName) + Do ##class(TCHUI.TApplication).ExecVBA(VBAcommand) } - // Aantal producten te herberekenen? - Set CntProd=$$CountProducts(.arProd) - Write "Aantal : "_CntProd_" product(en) te herrekenen",! - If CntProd<100 { - Write ! - Write $$$ArrayTT2("arProd",.arProd) - } Else { - Write "The array ""arProd"" will not be displayed (too many items)." - } - Write ! - Quit - -GetProductsForKlant(arProd,KLNr) ; arProd als .local doorgeven - New PRNr,PakketCode,PAKNr,OFFNr,OLNr - Set PRNr=0 - - // Statistiek - For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do - . Do StoreOne(PRNr,"S",KLNr) - - // Pakket - Set PakketCode="" - For Set PakketCode=$O(^PAKKET("IK",KLNr,PakketCode)) Quit:PakketCode="" Do - . Set PAKNr=^PAKKET("IK",KLNr,PakketCode) - . Set PRNr="" - . For Set PRNr=$O(^PAKKET("D",PAKNr,PRNr)) Quit:PRNr="" Do - . . Quit:PRNr'?4.7N - . . Do StoreOne(PRNr,"P",KLNr) - - // Offertes - Set OFFNr="" - For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:OFFNr="" Do - . Set OLNr=100 - . For Set OLNr=$O(^KOFKL(KLNr,"F",OFFNr,OLNr)) Quit:OLNr="" Do - . . Set PRNr=$P(^KOFKL(KLNr,"F",OFFNr,OLNr),"\",2) - . . Quit:PRNr'?4.7N - . . Do StoreOne(PRNr,"O",KLNr) - - Quit - - /// Alle producten aflopen, dus NIET klant-afhankelijk ! - /// Om producten te skippen (bvb. van een bepaalde klant), de PRNr(s) doorgeven via arProdExclude. -GetProductsViaKPR(arProd,arProdExclude) ; arProd en arProdExclude als .local doorgeven - - ; TEMP - ;Do StoreOne(522750,"S",12486) - ;Quit - - New PRNr,KLNr - Set KLNr="*" - Set PRNr=0 - For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do - . Quit:($D(arProdExclude(PRNr))) - . Do StoreOne(PRNr,"S",KLNr) - Quit - -StoreOne(PRNr,From,KLNr) - New KortTekst,ASM,KLAS,LD,LC,DS,blnAddPrd,VersieNrPRBS,Prijs,LadeInfo - Quit:$D(arProd(PRNr)) ; reeds verwerkt - Quit:$P($$GENTYP^HAD(PRNr),"\")'="TBX" - Quit:$$$PRGet($$$NONAktief)=1 - Set KortTekst=$$$PRGet($$$KortTekst) - Quit:$E(KortTekst,1,3)="GEN" - Quit:$E(KortTekst,1,3)="BBS" - - q:(PRNr'?1(1"518499",1"602028")) ; Verlaagde RugH - ;q:(PRNr'?1(1"592163",1"592193")) ; ZIF intivo - - Set blnAddPrd=$$stoProductIsTBoxWithVerlaagdeRug(.LadeInfo) ; (Added by WimV on 29/10/2010) - ;Set blnAddPrd=$$stoProductIsTBoxWithZIFintivo(.LadeInfo) ; (Added by WimV on 21/09/2010) - ;Set blnAddPrd=$$stoProductIsTBoxWithASM(.LadeInfo) ; (Added by WimV on 04/06/2010) - Quit:('blnAddPrd) - - Set VersieNrPRBS=$P($G(^PRBS("BS",PRNr),"\\1.0.0"),"\",3) ; Steeds controleren - Quit:(VersieNrPRBS="") - - Set Prijs=$S(KLNr?4.5N:$$KLANTPR^KPRIJS(KLNr,PRNr), 1:$$$PRGet($$$PPLMTL) ) - Set $P(Prijs,"\",16)=From - Set $P(Prijs,"\",17)=$G(LadeInfo,"LadeInfo?") - Set arProd(PRNr)=Prijs - ;Do GetLO(PRNr,.LOAll,.arProd,From) Quit -stoProductIsTBoxWithVerlaagdeRug(LadeInfo) ; LadeInfo als .local doorgeven - // Beperken tot de TBox-producten met Verlaagde ruggen (met/zonder hoge sifonlades) - New RSTL,KLAS,LC,DS,blnOK - Set RSTL=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RSTL")) ; RugStuk verlaagd - Quit:(RSTL'?1(1"M",1"B")) 0 - // Selectie verder te beperken, wanneer slechts gedeeltelijke omschakeling naar nieuwe producten - Set LC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LC")) ; LadeCode - Set KLAS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KLAS")) ; Klasse - Set DS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DS")) ; Design - Set blnOK=1 ; (KLAS'?1(1"SY")) ; bouwstenen van dit product herberekenen ? - ;Quit:(KLAS?1(1"SP2")) 0 ; spoelbakken voorlopig effe skippen (Added by WimV on 04/06/2010) - Set LadeInfo=RSTL_";"_LC_";"_DS_";" - Quit blnOK -stoProductIsTBoxWithZIFintivo(LadeInfo) ; LadeInfo als .local doorgeven - // Beperken tot de TBox-producten met ZIF intivo (D of C - binnenlade) - New DC,DS,RH,LC,LT,blnOK - Set DC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DC")) ; DesignCode - Quit:(DC'="I") 0 - Set LT=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LT")) ; FrontType (binnenlade) - Quit:(LT'="B") 0 - Set DS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DS")) ; Design - Set RH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RH")) ; RugHoogte - Set LC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LC")) ; LadeCode - ;d WL^vhDBG("DS: "_DS_" RH: "_RH) - Quit:($$$Not((DS?1(1"WI",1"ZI",1"GI",1"II"))&&(RH?1(1"D",1"C")))) 0 - // Selectie verder te beperken, wanneer slechts gedeeltelijke omschakeling naar nieuwe producten - // Bijvoorbeeld : enkel de ZIFs op D-hoogte in zijdewit omzetten - Set blnOK=$$$Not((DS?1(1"WI",1"ZI"))&&(RH?1(1"D"))) -#If ($$$Server="CACHE02")&&($$$NSpace="DEV-ADMIN1") - Set blnOK=((DS?1(1"II"))&&(RH?1(1"C"))) -#EndIf - Set LadeInfo=LC_";"_DS_";"_RH_";" - d:(blnOK) WL^vhDBG("LadeInfo: "_LadeInfo) - Quit blnOK - -stoProductIsTBoxWithASM(LadeInfo) ; LadeInfo als .local doorgeven - // Beperken tot de TBox-producten met antislipmatten - New ASM,KLAS,LD,LC,DS,blnOK - Set ASM=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"ASM")) ; Antislipmat - Quit:(ASM'?1(1"G",1"Z",1"R",1"1")) 0 - - // Selectie verder te beperken, wanneer slechts gedeeltelijke omschakeling naar nieuwe producten - Set LD=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LD")) ; LadeDiepte - Set LC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LC")) ; LadeCode - Set KLAS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KLAS")) ; Klasse - Set DS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DS")) ; Design - ;Set blnOK=(ASM?1(1"G"))&&(LD>500) ; bouwstenen van dit product herberekenen ? CONDITIE hangt af welke matten (kleur/afmeting) omgezet worden naar AGO - Set blnOK=(DS'?1(1"AS",1"AI")) ; bouwstenen van dit product herberekenen ? - ;Quit:(KLAS?1(1"SP2")) 0 ; spoelbakken voorlopig effe skippen (Added by WimV on 04/06/2010) - Set LadeInfo=ASM_";"_LD_";"_LC_";" - Quit blnOK - - - - ; \ No newline at end of file