acumatica
드롭 다운 목록에서 항목 수정
수색…
소개
이 항목에서는 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 개).