- Este debate está vacío.
-
AutorEntradas
-
2 marzo, 2010 a las 7:00 pm #31309Cognitiva ConsultoresMiembro
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?
3 marzo, 2010 a las 12:06 pm #34131Federico CristinaSuperadministradorBuenas,
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,
Federico3 marzo, 2010 a las 6:45 pm #34133Hermann D. SchimpfMiembroFederico, 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/TransferMuchas Gracias
Hermann D. Schimpf3 marzo, 2010 a las 6:53 pm #34137Cognitiva ConsultoresMiembroYo lo deje tal como lo expusiste y solucionó el bug.
4 marzo, 2010 a las 1:05 pm #34138Federico CristinaSuperadministradorAprovecho 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.
4 marzo, 2010 a las 10:38 pm #34144Javier AderParticipantefcristina 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?
5 marzo, 2010 a las 11:21 am #34151Federico CristinaSuperadministradorSi 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,
Federico6 marzo, 2010 a las 2:01 am #34132Javier AderParticipanteY 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).
-
AutorEntradas
- Debes estar registrado para responder a este debate.