Eliminar reserva de una línea de pedido

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en X++

En algunas ocasiones, nos puede ser interesante poder eliminar la cantidad que tengamos reservada en un pedido, para dejarla en esta En Pedido.

Esto lo podemos realizar utilizando el siguiente Job, el cual a partir de una línea de pedido elimina la reserva de su transacción.

static void DAXEliminaReserva(Args _args)
{
	InventUpd_Reservation     res;
	InventMovement            Inventmovement;
	Salesline                 Salesline;
	Inventtrans               Inventtrans;
	;
	Salesline = Salesline::findInventTransId('00035053_092');
 
	if(salesline.RecId)
	{
		Inventtrans =InventTrans::findTransId(Salesline.inventtransId);
		Inventmovement = Inventtrans.inventmovement(true);
		res = InventUpd_Reservation::newInventDim(Inventmovement,InventTrans.inventDim(),Salesline.SalesQty,true);
		res.updatenow();
	}
}

347 en Dynamics Ax 2009

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en Finanzas

En las últimas actualizaciones que ha realizado Microsoft para los informes del 347, han cometido un pequeño fallo, olvidandose el botón de exclusiones de grupos de impuestos del formulario del 347, haciendo imposible que se pueda presentar. (Microsoft siempre pensando en los programadores)

Para arreglar este problema, se tiene que agregar al formulario: TaxReport347Table el menuItem de tipo Display llamado: TaxReport347Validation.

De esta manera ya podremos configurar que grupos de impuestos se quieren excluir a la hora de realizar el 347

Integrar Ms Project con Dynamics Ax 2009

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en Tecnica

Recientemente Microsoft ha publicado un White Paper con bastantes detalles técnicos, en el cual nos explica como realizar la integración entre Microsoft Project y Dynamics Ax 2009.

Para todas aquellos que os queráis descargar el documento os adjunto el links, el cual no requiere tener acceso a la partnersource.

http://www.microsoft.com/downloads/details.aspx?FamilyID=b53b2475-b8ee-4caf-93ba-15cc6e05b0cb&displaylang=en

En el podréis encontrar el documento tanto en formato PDF como XPS.

Actualizar InventSum desde InventTrans

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en X++

En algunas ocasiones, necesitamos volver a calcular los valores de la inventsum, a partir de los datos existentes en la inventtrans, para ello tenemos una forma muy sencilla para realizarlo sobre un artículo, utilizando la clase InventSumReCalcItem

InventSumReCalcItem InventSumReCalcItem;
;
InventSumReCalcItem = new InventSumReCalcItem("Código de artículo");
InventSumReCalcItem.updateNow();

Agrupaciones en Query

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en X++

En algunas ocasiones nos encontramos que necesitamos utilizar el objeto Query, para realizar una consulta SQL con agrupaciones, a continuación os pongo un ejemplo de como utilizar este objeto.

Imaginemos que queremos realizar la siguiente consulta medita un objeto Query:

SELECT custaccount,itemid, SUM(lineamount)AS lineamount
FROM salesline
GROUP BY custaccount, itemid
HAVING SUM(lineamount) > 0
ORDER BY lineamount DESC

Para ello utilizaremos la siguiente sintaxis:

Queryrun 	queryRun;
Query 		query = new Query();
SalesLine 	salesLine;
;
 
query.addDataSource(tablenum(SalesLine));
query.dataSourceTable(tablenum(SalesLine)).orderMode(OrderMode::GroupBy);       			//Indicamos que vamos a utilizar la opción de agrupación
query.dataSourceTable(tablenum(SalesLine)).fields().clearFieldList();                       //Borramos los campos de inicialización del select
 
query.dataSourceTable(tablenum(SalesLine)).fields().addField(fieldnum(SalesLine, LineAmount), SelectionField::Sum);                //Indicamos que el campo LineAmount se tiene que sumar
 
query.dataSourceTable(tablenum(SalesLine)).fields().addField(fieldnum(SalesLine, CustAccount), SelectionField::Database);
 
query.dataSourceTable(tablenum(SalesLine)).fields().addField(fieldnum(SalesLine, ItemId), SelectionField::Database);
query.dataSourceTable(tablenum(SalesLine)).sortClear();                                     //Borramos los criterios de ordenación
 
query.dataSourceTable(tablenum(SalesLine)).addSortField(fieldnum(SalesLine,LineAmount), SortOrder::Descending);
 
query.dataSourceTable(tablenum(SalesLine)).addSortField(fieldnum(SalesLine,CustAccount), SortOrder::Descending);
 
query.dataSourceTable(tablenum(SalesLine)).addSortField(fieldnum(SalesLine,ItemId), SortOrder::Ascending);
query.dataSourceTable(tablenum(SalesLine)).addRange(fieldnum(SalesLine,LineAmount)).value('> 0');
 
queryRun = new QueryRun(query);