Axapta : 검색을 통해 사용자가 양식 쿼리를 변경하지 않도록합니다.

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

  •  06-07-2019
  •  | 
  •  

문제

Axapta 3.0에서 사용자가 Prodroute DataSource에서 Oprid를 선택할 수있는 사용자 정의 조회 양식을 만들었습니다. 조회를 표시하기 전에 프로디드가 설정되어 사용자가 변경하지 않을 수 있습니다. 사용자는 유효한 프로디 드와 함께 생산 주문의 prodroute에서 Oprid 만 선택할 수 있습니다. 문서에 따르면, 범위를 잠그면 사용자가 쿼리를 변경하지 못하게 할 수 있습니다. 나는 다음과 같이했다 :

qbrProdId.value(queryValue(_prodId));
qbrProdId.status(RangeStatus::Locked);

여기서 qbrprodid는 유형의 변수입니다 QueryBuildRange _prodid를 지정합니다 프로디드.

조회가 표시되고 사용자가 필터를 변경하려고하면 프로디드가 잠겨 있습니다. 좋은. 그러나 사용자가 조회의 프로디드 필드에서 Ctrl+F를 누르거나 사용자가 도구 모음에서 검색을 클릭하면 다른 프로디드를 입력 할 수 있습니다.

이것을 어떻게 방지 할 수 있습니까?

나는 조회의 그리드에서 prodid 필드를 데이터 소스 필드 대신 유형 "디스플레이"로 바꾸는 것을 생각했습니다. 그러나 이것에 대한 더 나은 솔루션이 없습니까?

(그건 그렇고, 쿼리는 자동으로 생성되지 않지만 양식 데이터 소스의 "init"메소드에서 수동으로 생성됨).

도움이 되었습니까?

해결책

자, task () 메소드를 무시할 수있는 것보다. 조회 양식에서 필터 기능을 비활성화해야합니다.

public int task(int _taskId)
{
    int ret;

    switch(_taskId)
    {
        case 2855:
        case 2844:
        case 2837:
        case 799:
            return 0;
    }

    ret = super(_taskId);

    return ret;
}

다른 팁

범위 대신 Dynalink를 사용하십시오.

HTH

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top