Fala pessuba,
Utilizei bastante o comando changecompany quando trabalhava com AX 4.0 e agora, que temos o AX 2009 e o comando crosscompany, podemos economizar muitas linhas de código.
Antes precisavamos fazer um while na tabela DataArea e lembrar de anular o tablebuffer utilizado para a operação multiempresa, senão o AX se perde no meio do while e não muda a empresa direito.
Fiz alguns exemplos de como era antes com o changecompany e como ficou agora com o crosscompany. Dêem uma olhada e qualquer galho é só gritar!
ChangeCompany
Utilizei bastante o comando changecompany quando trabalhava com AX 4.0 e agora, que temos o AX 2009 e o comando crosscompany, podemos economizar muitas linhas de código.
Antes precisavamos fazer um while na tabela DataArea e lembrar de anular o tablebuffer utilizado para a operação multiempresa, senão o AX se perde no meio do while e não muda a empresa direito.
Fiz alguns exemplos de como era antes com o changecompany e como ficou agora com o crosscompany. Dêem uma olhada e qualquer galho é só gritar!
ChangeCompany
// Start
static void antesChangeCompany(Args _args)
{
DataArea dataArea;
CustTable custTable;
;
while select dataArea
where dataArea.isVirtual == NoYes::No
{
changecompany(dataArea.Id)
{
custTable = null;
while select custTable
{
info(strfmt("Código Cliente: %1, Nome: %2, Empresa no AX: %3", custTable.AccountNum, custTable.Name, custTable.dataAreaId));
}
}
}
}
// End
CrossCompany
// Start
static void depoisCrossCompany(Args _args)
{
CustTable custTable;
;
while select crosscompany custTable
{
info(strfmt("Código Cliente: %1, Nome: %2, Empresa no AX: %3", custTable.AccountNum, custTable.Name, custTable.dataAreaId));
}
}
// End
CrossCompany com Filtro
// Start
static void depoisCrossCompanyFiltro(Args _args)
{
CustTable custTable;
container cont = ['001' , '002']; //container com dataAreaIds utilizados para filtrar
;
while select crosscompany:cont custTable
{
info(strfmt("Código Cliente: %1, Nome: %2, Empresa no AX: %3", custTable.AccountNum, custTable.Name, custTable.dataAreaId));
}
}
// End
Honório, Renato
0 comentários: