368d6fafea
Code backup
335 lines
19 KiB
Plaintext
335 lines
19 KiB
Plaintext
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();
|
|
} |