public void closeOk() { MultiSelectionHelper msh = MultiSelectionHelper::construct(); FormRun fr = this.args().caller(); RecId recId; str vaultDrawingPrintType; str inventBomRecId; str prodIds; ProdId prodId; Args printArgs = new Args(); str strDrawings; str strMultiSelect; PALDC_OPC_PrintSubType subType; boolean drawingFather = false; boolean drawingChildren = false; FormDataSource fds = fr.dataSource(); CustPackingSlipJour custPackingSlipTable; CustTrans custTrans; CustTable custTable; BFInventPackingSlipJour inventPackingSlipTable; InventJournalTable inventJournalTable; VendPackingSlipJour vendPackingSlipJour; VendPackingSlipTrans vendPackingSlipTrans; VendPackingSlipVersion vendPackingSlipVersion; ProdTable prodTable; WMSJournalTable wmsJournalTable; List resultList = new List(Types::Int64); ListIterator resultIterator; msh.parmDatasource(fds); switch (this.args().parmEnum()) { case PALDC_OPC_PrintType::ProdTableAll: prodTable = msh.getFirst(); while(prodTable) { recId = prodTable.RecId; //verifico i check box e lancio direttamente il runOPC // Ordini di Produzione if(cbxProdTable.checked()) { printArgs.parmEnum(PALDC_OPC_PrintType::ProdTable); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , strFmt("OP %1", prodTable.ProdId) // objectId , "" // optionalStr1 , "" // optionalStr2 , ieProdTableNoCopies.value() // nOfCopies , false // optionalBoolean1 , false // optionalBoolean2 )); } // Bindelli if(cbxProdTableBadge.checked()) { printArgs.parmEnum(PALDC_OPC_PrintType::ProdTableBadge); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , strFmt("Bindello %1", prodTable.ProdId) // objectId , seProjId.text() // optionalStr1 , "" // optionalStr2 , ieProdTableBadgeNoCopies.value() // nOfCopies , false // optionalBoolean1 , false // optionalBoolean2 )); } //Disegni da Vault if(cbVaultDraw.selection() != PALCBO_VaultDrawingPrintType::None) { switch(cbVaultDraw.selection()) { case PALCBO_VaultDrawingPrintType::FatherChilds: drawingFather = true; drawingChildren = true; break; case PALCBO_VaultDrawingPrintType::Father: drawingFather = true; break; case PALCBO_VaultDrawingPrintType::Childs: drawingChildren = true; break; default: throw Exception::Error; } printArgs.parmEnum(PALDC_OPC_PrintType::VaultDrawings); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , strFmt("Disegni %1%2 %3", (drawingFather ? "Padre" : ""), (drawingChildren ? "Figli" : ""), prodTable.ProdId) // objectId , strFmt("%1$%2",prodTable.ItemId, prodTable.inventTable().PALEBI_VaultRevision) // optionalStr1 , prodTable.ProdId // optionalStr2 , 1 // nOfCopies , drawingFather // optionalBoolean1 , drawingChildren // optionalBoolean2 , PALDC_OPC_PrintSubType::ProdBom // printSubType )); } prodTable = msh.getNext(); } break; case PALDC_OPC_PrintType::CustPackingSlip: custPackingSlipTable = msh.getFirst(); while(custPackingSlipTable) { resultList.addEnd(element.runOPC(custPackingSlipTable.RecId // recId , this.args() // printArgs , custPackingSlipTable.PackingSlipId // objectId )); custPackingSlipTable = msh.getNext(); } break; case PALDC_OPC_PrintType::CustPackingSlipWH: inventPackingSlipTable = msh.getFirst(); while(inventPackingSlipTable) { resultList.addEnd(element.runOPC(inventPackingSlipTable.RecId // recId , this.args() // printArgs , inventPackingSlipTable.BFInventPackingSlipOriginNum // objectId )); inventPackingSlipTable = msh.getNext(); } break; case PALDC_OPC_PrintType::VendPackingSlip: vendPackingSlipJour = msh.getFirst(); while(vendPackingSlipJour) { vendPackingSlipVersion = VendPackingSlipVersion::findLatest(vendPackingSlipJour.RecId); resultList.addEnd(element.runOPC(vendPackingSlipJour.RecId // recId , this.args() // printArgs , vendPackingSlipVersion.InternalPackingSlipId // objectId )); vendPackingSlipJour = msh.getNext(); } break; case PALDC_OPC_PrintType::LabelPrinterSystem: switch(this.args().dataset()) { case tableNum(custTable): //Stampa indirizzi cliente msh.parmDatasource(this.args().record().dataSource()); subType = PALDC_OPC_PrintSubType::CustomerAddressLPS; custTable = msh.getFirst(); while(custTable.RecId) { if(dtFrom.dateValue() && dtTo.dateValue()) { while select firstOnly custTrans where custTrans.AccountNum == custTable.AccountNum && custTrans.TransDate >= dtFrom.dateValue() && custTrans.TransDate <= dtTo.dateValue() { strMultiSelect += strFmt("%1,", custTable.RecId); } } else { strMultiSelect += strFmt("%1,", custTable.RecId); } custTable = msh.getNext(); } break; case tableNum(VendPackingSlipJour): //Stampa msh.parmDatasource(this.args().record().dataSource()); subType = PALDC_OPC_PrintSubType::VendPackingSlipJourLPS; vendPackingSlipJour = msh.getFirst(); while(vendPackingSlipJour.RecId) { strMultiSelect += strFmt("%1§%2@", vendPackingSlipJour.RecId, reLabelCopies.realValue()); vendPackingSlipJour = msh.getNext(); } break; case tableNum(InventJournalTable): //Stampa msh.parmDatasource(this.args().record().dataSource()); subType = PALDC_OPC_PrintSubType::InventJournalTableLPS; inventJournalTable = msh.getFirst(); while(inventJournalTable.RecId) { strMultiSelect += strFmt("%1§%2@", inventJournalTable.RecId, reLabelCopies.realValue()); inventJournalTable = msh.getNext(); } break; case tableNum(WMSJournalTable): //Stampa msh.parmDatasource(this.args().record().dataSource()); subType = PALDC_OPC_PrintSubType::WMSJournalTableLPS; wmsJournalTable = msh.getFirst(); while(wmsJournalTable.RecId) { strMultiSelect += strFmt("%1§%2@", wmsJournalTable.RecId, reLabelCopies.realValue()); wmsJournalTable = msh.getNext(); } break; default: //Stampa articolo singolo subType = PALDC_OPC_PrintSubType::PrintByItemLPS; strMultiSelect = strFmt("%1§%2§%3§%4§%5§%6§%7§%8§%9§%10§%11§%12§%13§%14," , this.formatStringForCmdParm(seItemId.text()) , this.formatStringForCmdParm(seItemName.text()) , this.formatStringForCmdParm(seInventBatchId.text()) , this.formatStringForCmdParm(sePbmProjectInventId.text()) , this.formatStringForCmdParm(seWMSLocationId.text()) , this.formatStringForCmdParm(seLogisticsAddressCountryRegionId.text()) , reInventQty.realValue() , reLabelCopies.realValue() , this.formatStringForCmdParm(seVendAccount.text()) , this.formatStringForCmdParm(sePackingSlipId.text()) , date2StrXpp(deDate.dateValue()) , this.formatStringForCmdParm(sePurchUnit.text()) , this.formatStringForCmdParm(sePurchId.text()) , this.formatStringForCmdParm(seProdId.text()) ); break; } if(strMultiSelect) { strMultiSelect = subStr(strMultiSelect, 0, strLen(strMultiSelect) -1); recId = this.args().record().RecId; // Bindello Articolo - A6 if (cbxA6Badge.checked()) { printArgs.parmEnum(PALDC_OPC_PrintType::InventTableBadge); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , "Bindello Articolo - A6" // objectId , strFmt('%1†0‽%2', strMultiSelect, reA6BadgeCopies.realValue()) // optionalStr1 , "" // optionalStr2 , reA6BadgeCopies.realValue() // nOfCopies , false // optionalBoolean1 , false // optionalBoolean2 , PALDC_OPC_PrintSubType::A6Badge // subType )); } // Bindello Articolo - A5 if (cbxA5Badge.checked()) { printArgs.parmEnum(PALDC_OPC_PrintType::InventTableBadge); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , "Bindello Articolo - A5" // objectId , strFmt('%1†0‽%2', strMultiSelect, reA5BadgeCopies.realValue()) // optionalStr1 , "" // optionalStr2 , reA5BadgeCopies.realValue() // nOfCopies , false // optionalBoolean1 , false // optionalBoolean2 , PALDC_OPC_PrintSubType::A5Badge // subType )); } // Bindello Articolo - A4 if (cbxA4Badge.checked()) { printArgs.parmEnum(PALDC_OPC_PrintType::InventTableBadge); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , "Bindello Articolo - A4" // objectId , strFmt('%1†0‽%2', strMultiSelect, reA4BadgeCopies.realValue()) // optionalStr1 , "" // optionalStr2 , reA4BadgeCopies.realValue() // nOfCopies , false // optionalBoolean1 , false // optionalBoolean2 , PALDC_OPC_PrintSubType::A4Badge // subType )); } // Ettichette if (cbxLabel.checked()) { printArgs.parmEnum(PALDC_OPC_PrintType::LabelPrinterSystem); printArgs.parm(strFmt("%1", PALDC_OPC_PrintTypes::find(printArgs.parmEnum(), subType).RecId)); resultList.addEnd(element.runOPC(recId // recId , printArgs // printArgd , "Label Printer System" // objectId , strMultiSelect // optionalStr1 , "" // optionalStr2 , reLabelCopies.realValue() // nOfCopies , false // optionalBoolean1 , false // optionalBoolean2 , subType // subType )); } } else { throw error("Not implemented"); } break; default: throw error("Not implemented"); } super(); resultIterator = new ListIterator(resultList); while(resultIterator.more()) { PALDC_OfficePrinterClient::printPortal(resultIterator.value()); resultIterator.next(); } this.close(); }