2017-02-21 1 views
0

비즈니스 로직은 특정 재고 클래스에 대해 항상 키트 구성에서 기본 구성 요소 수량이 1 인 단일 구성 요소를 갖도록 비즈니스 논리가 특수화되었습니다.완제품에있는 키트 조립품의 구성 요소 반영

우리는 구성 요소 수량은 0 Kit Spec screenshot

의 난에있는 구성 부품에서 구성 요소 이름을 하나 이상의 필드를 모두 반영하기 위해 찾고 있어요 기본값 키트 사양의 대체 원료 부품을 나열 할 관련 재고 항목에 대한 레코드가 잘 완료되었습니다.

PXFormula 및 검색 조합으로이 작업을 수행 할 수 있습니까? 나는 이런 종류의 조회를 수행하지 않고 성공했다. 내 원시 파트 필드에 0이 생깁니다. (또한, InventoryID보다는 구성 요소의 InventoryCD를 표시 싶어요.)

**  #region UsrRawPart 
    [PXDBInt()] 
    [PXUIField(DisplayName = "Raw Part", Enabled = false)] 
    [PXFormula(typeof(Search<INKitSpecStkDet.compInventoryID, Where<INKitSpecStkDet.dfltCompQty, Equal<decimal1>, And<INKitSpecStkDet.kitInventoryID, Equal<Current<InventoryItem.inventoryID>>, And<INKitSpecStkDet.revisionID, Equal<int1>>>>>))]   
    public virtual Int32? UsrRawPart { get; set; } 
    public abstract class usrRawPart : IBqlField { } 
    #endregion** 

내가 돌아 대신 완제품 항목까지 구성 요소 항목을 집계 수식 필드를 작성해야합니까?

다른 접근 방식이 있습니까?

답변

0

로 설정 물품 목록 차원과 SubstituteKey의 다른 PXDimensionSelectorAttribute하는 함께 필드를 장식한다는 InventoryID보다는 구성 요소의 InventoryCD를 표시하려면 수식 필드는 이와 같이 교차 객체로 이동하도록 설계되지 않았습니다. Kit Spec의 Persist 메서드를 재정의하고 완성 된 제품 재고 항목을 업데이트하도록 비즈니스 논리 컨트롤러를 호출합니다.

0

PXFormulaAttribute은 언 바운드 필드에 연결될 때 RowSelecting 처리기 만 구독합니다. 바운드 필드의 경우 Search 연산자와 함께 사용하면 PXFormula은 아무 작업도 수행하지 않습니다.

프레임 워크에서 언제 Search 문을 실행할 것으로 예상합니까? 레코드가 PXCache에 삽입되면 PXDefaultAttribute이 나타납니다.

당신이 InventoryAttribute 또는 루슬란과 오프라인 토론 당 InventoryItem.inventoryCD

+0

고맙습니다! 초기 삽입시 및 1의 수량을 가진 키트 스펙의 구성 요소 항목이 변경된 경우에도 실행하고 싶습니다. –

+0

"1의 수량으로 키트 스펙의 구성 요소 항목이 변경된 경우"는 다음을 의미하는지 이해하지 못했습니다. 필요한 세부 사항을 설명하는 몇 개의 스크린 샷을 제공하면 매우 유용합니다. – RuslanDev

+0

표준 구성 요소 (기본 수량 1)와 대체 구성 요소 (기본 수량 0)가 모두 포함 된 키트 사양의 스크린 샷 (원래 질문 설명에 있음)을 업로드했습니다. 완성 된 제품 재고 항목에 표준 구성 요소를 동적으로 표시하려고합니다. –