ADempiere-Vue is a new UI for ADempiere ERP, CRM & SCM. It is based on Vue and uses the UI Toolkit element-ui. It is a great UI for ADempiere ERP, CRM & SCM, based on the newest development stack of Vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. This project was forked from Vue-Element-Admin originally write by PanJiaChen / 花裤衩 over MIT license and was changed to GNU/GPL v3 by Yamel Senih after forked granted by PanJiaChen / 花裤衩 on the issue "Extend as GNU/Gpl v3 License #1434".
Actualmente hay ventanas que a travez de columnas establecen en el contexto ciertos valores, que operan para las logicas pero que no existen como columnas de la tabla.
En vue los registros se cargan con clave valor (mapa) donde la clave es el nombre de la columna y el valor el del registro, adicionalmente se agregan columnas de visualización para los campos que son tipo lookups colocando el prefijo DisplayColumn_ antes del nombre de la columna.
Un ejemplo del registro del encabezado de la orden seria
{
"id": 102,
"table_name": "C_Order",
"values": {
"C_Order_ID": 102,
"AD_Client_ID": 11,
"AD_Org_ID": 11,
"IsActive": true,
"IsSOTrx": true,
"DocumentNo": "80002",
"DocStatus": "CL",
"Processing": "N",
"Processed": true,
"C_DocType_ID": 135,
"C_DocTypeTarget_ID": 135,
"Description": "Text is printed in the language of the business partner (if not entered in English like this). This is also a text, which will be printed in block format on two lines on the documents.",
"SalesRep_ID": 101,
"DateOrdered": {
"type": "date",
"value": "2021-07-01 12:00:00"
},
"DatePromised": {
"type": "date",
"value": "2021-07-25 12:00:00"
},
"C_BPartner_ID": 117,
"C_BPartner_Location_ID": 112,
"C_PaymentTerm_ID": 105,
"TotalLines": {
"type": "decimal",
"value": "152.00"
},
"GrandTotal": {
"type": "decimal",
"value": "161.12"
},
"M_Warehouse_ID": 103,
"IsDropShip": false,
"ProcessedOn": {
"type": "decimal",
"value": "1030235126000.00"
},
"UUID": "b42abdd2-8ab4-4fc9-9959-669f9d463dd5",
"DisplayColumn_C_Order_ID": "80002 - 2021-07-01 00:00:00",
"DisplayColumn_C_DocTypeTarget_ID": "Orden Punto de Venta",
"DisplayColumn_C_BPartner_ID": "C&W Construction",
"DisplayColumn_M_Warehouse_ID": "HQ Warehouse",
"DisplayColumn_PaymentRule": "Efectivo",
"DisplayColumn_C_PaymentTerm_ID": "Inmediato",
"DisplayColumn_DocStatus": "Cerrado"
}
}
Steps to reproduce
Por ejemplo el campo Entrega Directa (IsDropShipping) no se visualiza debido a que tiene una lógica de visualización @OrderType@=SO sin embargo OrderType no existe como columna en la tabla C_Order y no llega dentro de los registros.
El valor de OrderType lo establece el callout org.compiere.model.CalloutOrder.docType que lo tiene el campo Tipo de Documento (C_DocumentType_ID).
Screenshot or Gif(截图或动态图)
Expected behavior
El En el Zk se visualiza ya que al cambiar o establecer un registro se ejecutan los callouts, podria hacerse lo mismo en vue, sin embargo puede no tener un buen rendimiento.
Otra solución es copiar solo la logica para agregar el valor dentro del registro para estos casos particulares.
Bug report
Actualmente hay ventanas que a travez de columnas establecen en el contexto ciertos valores, que operan para las logicas pero que no existen como columnas de la tabla.
En vue los registros se cargan con clave valor (mapa) donde la clave es el nombre de la columna y el valor el del registro, adicionalmente se agregan columnas de visualización para los campos que son tipo lookups colocando el prefijo
DisplayColumn_
antes del nombre de la columna.Un ejemplo del registro del encabezado de la orden seria
Steps to reproduce
Por ejemplo el campo
Entrega Directa
(IsDropShipping
) no se visualiza debido a que tiene una lógica de visualización@OrderType@=SO
sin embargoOrderType
no existe como columna en la tablaC_Order
y no llega dentro de los registros.El valor de
OrderType
lo establece el calloutorg.compiere.model.CalloutOrder.docType
que lo tiene el campoTipo de Documento
(C_DocumentType_ID
).Screenshot or Gif(截图或动态图)
Expected behavior
El En el Zk se visualiza ya que al cambiar o establecer un registro se ejecutan los callouts, podria hacerse lo mismo en vue, sin embargo puede no tener un buen rendimiento.
Otra solución es copiar solo la logica para agregar el valor dentro del registro para estos casos particulares.
Other relevant information
Additional context
Los casos actualmente conocidos son:
Pago
org.compiere.model.CalloutPayment.docType
estableceIsSOTrx
.Orden
org.compiere.model.CalloutOrder.docType
estableceOrderType
yHasCharges
.org.compiere.model.CalloutOrder.priceList
estableceM_PriceList_Version_ID
.org.compiere.model.CalloutOrder.product
estableceM_PriceList_Version_ID
yDiscountSchema
.org.compiere.model.CalloutOrder.charge
estableceDiscountSchema
.org.compiere.model.CalloutOrder.amt
estableceDiscountSchema
.org.compiere.model.CalloutOrder.qty
estableceUOMConversion
.