수색…


소개

이 항목에서는 PXStringList 또는 PXIntList 특성에서 상속 된 필드 특성을 수정하는 방법을 학습합니다. 시연 된 접근 방식은 기본 Acumatica ERP 제품의 기능을 손상시키지 않으며 사용자 정의를 최신 버전의 Acumatica로 업그레이드하는 동안 최소한의 유지 관리 만 필요합니다.

비고

위의 모든 샘플에서 _AllowedValues_AllowedLabels 배열을 모두 변경했습니다. 드롭 다운 항목의 레이블 (외부 값) 만 수정하려는 경우 번역 사전 사용을 고려하십시오. 번역 사전에 대한 자세한 내용은 Acumatica ERP Documentation을 참조하십시오.

결혼 상태 수정

이 예에서는 연락처 양식 (CR302000)에있는 혼인 상태 드롭 다운 목록을 수정합니다. 여기에 이미지 설명을 입력하십시오.

새 항목을 PXStringListAttribute 후속 항목에 추가하려면

PXStringList 또는 PXIntList 특성에서 상속 된 특성 내에서 하드 코딩 된 드롭 다운 항목을 확장하는 가장 좋은 방법은 사용자 지정 필드 특성의 생성자에서 _AllowedValues_AllowedLabels 배열의 크기를 늘리는 것입니다.

[PXLocalizable(Messages.Prefix)]
public static class MaritalStatusesMessages
{
    public const string CommonLaw = "Living common law";
    public const string Separated = "Separated (not living common law)";
    public const string DivorcedNoCommonLaw = "Divorced (not living common law)";
    public const string NeverMarried = "Never Married";
}

public class MaritalStatusesCst1Attribute : MaritalStatusesAttribute
{
    public const string CommonLaw = "L";
    public const string Separated = "P";
    public const string NeverMarried = "N";

    public MaritalStatusesCst1Attribute()
    {
        Array.Resize(ref _AllowedValues, _AllowedValues.Length + 3);
        _AllowedValues[_AllowedValues.Length - 3] = CommonLaw;
        _AllowedValues[_AllowedValues.Length - 2] = Separated;
        _AllowedValues[_AllowedValues.Length - 1] = NeverMarried;
        Array.Resize(ref _AllowedLabels, _AllowedLabels.Length + 3);
        _AllowedLabels[_AllowedLabels.Length - 3] = MaritalStatusesMessages.CommonLaw;
        _AllowedLabels[_AllowedLabels.Length - 2] = MaritalStatusesMessages.Separated;
        _AllowedLabels[_AllowedLabels.Length - 1] = MaritalStatusesMessages.NeverMarried;
    }
}

위의 샘플에서 _AllowedValues_AllowedLabels 배열의 크기를 늘려 결혼 상태 드롭 다운 목록에 3 개의 항목을 추가했습니다. _AllowedValues 배열에 저장된 내부 값은 DAC 필드에 할당되고 데이터베이스에 저장되며 _AllowedValues 배열의 외부 값은 UI의 내부 값을 나타냅니다.

연락처 DAC 확장의 결과를 테스트하려면 함께 MaritalStatus 필드를 장식 MaritalStatusesCst1Attribute :

public class ContactExt : PXCacheExtension<Contact>
{
    [PXRemoveBaseAttribute(typeof(MaritalStatusesAttribute))]
    [PXMergeAttributes(Method = MergeMethod.Append)]
    [MaritalStatusesCst1]
    public string MaritalStatus { get; set; }
}

결혼 상태 드롭 다운 목록에는 7 가지 항목이 있습니다.

여기에 이미지 설명을 입력하십시오.

PXStringListAttribute 후속 선언 된 항목을 제거하려면

PXStringList 또는 PXIntList 특성에서 상속 된 특성 내에서 하드 코딩 된 특정 드롭 다운 항목을 제거하려면 사용자 지정 필드 특성의 생성자에서 _AllowedValues_AllowedLabels 배열의 크기를 줄여야합니다.

public class MaritalStatusesCst2Attribute : MaritalStatusesCst1Attribute
{
    public MaritalStatusesCst2Attribute()
    {
        string[] allowedValues = new string[_AllowedValues.Length - 1];
        string[] allowedLabels = new string[_AllowedLabels.Length - 1];
        Array.Copy(_AllowedValues, 1, allowedValues, 0, _AllowedValues.Length - 1);
        Array.Copy(_AllowedLabels, 1, allowedLabels, 0, _AllowedValues.Length - 1);
        _AllowedValues = allowedValues;
        _AllowedLabels = allowedLabels;
    }
}

위의 샘플에서는 결혼 상태 드롭 다운 목록에서 단일 항목을 제거하기 위해 _AllowedValues_AllowedLabels 배열의 크기를 줄 _AllowedValues .

결과를 테스트하려면 Contact DAC 확장 프로그램에서 MaritalStatus 필드를 MaritalStatusesCst2Attribute .

public class ContactExt : PXCacheExtension<Contact>
{
    [PXRemoveBaseAttribute(typeof(MaritalStatusesAttribute))]
    [PXMergeAttributes(Method = MergeMethod.Append)]
    [MaritalStatusesCst2]
    public string MaritalStatus { get; set; }
}

이제는 혼인 상태 드롭 다운 목록에 6 개의 항목 만 있습니다. 원본 3 개와 맞춤 3 개 :

여기에 이미지 설명을 입력하십시오.

PXStringListAttribute 후속 선언 된 항목을 바꾸려면

원래 PXStringList 또는 PXIntList 특성에서 상속 된 특성 안에 하드 코딩 된 특정 드롭 다운 항목을 바꾸려면 사용자 지정 필드 특성의 생성자에서 _AllowedValues_AllowedLabels 배열의 적절한 값을 업데이트해야합니다.

public class MaritalStatusesCst3Attribute : MaritalStatusesCst2Attribute
{
    public const string DivorcedNoCommonLaw = "V";

    public MaritalStatusesCst3Attribute()
    {
        _AllowedValues[Array.IndexOf(_AllowedValues, Divorced)] = DivorcedNoCommonLaw;
        _AllowedLabels[Array.IndexOf(_AllowedLabels, Messages.Divorced)] = MaritalStatusesMessages.DivorcedNoCommonLaw;
    }
}

위의 샘플에서 _AllowedValues_AllowedLabels 배열의 D - Divorced 항목을 V - Divorced (살아있는 관습법_AllowedValues ) 로 각각 대체했습니다. 이렇게하면 드롭 다운 항목의 내부 및 외부 값을 모두 바꿉니다.

연락처 DAC 확장의 결과를 테스트하려면 함께 MaritalStatus 필드를 장식 MaritalStatusesCst3Attribute :

public class ContactExt : PXCacheExtension<Contact>
{
    [PXRemoveBaseAttribute(typeof(MaritalStatusesAttribute))]
    [PXMergeAttributes(Method = MergeMethod.Append)]
    [MaritalStatusesCst3]
    public string MaritalStatus { get; set; }
}

결혼 상태 드롭 다운 목록에는 6 개의 항목이 있습니다 (원래 2 개, 맞춤 3 개, 대체 1 개).

여기에 이미지 설명을 입력하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow