solop-develop / frontend-core

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".
https://solop-develop.github.io/frontend-core
GNU General Public License v3.0
2 stars 7 forks source link

[Bug Report] Contexto como columna desconocida #2217

Closed EdwinBetanc0urt closed 5 months ago

EdwinBetanc0urt commented 6 months ago

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

{
    "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.

imagen

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(截图或动态图)

imagen

imagen

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

Orden

EdwinBetanc0urt commented 5 months ago

Cambios disponibles a partir de la versión del backend https://github.com/solop-develop/adempiere-grpc-server/releases/tag/3.2.4