domingo, 2 de julio de 2017

Registrar lineas de la orden de devolución

Para poder registrar las lineas de las ordenes de devolución por código he hecho esta solución, esto sirve para poder poder terminar de hacer el empaquetado de la orden, ustedes pueden implementarla para su desarrollo, a mi me ha servido hasta el momento, con este codigo solo es necesario detallar el SalesId de la SalesLine que van hacer recibidas y asignarla el ReturnDispositionCode:

TradeNonStockedRegisterForm     tradeNonStockedRegisterForm;
TradeNonStockedRegisterTmp      tradeNonStockedRegisterTmpUpdated;
SalesLine                                        salesline;
str                                                    errorMsg = "";
System.Exception                           error;
ReturnDispositionCodeId               returnDispositionCode = "Return"

try
{
    while select forUpdate salesline
        where salesline.SalesId == _salesId
        && salesline.ReturnStatus == ReturnStatusLine::Awaiting
    {
        salesline.ReturnDispositionCodeId = returnDispositionCode ;

        ttsBegin;
        salesline.doUpdate();
        ttsCommit;

        tradeNonStockedRegisterForm = TradeNonStockedRegisterForm::newFromSalesPurchLine(salesline);
            tradeNonStockedRegisterForm.populatePendingQuantityRows(tradeNonStockedRegisterTmpUpdated);

            tradeNonStockedRegisterForm.insertFromTradeNonStockedRegisterTmp(tradeNonStockedRegisterTmpUpdated, tradeNonStockedRegisterTmpUpdated,
                tradeNonStockedRegisterTmpUpdated.StatusReceipt == StatusReceipt::Ordered? tradeNonStockedRegisterTmpUpdated.Quantity : -tradeNonStockedRegisterTmpUpdated.Quantity, true);
            tradeNonStockedRegisterForm.parmSelectedToRegisterNow().in(tradeNonStockedRegisterTmpUpdated.RecId);

            tradeNonStockedRegisterForm.register(tradeNonStockedRegisterTmpUpdated);
        }
    }
    catch (Exception::CLRError)
    {
        error = CLRInterop::getLastException();
        errorMsg = error.ToString();
    }

    tradeNonStockedRegisterForm.populatePendingQuantityRows(tradeNonStockedRegisterTmpUpdated);

    return errorMsg;

viernes, 31 de enero de 2014

Fisica Estructural

Comparto enlace de libro de Mecánica Vectorial de Jhonston 10a Edición, aclarando que solo es el capitulo 2 faltando dos páginas.

rapidshare.com/share/D034859B1E7BABDDD43E8D5B75013D65

lunes, 20 de enero de 2014

Generalidad de la Ingenieria Economica

La Ingenieria Economica se enfoca en el efectivo, en el tiempo disponible

Ingresos de un banquero en un prestamo(Intereses): La Inflación podría ser de las divisas, Ganancia que se cobra implícitamente y el Riesgo.

Interes: - Manifestación del valor del dinero en el tiempo.
- Diferencia entre la cantidad final del dinero y la cantidad original.
- Precio(Costo) que se paga por utilizar un recurso llamado dinero(Interes Pagado).
- Rentabilidad obtenidad por invertir, ahorrar o prestar un recurso llamado dinero(Interes Ganado).


jueves, 25 de julio de 2013

Pasar un parametro a otro formulario Dynamics AX 2012

Les explicare de forma sencilla como pasar un parámetro a otro formulario a partir de un grid.

En el primer formulario tengo el siguiente grid que es llenado de la tabla SalesTable

Se selecciona cualquier registro del grid y luego se da click en Seleccionar, en el siguiente formulario solo se mostrara un infolog con el nombre del cliente de la siguiente forma:


Como se muestra en la imagen podemos ver un pequeño formulario que solo esta para recibir el parámetro en este caso y el registro que ha pasado se muestra en el Infolog, como pueden ver el registro seleccionado es el que esta en el Infolog. 
Ahora veremos el código, en el primer formulario en el método "Clickled" del botón Seleccionar se digitara el siguiente código:

void clicked()
{
    MenuFunction    dcMenu;
    Args            dcAr = new Args();
    ;

    dcMenu = new MenuFunction(menuitemOutputStr("Form2"),MenuItemType::Output);
    dcAr.parm(SalesTable.SalesName);
    dcMenu.run(dcAr);
    super();
}

Declaramos las variables la del menú con el cual más adelante nos ayudara a instaciar el MenuItem y así llamar el formulario, y el Args que nos ayudara a mandar el parámetro.
Instaciamos con el MenuFunction (Solo para mencionar hay que recordar que el formulario donde mandaremos el parámetro tiene que estar como un MenuItem Output)
Lo que esta en paréntesis en este caso Form2 es el nombre del MenuItem que mandaremos a llamar, le asignamos el valor al Args por medio del método parm, luego llamamos el formulario por medio del método run y le mandamos el parámetro por medio de la clase Args.

En el siguiente formulario anulamos el método "init" que lo que hace este método es que ejecuta el código que se encuentre al inicializar el formulario.

public void init()
{
    str cadena;
    ;

    super();

    cadena = element.args().parm();
    info(cadena);
}

declaramos una variable la que recibirá el parámetro, luego le asignamos un valor por medio de la captura del parámetro y por ultimo imprimimos la variable con el parámetro asignado por medio de infolog.

martes, 23 de julio de 2013

Dynamics AX

Últimamente estoy trabajando con una herramienta muy importante en lo que es planificación en las empresas conocido en ingles como ERP(Enterprise Resource Planning), hay muchos ERP's muy buenos pero en esta ocasión me gustaría compartir código y tal vez otras personas también pueden ayudarme también para compartir código ya que es muy escaso para muchas cosas que se realizan durante esta herramienta, en esta entrada no publicare nada de código nada más dar la reseña de esta herramienta como un preview de lo que es en sí.

También comentar que por ser una herramienta de Microsoft tiene su propio lenguaje en este caso es X++, es muy fácil de usar con las facilidades que Microsoft te brinda, a continuación el link de la pagina oficial y también un poco da la información que ellos te dan.

Microsoft Dynamics AX
Microsoft Dynamics AX es la solución de ERP para empresas que proporciona una base diseñada expresamente para cinco sectores, junto con funcionalidades de ERP completas y básicas para la gestión de finanzas, recursos humanos y operaciones.

En muchos países se esta utilizando esta herramienta, solo recordar que no es la única que se utiliza. además de ser muy extensa creo que seria muy difícil saber toda la funcionalidad del programa, tal vez seria un año de curso intensivo o más para aprenderse muchas de sus funcionalidades.

Han existido muchas versiones, de Microsoft se encuentra las siguientes:
  • Microsoft adquirió Navision Damgaard durante el verano de 2002 - Navision Axapta Damgaard 
  • Después fue renombrado a Microsoft Business Solutions Axapta
  • Luego apareció Microsoft Dynamics AX 3.0 
  • Microsoft Dynamics AX 4.0
  • Microsoft Dynamics AX 2009
  • Por ultimo Microsoft Dynamics AX 2012
Microsoft no creo al igual que otros productos de ellos Microsoft Dynamics AX, sino que lo compro, las siglas de AX vienen del nombre original que es Axapta y de ahí vino mejorando hasta la última versión.

jueves, 27 de enero de 2011

Sistema de Gestion de Base de Datos

Es un conjunto coordinado de programas, procedimientos, lenguajes, etc. Que suministra , tanoto a los usuarios no informaticos como a los analistas, programadores, o el administrador, los medios necesarios para descubrir, recuperar y manipular los datos almacenados en la base, manteniendo su seguridad.

Las funciones esenciales de un SGBD, son la de
Descripción: Esta función debe permitir al administrador de la base especificar los elementos de datos que la integran, su estructura y las relaciones que existen entre ellos, las reglas de integridad semantica, los controles a efectuar antes de autorizar el acceso a la base, etc.,
Manipulación: Esta funcion permite a los usuarios de la base buscar, añadir, suprimir o modificar los datos de la misma. Siempre de acuerdo con las especificaciones y las normas de seguridad dictadas por el administrador.
Utilización: Se trata de una funcion que reúne todas las intefaces que necesitan los diferentes usuarios para comunicarse con la base y proporciona un conjunto de procedrmientos para el administrador, en la mayoria de los SGBD existen funciones de servicio, como cambiar la capacidad de los ficheros, obtener estadisticas de utilizacion, cargar archivos, etc.

Ventajas de SGBDDesventajas de SGBD
  1. Abtraccion de la informacion
  2. Independencia
  3. Redundancia Minima
  4. Consistencia
  5. Integridad
  6. Respaldo y recuperacion
  7. Tiempo de respuesta.
  1. El costo de Hardware y Software son muy elevados
  2. Salario o remuneracion del administrador de la base de datos es grande
  3. El mal diseño de esta puede originar problema a futuro
  4. Un mal adiestramiento a los usuarios puede originar problemas a futuro
  5. Si no se encuentra un manual del sistema no se podrán hacer relaciones con facilidad
  6. Generan campos vacions en exceso.

sábado, 22 de enero de 2011

Ventajas e Inconvenientes de Archivos Convecionales y Base de Datos

Archivos Convecionales.
  1. Son relativamente fáciles de diseñar e implementar: Se basan normalmente en una aplicación o sistema de información unico.
  2. La velocidad de proceso: Estas estructuras de datos son a veces demasiado lentas cuando se trata de manejar grandes volúmenes de transacciones y se busca una productividad adecuada.
  3. Duplicación de datos en varios archivos: Los archivos suelen construirse en torno a una única aplicación, sin tener en cuenta las restantes aplicaciones. Con el tiempo, el desarrollo múltiples aplicaciones se traduce en la duplicación de datos en los archivos. Los datos duplicados producen entradas duplicadas, mantenimiento duplicado y posiblemente errores en integridad de datos.
  4. Falta de flexibilidad: Los archivos de diseño tipicamente se forma en que den respuesta a los programas y las necesidades actuales de los usuarios finales. Por lo que las nuevas necesidades planteadas como pueden ser informes y consultas requieren a menudo que se vuelva la de diseñar los archivos, ya que no es fácil que los archivos existentes respondan a un bienestar de nuevas necesidades.
  5. Problemas de Seguridad: La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificación y protección de los datos.
  6. Problemas de Integridad: Los valores de datos almacenados en la base de datos deben sastifacer cierto tipo de restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema añadiendo códigos apropiados en los diversos programas de aplicación.

Base de Datos.

  1. Independencia: de los datos respecto a los tratamientos y viceversa, lo que evita el importante esfuerzo que origina la reprogramación de las aplicaciones cuando se producen cambios en los datos.
  2. Mejor disponibilidad: En los datos para el conjunto de los usuarios junto con una mayor transparencia respecto a la informacion existente.
  3. Mayor valor informativo: Debido a que los distintos elementos están interrelacionados.
  4. Documentación: En la información es mejor y más normalizada, la cual está integrada con los datos.
  5. Mayor eficiencia: En la información recogida, validación en el formato de los datos e integridad de estos mismos.
  6. Instalación costosa.
  7. Personal especializado.
  8. Falta de rentabilidad a corto plazo.
  9. Desfase entre teoría y práctica.