viernes, 22 de enero de 2016

TIP | Copiar datos de tabla entre compañías [changeCompany - buf2buf]

Hola a tod@s,

Hoy tenemos un tip que nos ahorrará mucho tiempo. Por lo general, la forma en la que lo hace el DMF y algunos otros procesos de AX es mapear uno por uno los campos en la tabla nueva con un changeconpany y problema resuelto. Pero nosotros encontramos una función con la que prácticamente copiamos la misma tabla pero en otra compañía. Así:

 static void CopyData(Args _args)  
{  
   SysOperationProgress  operationProgress;  
   NASIV                 navivTest, nasivDat;  
   str                   toCompany = "dat";  
   int                   i, totalRecords;  
   #avifiles  
   ;    
   operationProgress = SysOperationProgress::newGeneral(#aviUpdate,  
     strFmt("Importando de datos desde '%1' a '%2'", curext(), toCompany),  
     totalRecords);  
   while select navivTest  
   {  
     i++;  
     changeCompany(toCompany)  
     {  
       ttsbegin;  
       buf2buf(navivTest, nasivDat);  
       nasivDat.insert();  
       ttscommit;  
     }  
     operationProgress.setText(strfmt("Registro número: %1", i));  
     operationProgress.setCount(i, 1);  
   }    
}  

Después de ejecutar este código, los datos que teníamos en la empresa actual se visualizaran en la empresa 'DAT'.

No hay comentarios:

Publicar un comentario