Dynamics AX 4.0، نموذج الافتتاح دون تطبيق عامل التصفية على السجل الحالي

StackOverflow https://stackoverflow.com/questions/1320414

  •  19-09-2019
  •  | 
  •  

سؤال

لدي شكل مع شبكة Vendtable على سبيل المثال، والتي لديها حقل custaccount.

أريد زر زر، انقر فوق الذي سيفتح نموذج Custtable حيث يكون جميع العملاء مرئيين.

إذا قمت فقط بوضع Menuitem CusteTable، فستفتح نموذج Custetable، ولكن في هذا النموذج يتم عرض سجل واحد فقط - واحد يحتوي على نفس المحاسبة كما هو الحال في Vendtable.custaccount.

كيف تفتح كوستابل كامل؟ هل هناك حل أفضل من إنشاء زر، ثم استخدم ClassFactory :: FormRunonclient لعرض النموذج؟

ملاحظة. أحتاج إلى زر، لذلك RMB -> "انتقل إلى نموذج الجدول الرئيسي" لا يعول.

هل كانت مفيدة؟

المحلول

المشكلة هي أن VendTable يتم تطبيق سجل كوسيطة ل CustTable شكل، مما يخلق بعد ذلك dynalink. الحل هو تجنب الحجة.

تجاوز clicked طريقة في CustTable عرض عنصر القائمة مثل هذا:

void clicked()
{
    this.menufunction().run(new Args(element));
}

هذا يستدعي CustTable نموذج مع كائن المتصل فقط وبدون وسيطة السجل.

نصائح أخرى

أعلم أن هذا سؤال قديم إلى حد ما ولكن إذا جاء شخص ما هنا يبحث عن الإجابة، ما عليك سوى طريقة الاتصال clearDynalinks() على كائن querybuilddatasource.

على سبيل المثال، قمت بإنشاء نموذج ويتم تصفية بيانات مصدر بياناتك تلقائيا بسبب Dynalinks التي تنشئ الديناميات تلقائيا، تحلها عن طريق وضع التعليمات البرمجية التالية داخل init() الطريقة، على DataSource النموذج الخاص بك:

QueryBuildDatasource qbds;
;


qbds = this.query().dataSourceTable(tablenum(MyTableName));
qbds.clearDynalinks();

// Next line is optional, it clears initial ranges
qbds.clearRanges();

// if you need to add any ranges you can do it right after you clear the initial dynalinks / ranges

آمل أن يساعد ...

لديك خياران، يمكنك إما إنشاء زر وتجاوز أسلوبها النقر فوق () أو استخدام menuitembutton وتعيين menuitem to إجراء إليها.

استخدام Menuitems هو أفضل الممارسات، لأنه يسمح لك باستخدام إطار أمان الفأس والتكوين. يمكنك ربط فئة إلى menuitem وفي طريقة الطبقة الرئيسية () يمكنك تشغيل الأشياء FormrunonClient () حسب الحاجة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top