2017-09-18 3 views
0

L'écran des commandes d'achat (PO301000) comporte une case à cocher Suspendre qui, lorsqu'elle est sélectionnée, empêche l'utilisateur de modifier les colonnes à partir de l'onglet Détails du document.Acumatica modifier les colonnes même en attente

Je souhaite modifier les colonnes, quelle que soit la case à cocher Retenir sélectionnée ou non pour les ordres ouverts.

Répondre

1

Vous pouvez accomplir cela en utilisant Automation Steps.

Sélectionnez votre écran de commande d'achat et, sur l'ID d'étape, sélectionnez "NL Ouvrir". (Voir ci-dessous)

Ensuite, recherchez "PO Ligne" TableName avec FieldName et désélectionné la case Désactivé. Puis sauvegardez vos modifications.

enter image description here

Alors disons que vous voulez modifier le champ Quantité de la grille, vous pouvez étendre le graphique POOrderEntry et gestionnaire d'événements rowSelected ajouter votre logique personnalisée (et la case Activer les champs souhaités):

public void POLine_RowSelected(PXCache sender, PXRowSelectedEventArgs e) 
    { 
     POLine line = (POLine)e.Row; 
     POOrder order = Base.Document.Current; 
     if (order == null || line == null || Base.IsExport) return; 

     if (order.Status == POOrderStatus.Open) 
     { 
      PXUIFieldAttribute.SetEnabled<POLine.orderQty>(sender, line, true); 
     } 
    } 

L'exemple ci-dessus permet d'activer le champ Qté lorsque POOrder est à état ouvert (Hold non coché). Voici un autre lien vers une question similaire concernant les champs utilisateur personnalisés: How to enable a custom field on PO301000 when the PO is in Open status?