2017-05-25 5 views
1

je personnalisé le sélecteur RefNbr via le DAC d'avoir deux autres colonnes personnalisées mais il applique uniquement la colonne de sélection supplémentaire à l'écran AR facture:RefNbr Sélecteur: AR facture vs distribution facture

[PXCustomizeSelectorColumns(
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.refNbr), 
 
typeof(PX.Objects.AR.ARInvoice.invoiceNbr), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.docDate), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.finPeriodID), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.customerID), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.customerID_Customer_acctName), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.customerLocationID), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.curyID), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.curyOrigDocAmt), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.curyDocBal), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.status), 
 
typeof(PX.Objects.AR.Standalone.ARRegisterAlias.dueDate), 
 
typeof(PX.Objects.AR.ARRegisterExt.usrProjectId), 
 
typeof(PX.Objects.AR.ARRegisterExt.usrProjectName))]

Vous avez joint à l'écran factures et mémos FINANCE: enter image description here

Mais ne montre pas sur la distribution écran les factures utilise le même (?) DAC: enter image description here

Est-il possible d'ajouter également le sélecteur au sélecteur de facture de distribution?

Je ne vois qu'il ya deux différents champs de RefNbr qui apparaissent lors de l'ajout d'un champ pour personnaliser mais choisir l'un d'eux ajoute que l'un d'eux ... (donc je supposais les écrans utilisent le même DAC)

enter image description here

+0

Pouvez-vous s'il vous plaît ajouter votre code à la question –

+0

Bien sûr, j'ai ajouté plus d'images et de code, bien que le problème semble être un bug, pas lié au code – Ahmed

Répondre

2

graphique SOInvoiceEntry remplace ce champ dans une cache méthode associée:

[PXDBString(15, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")] 
[PXDefault()] 
[PXUIField(DisplayName = "Reference Nbr.", Visibility = PXUIVisibility.SelectorVisible, TabOrder = 1)] 
[ARInvoiceType.RefNbr(typeof(Search2<AR.Standalone.ARRegisterAlias.refNbr, 
    InnerJoinSingleTable<ARInvoice, On<ARInvoice.docType, Equal<AR.Standalone.ARRegisterAlias.docType>, 
     And<ARInvoice.refNbr, Equal<AR.Standalone.ARRegisterAlias.refNbr>>>, 
    InnerJoinSingleTable<Customer, On<AR.Standalone.ARRegisterAlias.customerID, Equal<Customer.bAccountID>>>>, 
    Where<AR.Standalone.ARRegisterAlias.docType, Equal<Optional<ARInvoice.docType>>, 
     And<AR.Standalone.ARRegisterAlias.origModule, Equal<BatchModule.moduleSO>, 
     And<Match<Customer, Current<AccessInfo.userName>>>>>, 
    OrderBy<Desc<AR.Standalone.ARRegisterAlias.refNbr>>>), Filterable = true)] 
[ARInvoiceType.Numbering()] 
[ARInvoiceNbr()] 
protected virtual void ARInvoice_RefNbr_CacheAttached(PXCache sender) 
{ 
} 

attribue Votre DAC personnalisation est bien, mais je soupçonne que override graphique a la priorité sur les attributs du CAD customizat ion. Je vous conseille de créer une extension graphique pour SOInvoiceEntry, copiez/collez l'événement CacheAttached dans celui-ci et modifiez les attributs pour avoir vos colonnes supplémentaires. Utilisez l'attribut [PXMergeAttributes (Method = MergeMethod.Merge)] pour éviter de redéfinir les attributs qui n'ont pas besoin d'être modifiés.

+0

Merci pour l'explication! Je suis nouveau à cela, pouvez-vous suggérer ce que je devrais ajouter au graphique SOInvoiceEntry pour le faire fonctionner avec juste une colonne comme exemple: "typeof (PX.Objects.AR.ARRegisterExt.usrProjectId)"? – Ahmed