Seteo de la tarifa en confección de facturas

Inicio Foros Foro principal Discusión General Seteo de la tarifa en confección de facturas

  • Este debate está vacío.
Viendo 8 entradas - de la 1 a la 8 (de un total de 8)
  • Autor
    Entradas
  • #31309

    Cuando estamos facturando y elegimos una EC que tiene seteada una tarifa, el campo tarifa de la factura no se setea automáticamente.

    Eso esta así por alguna razón? habrá alguna línea para que automáticamente cargue la tarifa que tiene seteada la EC?

    #34131
    Federico Cristina
    Superadministrador

    Buenas,

    Lo que mencionás efectivamente es un error que hemos corregido y estará disponible en la próxima versión de Libertya.

    El fix especificamente deberá realizarse en la clase CalloutInvoiceExt, en el método public String bPartner(Properties ctx, int WindowNo, MTab mTab, MField mField, Object value).

    Dentro de la selección if (rs.next()), y antes de definir el paymentrule, hay que incluir el siguiente snippet:

    Code:
    // Verifica si la Entidad Comercial tiene asociada una lista de precios
    // o setea una que figure como predeterminada
    int priceListId = rs.getInt(“PO_Pricelist_ID”);
    if (priceListId != 0)
    {
    mTab.setValue(“M_PriceList_ID”, priceListId);
    }
    else
    {
    setPriceList(ctx, WindowNo, mTab, mField, value);
    }

    Saludos,
    Federico

    #34133

    Federico, gracias por la solucion al error.
    Antes que me suceda a mi tambien quiero ya realizar la modificacion.
    Confirmame que el fix sigue asi: (es un fichero .diff)

    Code:
    — CalloutInvoiceExt.java 2009-10-23 12:29:16.000000000 -0300
    +++ CalloutInvoiceExt.java 2010-03-03 15:40:16.719604000 -0300
    @@ -365,20 +365,29 @@
    * PriceList int i = Env.getContextAsInt(ctx,
    * “#M_PriceList_ID”); if (i != 0)
    * mTab.setValue(“M_PriceList_ID”, new Integer(i)); }
    *
    */

    // Agregado para completar con lista de precio de la sucursal
    // Modificado por Jorge Vidal – Disytel
    // Fecha: 03/10/2006
    setPriceList(ctx, WindowNo, mTab, mField, value);
    +
    + // Verifica si la Entidad Comercial tiene asociada una lista de precios
    + // o setea una que figure como predeterminada
    + int priceListId = rs.getInt(“PO_Pricelist_ID”);
    + if (priceListId != 0) {
    + mTab.setValue(“M_PriceList_ID”, priceListId);
    + } else {
    + setPriceList(ctx, WindowNo, mTab, mField, value);
    + }

    // PaymentRule
    String s = rs.getString(IsSOTrx ? “PaymentRule”
    : “PaymentRulePO”);
    if (s != null && s.length() != 0) {
    if (Env.getContext(ctx, WindowNo, “DocBaseType”).endsWith(
    “C”)) // Credits are Payment Term
    s = “P”;
    else if (IsSOTrx && (s.equals(“S”) || s.equals(“U”))) // No
    // Check/Transfer

    Muchas Gracias
    Hermann D. Schimpf

    #34137

    Yo lo deje tal como lo expusiste y solucionó el bug.

    #34138
    Federico Cristina
    Superadministrador

    Aprovecho para mencionar que dicho fix funcionará únicamente para la localización AR (ya que utiliza exclusivamente la clase CalloutInvoiceExt). De tener que corregirlo en una version Internacional, habría que modificar la superclase CalloutInvoice.

    #34144
    Javier Ader
    Participante

    fcristina escribió:

    Quote:
    Aprovecho para mencionar que dicho fix funcionará únicamente para la localización AR (ya que utiliza exclusivamente la clase CalloutInvoiceExt). De tener que corregirlo en una version Internacional, habría que modificar la superclase CalloutInvoice.

    Perdón por el offtopic; pero porque la localización afecta al llamado un callout? No es algo independiente? Si no me equivoco se define a nivel de columna de tabla en diccionario, y eso es igual para todas las localizaciones, no?

    #34151
    Federico Cristina
    Superadministrador

    Si te fijás en la versión internacional, el callout apunta a CalloutInvoice, pero en la versión AR el callout apunta a CalloutInvoiceExt que extiende de la primera.

    Esto se debe básicamente a que existe un conjunto de validaciones y lógica funcional extra para las facturas, debido a las normas vigentes del país.

    Actualmente, las bases de datos para cada versión difieren en ciertas cosas, y ésta es una de ellas. A partir del próximo release, la intención será disponer de una versión internacional, a la cual se le podrá instalar componentes (plugins), y entre éstos, la localización AR.

    Saludos,
    Federico

    #34132
    Javier Ader
    Participante

    Y si… justo después de postear me di cuenta que te estabas refiriendo a la versión internacional y no la localización (e.d usar el lenguaje “Español (Argentina)”. Bueno, por lo menos sirvió para saber que la arquitectura de plugins va a manejar este tipo de diferencias (entre otras ventajas que debe traer).

Viendo 8 entradas - de la 1 a la 8 (de un total de 8)
  • Debes estar registrado para responder a este debate.