2016-03-22 20 views
0

Fırsatı satış siparişine dönüştürürken özel alan değerlerini fırsattan satış siparişine kopyalamam gerekiyor. Satış siparişinden gönderiye özel alanı iletmek için örnek bir kodla karşılaştım ve “müşteri siparişi yarat” eylemini geçersiz kılmak için kodu kullanmaya çalıştım. Aşağıdaki kod parçacığı OpportunityMaint uzantı sınıfında kullanıyorumÖzel alan değerlerini Fırsattan satış siparişine nasıl geçirebilirsiniz? Sipariş?

public PXAction action; [PXButton] [PXUIField (GörünenAd = "İşlemler", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)] korunan IEnumerable Action (PXAdapter adaptörü, [PXIntList (yeni int [] {1,2,3} yeni dize []) { "Fatura oluştur", "Satış sipariş oluştur", "Hesap oluştur"} PXInt] int? actionId, [PXString] dize ActionName) { if (actionId == 2) { // Öyleyse Sipariş satırı ekleme işleyicisi } İade Base.Action.Press (bağdaştırıcı); }

Kod parçası tetiklenmiyor. iyi çözüm için bekliyorum bu seçenekle Saygılarımızla uygulamak, R.Muralidharan

cevap

0

Sen CreateSalesOrder eylemi geçersiz kılmak gerekir. Aşağıda, fırsatı satış siparişine doğru itmek zorunda kaldığım bir kod snippet'i var.

public class OpportunityMaint_Extension : PXGraphExtension<OpportunityMaint> 
{ 
    public PXAction<CROpportunity> createSalesOrder; 
    [PXUIField(DisplayName = Messages.CreateSalesOrder, MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Select)] 
    [PXButton(ImageKey = PX.Web.UI.Sprite.Main.DataEntry)] 
    public virtual IEnumerable CreateSalesOrder(PXAdapter adapter) 
    { 
     PXGraph.InstanceCreated.AddHandler<SOOrderEntry>((graph) => 
     { 
      graph.RowInserted.AddHandler<SOOrder>((cache, args) => 
      { 
       var soOrder = (SOOrder)args.Row; 
       var soOrderExt = PXCache<SOOrder>.GetExtension<SOOrderExt>(soOrder); 

       foreach (CROpportunity opportunity in adapter.Get()) 
       { 
        soOrderExt.UsrOpportunityID = opportunity.OpportunityID; 
       } 
      }); 
     }); 
     return Base.createSalesOrder.Press(adapter); 
    } 
} 
+0

Teşekkürler. Test ettim ve iyi çalıştı –

İlgili konular