@Override public void addForEdit(UIResponseContext aContext) { ValueContext currentRecord = aContext.getValueContext(); Adaptation currentClient = aContext .getNode(Path.PARENT.add(ClientesPath._HierarquiaCliente._IdCliente)) .getFacetOnTableReference() .getLinkedRecord(currentRecord); AdaptationTable hierTable = aContext.getValueContext().getAdaptationTable(); if (currentClient != null) { Nomenclature nomen = new Nomenclature(); String currClientDocNum = currentClient.getString(ClientesPath._Cliente._NumDocumento); String docNumPrefix = currClientDocNum; if (currClientDocNum.length() >= 8) docNumPrefix = currClientDocNum.substring(0, 8); RequestResult sameBaseHierarchies = hierTable.createRequestResult( "starts-with(" + ClientesPath._HierarquiaCliente._ClientDocumentNumber.format() + ",'" + docNumPrefix + "') and (" + ClientesPath._HierarquiaCliente._CodGrupoConta.format() + " = 'CNOH' or " + ClientesPath._HierarquiaCliente._CodGrupoConta.format() + " = 'CSNO')"); try { for (Adaptation record; (record = sameBaseHierarchies.nextAdaptation()) != null; ) { nomen.addItem( new NomenclatureItemValue( record.getOccurrencePrimaryKey().format(), docNumPrefix + " - " + record.getString(ClientesPath._HierarquiaCliente._CodGrupoConta) + " - " // + record.getOccurrencePrimaryKey().format())); + record.getString(ClientesPath._HierarquiaCliente._NomeGrupoComercial))); } } finally { sameBaseHierarchies.close(); } RequestResult diffBaseHierarchies = hierTable.createRequestResult( "(osd:is-null(" + ClientesPath._HierarquiaCliente._ClientDocumentNumber.format() + ") or not(starts-with(" + ClientesPath._HierarquiaCliente._ClientDocumentNumber.format() + ",'" + docNumPrefix + "'))) and (" + ClientesPath._HierarquiaCliente._CodGrupoConta.format() + " = 'CNOH' or " + ClientesPath._HierarquiaCliente._CodGrupoConta.format() + " = 'CSNO')"); try { for (Adaptation record; (record = diffBaseHierarchies.nextAdaptation()) != null; ) { nomen.addItem( new NomenclatureItemValue( record.getOccurrencePrimaryKey().format(), record.getString(ClientesPath._HierarquiaCliente._CodClienteSAP) + " - " // + record.getOccurrencePrimaryKey().format())); + record.getString(ClientesPath._HierarquiaCliente._NomeGrupoComercial))); } } finally { diffBaseHierarchies.close(); } UIComboBox combo = aContext.newComboBox(Path.SELF); combo.setSpecificNomenclature(nomen); aContext.addWidget(combo); } }
@Override public void addForDisplay(UIResponseContext aContext) { aContext.addUIBestMatchingDisplay(Path.SELF, ""); }