"No Identifier records found"
Aunque nosotros tengamos bien definidos el campo de lista, marcando en la tabla principal como "identificador" el campo que queremos mostrar y seleccionando la opción "Tabla Directa" en el campo que tiene la llave foránea, este no funcionará si el nombre de la tabla principal termina con la sílaba "to".
EJEMPLO:
INCORRECTO:
drop table nic_tipo_producto;
create table nic_tipo_producto
(
nic_tipo_producto_id numeric(10,0) primary key not null,
ad_client_id numeric(10,0) not null,
ad_org_id numeric(10,0) not null,
created date not null,
createdby numeric(10,0) not null,
updated date not null,
updatedby numeric(10,0) not null,
isactive char not null,
codigo character varying(30) not null,
nombre character varying(255) not null
);
alter table m_product add nic_tipo_producto_id numeric(10,0);
Resultado:
-----------> MIssue.set_ValueNoCheck: ReleaseNo - Value too long - truncated to length=4 [11]
===========> MLookupFactory.getLookup_TableDir: No Identifier records found: nic_tipo_producto_ID [11]
-----------> MIssue.set_ValueNoCheck: ReleaseNo - Value too long - truncated to length=4 [11]
===========> MLookupFactory.getLookupInfo: No SQL - nic_tipo_producto_ID [11]
-----------> MIssue.set_ValueNoCheck: ReleaseNo - Value too long - truncated to length=4 [11]
===========> GridFieldVO.initFinish: No LookupInfo for nic_tipo_producto_ID [11]
java.lang.NullPointerException
at org.compiere.model.GridFieldVO.initFinish(GridFieldVO.java:507)
at org.compiere.model.GridFieldVO.create(GridFieldVO.java:201)
at org.compiere.model.GridTabVO.createFields(GridTabVO.java:272)
at org.compiere.model.GridTabVO.getFields(GridTabVO.java:444)
at org.compiere.model.GridTab.loadFields(GridTab.java:353)
at org.compiere.model.GridTab.loadTab(GridTab.java:296)
at org.compiere.model.GridTab.initTab(GridTab.java:287)
at org.compiere.model.GridWindow.initTab(GridWindow.java:195)
at org.compiere.apps.APanel.initPanel(APanel.java:737)
at org.compiere.apps.AWindow.initWindow(AWindow.java:102)
at org.compiere.apps.AMenuStartItem.startWindow(AMenuStartItem.java:249)
at org.compiere.apps.AMenuStartItem.run(AMenuStartItem.java:147)
Este error proviene del método "getZoomColumnName(String columnName)" de la clase MQuery
++MLookupFactory
+++MQuery
public static String getZoomColumnName (String columnName)
{
if (columnName == null)
return null;
if (columnName.equals("SalesRep_ID"))
return "AD_User_ID";
if (columnName.equals("C_DocTypeTarget_ID"))
return "C_DocType_ID";
if (columnName.equals("Bill_BPartner_ID"))
return "C_BPartner_ID";
if (columnName.equals("Bill_Location_ID"))
return "C_BPartner_Location_ID";
if (columnName.equals("Account_ID"))
return "C_ElementValue_ID";
if (columnName.equals("C_LocFrom_ID") || columnName.equals("C_LocTo_ID"))
return "C_Location_ID";
// Fix "*_To" columns
if (columnName.toUpperCase().endsWith("TO_ID")) {
return columnName.substring(0, columnName.length()-5)+"_ID";
}
if (columnName.toUpperCase().endsWith("_TO_ID")) {
return columnName.substring(0, columnName.length()-6)+"_ID";
}
if (columnName.equals("AD_OrgBP_ID") || columnName.equals("AD_OrgTrx_ID"))
return "AD_Org_ID";
// See also GridTab.validateQuery
//
return columnName;
} // getZoomColumnName
drop table nic_producto_tipo;
create table nic_producto_tipo
(
nic_producto_tipo_id numeric(10,0) primary key not null,
ad_client_id numeric(10,0) not null,
ad_org_id numeric(10,0) not null,
created date not null,
createdby numeric(10,0) not null,
updated date not null,
updatedby numeric(10,0) not null,
isactive char not null,
codigo character varying(30) not null,
nombre character varying(255) not null
);
alter table m_product add nic_producto_tipo_id numeric(10,0);
Resultado:
No hay comentarios:
Publicar un comentario