Thursday, November 1, 2007

Hacer Debug Javascript en Firefox. Debugging javascript in firefox

Ya que Firefox tiene mas y mas seguidores debemos probar nuestras aplicaciones web también en este browser, y también necesitaremos depurar javascript en firefox.

Existe una extensión para firefox llamada Firebug que permite depurar javascript. Hay como bajarse esta extensión desde el sitio https://addons.mozilla.org/en-US/firefox/browse/type:1 Solo buscamos la extensión con el nombre firebug y la instalamos.

Una vez instalado Firebug en firefox, lo abrimos: Tools --> Firebug --> Open Firebug

Existen varias pestañas bastante útiles en firebug. La pestaña Script nos ayudara a depurar javascript. En esta pestaña aparecerá el código javascript que tenga la pagina y nosotros podemos ir poniendo breakpoints en las líneas javascript que queramos, bastante parecido al Visual Studio.

De esta manera, podemos inspeccionar las variables de manera bastante fácil.

A continuación, muestro una pantalla de ejemplo firebug en accion:



Thursday, October 25, 2007

Estándares de Programación en C#

Para desarrollar aplicaciones que sean fácilmente mantenibles, y con que tengan código eficaz, existen directivas y estándares de programación.

Aquí les pongo dos links que tienen dos documentos muy buenos de estándares para las mejores prácticas para programación en c#.
Léanlos están buenos:


Documento de Estándares de Codificación y Mejores Prácticas C#
Documento de Estándares de Codificación C#

Wednesday, October 24, 2007

Depurar con Firefox en VS 2005. Debugging web applications with firefox in Visual Studio 2005


Para depurar aplicaciones web usando Firefox en Visual Studio 2005:
1) Hacemos click derecho en la página aspx y nos aparecerá el menu. En este escojemos la opción Browse With...


2) Nos aparecerá la ventana Browse With.


En esta ventana podemos añadir el nuevo navegador, y también podemos ponerle como Default.

De esta manera, se podrá depurar aplicaciones web ya no solo con el Internet Explorer, sino también con cualquier otro navegador.

Thursday, October 18, 2007

Cómo crear un ajuste de inventario Dynamics GP 9. CreateInventoryAdjustment

Para crear un nuevo ajuste de inventario desde los Web Services for Dynamics GP 9, debemos tener en cuenta primero los campos obligatorios que necesitamos pasarle al objeto, estos son:

Para la cabecera:
Key: número del documento
BatchKey: lote
Date: fecha

Para el detalle:
Key: número de cabecera
ItemKey: id de artícullo
Quantity: Cantidad
WarehouseKey: id de sitio donde se encuentra el item

Existen otras propiedades más pero estas nos ayudarán a crear un ajuste de inventario básico.

Ejemplo:

InventoryAdjustment ivadj = new InventoryAdjustment();

//-----------Lote-------------------------------------------------

BatchKey bk = new BatchKey();

bk.Id = "NombreDeLote";

ivadj.BatchKey = bk;

//-----------NumeroDocumento-------------------------------------------------

InventoryKey ivk = new InventoryKey();

ivk.Id = "00019";

ivadj.Key = ivk;

//-----------Fecha-------------------------------------------------

ivadj.Date = new DateTime(2007,5 ,3);

//-----------Lineas-------------------------------------------------

InventoryAdjustmentLine[] lineas = new InventoryAdjustmentLine[1];

//-----------------Numero cabecera----------------------------

InventoryLineKey ivlk = new InventoryLineKey();

InventoryKey ik = new InventoryKey();

ik.Id = "00019";

ivlk.InventoryKey = ik;

lineas[0].Key = ivlk;

//-----------------Articulo----------------------------

ItemKey itk = new ItemKey();

itk.Id = "100XLG";

lineas[0].ItemKey = itk;

//----------------Sitio----------------------------

WarehouseKey whk = new WarehouseKey();

whk.Id = "WAREHOUSE";

lineas[0].WarehouseKey = whk;

//----------------Cantidad----------------------------

Quantity q = new Quantity();

q.Value = 1;

lineas[0].Quantity = q;

//----------------Llamar al WS para crear en ajuste de inventario----------------------------

Policy pol = wsDynamicsGP.GetPolicyByOperation("CreateInventoryAdjustment", context);

wsDynamicsGP.CreateInventoryAdjustment(ivadj, context, pol);


Si no llenamos estas propiedades que son obligatorias, el web service nos dará un error.
Por ejemplo si no llenamos la propiedad Key nos saldra el siguiente error:

Microsoft.GreatPlains.eConnect Version=9.0.0.0

.Net SqlClient Data Provider

Procedure or Function 'taIVTransactionLineInsert' expects parameter '@I_vIVDOCNBR', which was not supplied.

at Microsoft.GreatPlains.eConnect.eConnectMethods.ExecStoredProcedures(String xml)

...

Por eso es necesario llenar estas propiedades que son obligatorias.