Axapta : 조회 필드는 ID 대신 문자열 값을 표시합니까?
문제
AX가 양식과 그리드를 생성하면 모든 조회가 제대로 채워 지지만 조회 항목의 ID가 양식에 표시됩니다. 의미가있는 값을 볼 수있는 유일한 방법은 필드를 클릭하는 것입니다. 뒤의 ID 번호 대신 양식에 조회 값을 표시하는 방법이 있습니까?
"tableb"양식이 Tabea_id 대신 Tablea_value를 표시하려고합니다.
탁상
- tablea_id (int- 고유)
- tablea_value (문자열 - 비 유니 키)
테이블 B
- tableb_id (int- 독특한)
- tablea_id (int- Tablea와의 관계)
- tableb_datafields (기타)
감사
해결책
조회 자체의 값을 변경하는 방법을 찾을 수 없으므로 조회가 변경 될 때마다 업데이트되는 정적 필드를 옆에 놓습니다. 내가 어떻게하는지는 다음과 같습니다.
표 A의 디스플레이 메소드 :
display [datatype] lookupName(tableA _tableA)
{
;
return tableB::find(_tableA.[tableA id column]).[tableB string column];
}
표 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;
}
양식의 데이터 소스로 표 A와 B를 추가했습니다.
문자열 필드를 양식에 추가했습니다.
테이블 A를 필드의 데이터 소스로 설정하고 Datamethod로서의 이름을 조회하십시오.
정적 필드가 업데이트되도록 조회 필드에 수정 된 메소드를 추가했습니다.
element.redraw();
이것이 누군가를 돕기를 바랍니다.
제휴하지 않습니다 StackOverflow