Args args;
FormRun formRun;
;
args = new Args();
args.name(formStr(custtable));
args.caller();
// args.record(_buffer); //si se va a pasar un registro
formRun = classfactory.formRunClass(args);
formRun.init();
formRun.run();
formRun.wait();
jueves, 22 de septiembre de 2011
miércoles, 14 de septiembre de 2011
Mostrar un objeto del aot Resource
display Bitmap myBitmap()
{
ResourceNode resourceNode;
Container nodeData;
;
resourceNode = SysResource::getResourceNode(resourceStr(resourceobjectnameAOT));
resourceNode.AOTload();
nodeData = SysResource::getResourceNodeData(resourceNode);
return nodeData;
}
{
ResourceNode resourceNode;
Container nodeData;
;
resourceNode = SysResource::getResourceNode(resourceStr(resourceobjectnameAOT));
resourceNode.AOTload();
nodeData = SysResource::getResourceNodeData(resourceNode);
return nodeData;
}
martes, 6 de septiembre de 2011
Otro ejemplo mas completo que hice, estuvo complicado pero ya esta, sobre las combinaciones finacneras Ax 2012
public static DimensionDynamicAccount CrearCombinacion(DimensionDisplayValue _DimensionDisplayValue)
{
DimensionStorage DimensionStorage;
DimensionAttributeValue dimAttributeValue;
DimensionStorageSegment DimensionStorageSegment;
MainAccount MainAccount;
recid dimHierarchyId;
recid mainAccountRecId;
DimensionValue _DimensionValue;
container cont;
int i;
container dimensiones=["MainAccount","División","Sucursal","CentroCosto"];
;
cont=str2con(_DimensionDisplayValue,"-");
////declarar el objecto
DimensionStorage=DimensionStorage::construct(0,LedgerDimensionType::Account);
for(i=1;i<=conLen(cont);i++)
{
try
{
_DimensionValue=conPeek(cont,i);
if(i==1)
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
DimensionAttribute::findByName(conPeek(dimensiones,i)),
_DimensionValue,
false,
true);
mainAccountRecId= DimensionAttributeValue::find(dimAttributeValue.RecId).EntityInstance;
dimHierarchyId = DimensionHierarchy::getAccountStructure(mainAccountRecId);
DimensionStorage.addHierarchy(dimHierarchyId);
DimensionStorageSegment=DimensionStorageSegment::constructFromValue(dimAttributeValue.CachedDisplayValue,dimAttributeValue);
DimensionStorage.setSegment(i,DimensionStorageSegment);
}
else
{
if(_DimensionValue!="")
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
DimensionAttribute::findByName(conPeek(dimensiones,i)),
_DimensionValue,
false,
true);
DimensionStorageSegment=DimensionStorageSegment::constructFromValue(dimAttributeValue.CachedDisplayValue,dimAttributeValue);
DimensionStorage.setSegment(i,DimensionStorageSegment);
}
else
{
DimensionStorageSegment=DimensionStorageSegment::emptySegment();
DimensionStorage.setSegment(i,DimensionStorageSegment);
}
}
}
catch
{
return 0;
}
}
return DimensionStorage.save();
}
{
DimensionStorage DimensionStorage;
DimensionAttributeValue dimAttributeValue;
DimensionStorageSegment DimensionStorageSegment;
MainAccount MainAccount;
recid dimHierarchyId;
recid mainAccountRecId;
DimensionValue _DimensionValue;
container cont;
int i;
container dimensiones=["MainAccount","División","Sucursal","CentroCosto"];
;
cont=str2con(_DimensionDisplayValue,"-");
////declarar el objecto
DimensionStorage=DimensionStorage::construct(0,LedgerDimensionType::Account);
for(i=1;i<=conLen(cont);i++)
{
try
{
_DimensionValue=conPeek(cont,i);
if(i==1)
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
DimensionAttribute::findByName(conPeek(dimensiones,i)),
_DimensionValue,
false,
true);
mainAccountRecId= DimensionAttributeValue::find(dimAttributeValue.RecId).EntityInstance;
dimHierarchyId = DimensionHierarchy::getAccountStructure(mainAccountRecId);
DimensionStorage.addHierarchy(dimHierarchyId);
DimensionStorageSegment=DimensionStorageSegment::constructFromValue(dimAttributeValue.CachedDisplayValue,dimAttributeValue);
DimensionStorage.setSegment(i,DimensionStorageSegment);
}
else
{
if(_DimensionValue!="")
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
DimensionAttribute::findByName(conPeek(dimensiones,i)),
_DimensionValue,
false,
true);
DimensionStorageSegment=DimensionStorageSegment::constructFromValue(dimAttributeValue.CachedDisplayValue,dimAttributeValue);
DimensionStorage.setSegment(i,DimensionStorageSegment);
}
else
{
DimensionStorageSegment=DimensionStorageSegment::emptySegment();
DimensionStorage.setSegment(i,DimensionStorageSegment);
}
}
}
catch
{
return 0;
}
}
return DimensionStorage.save();
}
lunes, 5 de septiembre de 2011
Pequeño ejemplo de sacar el recid de la combinacion de las dimenciones fincancieras AX 2012
DimensionStorage DimensionStorage;
DimensionAttributeValue dimAttributeValue;
DimensionStorageSegment DimensionStorageSegment;
;
DimensionStorage=DimensionStorage::construct(0,LedgerDimensionType::Account);
//DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
DimensionAttribute::find(5637144840),
"180300",
false,
true);
DimensionStorage.addHierarchy(DimensionHierarchy::find(5637146169).RecId);
DimensionStorageSegment=DimensionStorageSegment::constructFromValue(dimAttributeValue.CachedDisplayValue,dimAttributeValue);
DimensionStorage.setSegment(1,DimensionStorageSegment);
info(int642str(DimensionStorage.save()));
DimensionAttributeValue dimAttributeValue;
DimensionStorageSegment DimensionStorageSegment;
;
DimensionStorage=DimensionStorage::construct(0,LedgerDimensionType::Account);
//DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(
DimensionAttribute::find(5637144840),
"180300",
false,
true);
DimensionStorage.addHierarchy(DimensionHierarchy::find(5637146169).RecId);
DimensionStorageSegment=DimensionStorageSegment::constructFromValue(dimAttributeValue.CachedDisplayValue,dimAttributeValue);
DimensionStorage.setSegment(1,DimensionStorageSegment);
info(int642str(DimensionStorage.save()));
jueves, 4 de agosto de 2011
Recorrer los registros seleccionados de un grid
static server void RegorrerGrid(FormDataSource _fds_custtable)
{
custtable buffer2;
;
for(buffer2 = _fds_custtable.getFirst(true) ? _fds_custtable.getFirst(true) : _fds_custtable.cursor();
buffer2;
buffer2 = _fds_custtable.getnext())
{
info(buffer2.AccountNum);
}
}
{
custtable buffer2;
;
for(buffer2 = _fds_custtable.getFirst(true) ? _fds_custtable.getFirst(true) : _fds_custtable.cursor();
buffer2;
buffer2 = _fds_custtable.getnext())
{
info(buffer2.AccountNum);
}
}
miércoles, 3 de agosto de 2011
Crear Calidades en una ruta y abrir su respectiva pantalla ax 2009
void crear_calidad(ProdJournalRoute ProdJournalRoute )
{
InventQualityOrderTable InventQualityOrderTable;
ProdTable ProdTable;
//ProdJournalRoute ProdJournalRoute;
FormDataSource fds;
NumberSequenceCode NumberSequenceCode;
NumberSeq NumberSeq;
TubOperPruebas TubOperPruebas;
NumberSeqFormHandler NumberSeqFormHandler;//=NumberSeqFormHandler::construct();
Args args;
FormRun formRun;
;
ttsbegin;
NumberSeq=NumberSeq::newGetNum( NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(InventQualityOrderId))));
ProdTable=ProdJournalRoute.prodTable();
InventQualityOrderTable.initValue();
InventQualityOrderTable.initFromProdTable(ProdTable);
InventQualityOrderTable.initFromReferenceBuffer(ProdJournalRoute.prodRoute());
InventQualityOrderTable.QualityOrderId=NumberSeq.num();
InventQualityOrderTable.Qty=ProdJournalRoute.QtyGood;
TubOperPruebas =TubOperPruebas::find(InventQualityOrderTable.RouteOprId);
if(!TubOperPruebas)
{
throw(InventQualityOrderTable.RouteOprId+" no encuentra grupo de test");
}
InventQualityOrderTable.TestGroupId=TubOperPruebas.TestGroupId;
InventQualityOrderTable.insert();
ttscommit;
/////////////////////abrir pantalla/////////////7
args = new Args();
args.name(formStr("InventQualityOrderTable")); //form SysBoxForm is used to show the message
formRun = classFactory.formRunClass(args); //creating a FormRun object
args.record(InventQualityOrderTable); // as argument is optional
formRun.init();
formRun.run();
formRun.wait(); //waiting for user action
///////////////////////////////////////
}
{
InventQualityOrderTable InventQualityOrderTable;
ProdTable ProdTable;
//ProdJournalRoute ProdJournalRoute;
FormDataSource fds;
NumberSequenceCode NumberSequenceCode;
NumberSeq NumberSeq;
TubOperPruebas TubOperPruebas;
NumberSeqFormHandler NumberSeqFormHandler;//=NumberSeqFormHandler::construct();
Args args;
FormRun formRun;
;
ttsbegin;
NumberSeq=NumberSeq::newGetNum( NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(InventQualityOrderId))));
ProdTable=ProdJournalRoute.prodTable();
InventQualityOrderTable.initValue();
InventQualityOrderTable.initFromProdTable(ProdTable);
InventQualityOrderTable.initFromReferenceBuffer(ProdJournalRoute.prodRoute());
InventQualityOrderTable.QualityOrderId=NumberSeq.num();
InventQualityOrderTable.Qty=ProdJournalRoute.QtyGood;
TubOperPruebas =TubOperPruebas::find(InventQualityOrderTable.RouteOprId);
if(!TubOperPruebas)
{
throw(InventQualityOrderTable.RouteOprId+" no encuentra grupo de test");
}
InventQualityOrderTable.TestGroupId=TubOperPruebas.TestGroupId;
InventQualityOrderTable.insert();
ttscommit;
/////////////////////abrir pantalla/////////////7
args = new Args();
args.name(formStr("InventQualityOrderTable")); //form SysBoxForm is used to show the message
formRun = classFactory.formRunClass(args); //creating a FormRun object
args.record(InventQualityOrderTable); // as argument is optional
formRun.init();
formRun.run();
formRun.wait(); //waiting for user action
///////////////////////////////////////
}
martes, 2 de agosto de 2011
Registrar Diario Contable
server static void registrar_pago_cobranza(journalId id_jou)
{
LedgerJournalCheckPost LedgerJCP;
;
LedgerJCP = LedgerJournalCheckPost::newLedgerJournalTable(LedgerJournalTable::find(id_jou),NoYes::Yes,NoYes::Yes);
LedgerJCP.run();
}
{
LedgerJournalCheckPost LedgerJCP;
;
LedgerJCP = LedgerJournalCheckPost::newLedgerJournalTable(LedgerJournalTable::find(id_jou),NoYes::Yes,NoYes::Yes);
LedgerJCP.run();
}
Suscribirse a:
Entradas (Atom)