Kullanıcıların varsayılan sipariş ayarları kurulum formundaki "Durdurulan" durumuna bağlı olarak öğeleri filtreleyebilmesi için InventTable formunu değiştirdim . İki onay kutusunun değerlerine bağlı olarak "satın alınabilir" öğelerin, "satılabilir" öğelerin, tüm öğelerin veya engellenen öğelerin listesini veya satın alımını listeler.Dynamics AX: Gelişmiş filtre/sıralama seçeneği kullanabilmek için koddaki formdaki veri kaynağını devre dışı bırak
Kodda InventItemSalesSetup ve InventItemPurchSetup veri kaynaklarını ekledim ve kullanıcı bir onay kutusunu işaretlediğinde veya işaretini kaldırdığında bunları etkinleştirir veya devre dışı bırakır.
Veri kaynaklarından biri devre dışı bırakıldığında her şey yolunda çalışır. Sonra "Gelişmiş filtre/sıralama" seçeneği çalışmayı durdurur. Hatayı alıyorum: "Veri kaynağı etkin değil".
Hata, SysQueryForm formunun "saveCueEnabled" yönteminden geliyor. o aradığında:
o sorguda datasources sayısını alırstatic boolean canSaveQueryAsCue(QueryRun qr)
{
int numOfDataSources, i;
QueryBuildDataSource ds;
Query q;
Common cursor;
;
if (!qr)
return false;
q = qr.query();
if (!q)
return false;
numOfDataSources = q.dataSourceCount();
for(i = 1; i <= numOfDataSources; i++)
{
ds = q.dataSourceNo(i);
if(ds.dynalinkCount() > 0)
return false;
// Check if it is temp
cursor = qr.getNo(i);
if (cursor.dataSource() && cursor.isTmp())
return false;
}
return true;
}
, "dataSourceCount" yöntem ayrıca engelli veri kaynaklarıyla sayısını döndürür ve ne zaman:
if (!CueRun::canSaveQueryAsCue(this.args().caller()))
return false;
çağırır Hangi Devre dışı bırakılmış veri kaynaklarının QueryBuildDataSource'sini boş bir DS alırsınız ve geçici bir tablo olup olmadığını kontrol ettiğinde çöker.
"saveCueEnabled" kodunda fazladan ekleme sorunu çözdüm ama bu hatayı almadan veri kaynaklarını etkinleştirmek/devre dışı bırakmak için bir yol olup olmadığını merak ediyorum.
Umarım kendimi iyi anladım, teşekkürler!
Çalışması gerektiğini düşünüyorum. Teşekkürler, bu problem ile tekrar gelirsem deneyeceğim. –