Axapta: campo di ricerca visualizzare il valore della stringa anziché l'ID?

StackOverflow https://stackoverflow.com/questions/1716694

  •  19-09-2019
  •  | 
  •  

Domanda

Quando AX genera forme e griglie, tutte le ricerche sono popolate correttamente, ma l'ID dell'elemento di ricerca viene visualizzato nel modulo. L'unico modo per vedere i valori che hanno senso è fare clic sul campo, non davvero ideale. C'è un modo per visualizzare il valore di ricerca nel modulo anziché il numero ID dietro di esso?

Vorrei che il modulo "TableB" visualizzasse il tablea_value anziché il tablea_id.

Tablea

  • tablea_id (int - univoco)
  • tablea_value (stringa - non unico)

TableB

  • tableb_id (int - univoco)
  • tablea_id (int - relazione con tablea)
  • tableb_datafields (misc)

Grazie

È stato utile?

Soluzione

Non sono riuscito a trovare un modo per modificare il valore della ricerca stessa, quindi ho messo un campo statico accanto ad esso che si aggiorna ogni volta che la ricerca viene cambiata. Ecco come ho finito per farlo:

Visualizza metodo sulla tabella A:

display [datatype] lookupName(tableA _tableA)
{
    ;
    return tableB::find(_tableA.[tableA id column]).[tableB string column];
}

Trova il metodo sulla tabella B:

static tableB find([datatype] [lookup variable], boolean _forUpdate = false,
 ConcurrencyModel _concurrencyModel = ConcurrencyModel::Auto)
{
[TableB] [tableB];

if ([lookup variable])
{
    if (_forUpdate)
    {
        tableB.selectForUpdate(_forUpdate);
        if (_concurrencyModel != ConcurrencyModel::Auto)
        {
            tableB.concurrencyModel(_concurrencyModel);
        }
    }

    select firstonly tableB
        where tableB.[lookup column] == [lookup variable];
}
return tableB;

}

Aggiunta sia la tabella A che B come dati di dati per il modulo.

Aggiunto un campo stringa al modulo.

Impostare la tabella A come datatasy per il campo e lookupname come DataMethod.

Aggiunto un metodo modificato al campo di ricerca per far aggiornare il campo statico:

element.redraw();

Spero che questo aiuti qualcuno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top