با سلام و عرض خسته نباشید خدمت همکاران محترم
همانطور که مطلع هستید، یکی از امکانات جدید نسخه 15.33 در توابع جستجوی انتخابگر حرفی، منبع دیجیتال و کاربر پارامتر پاس شده توسعه داده شده و مجهز به فیلدهای FormFieldsJson و ParentFormFieldsJson برای اجزای آرایه شده است.
پیش نیاز استفاده از این امکان تسلط کامل به توابع جستجو است.. در صورتی که در رابطه با توابع جستجو اطلاعات کاملی ندارید بهتر است مستند زیر ابتدا مطالعه شود.
توسعه امکانات تکمه انتخاب در فیلدهای انتخابگر
برای درک بهتر استفاده از این فیلدها، به مثالهای زیر توجه کنید:
الف - انتخاب ماشین جهت انجام توزین
سناریویی را در نظر بگیرید که سه نوع توزین داریم:
1- توزین سیمان
2- توزین مصالح
3- توزین آب
همچنین ساختار زیر را در درخت مراکز در نظر بگیرید.
در صورتی که کاربر نوع توزین را برابر با سیمان انتخاب کند، لیست اجزای انتخابگرحرفی باید ماشین آلات از نوع بونکر باشد.
در صورتی که کاربر نوع توزین را برابر با مصالح انتخاب کند، لیست اجزای انتخابگرحرفی باید ماشین آلات از نوع کمپرسی باشد.
در صورتی که کاربر نوع توزین را برابر با آب انتخاب کند، لیست اجزای انتخابگرحرفی باید ماشین آلات از نوع تانکر باشد.
نکته : ورود اطلاعات نوع توزین و ماشین آلات در یک وظیفه انجام می شود.
فیلد نوع توزین از نوع عدد صحیح با نام در برنامه wType ساخته می شود.
گزینه های آن به شرح زیر است:
{1} سيمان
{2} مصالح
{3} آب
فیلد انتخاب گر حرفی ماشین با SQL View با توجه به درخت مراکز مصرف به شکل زیر ایجاد می شود.
تابع جستجو آن نیز به شکل زیر می باشد. پارامتر پاس شده دارای فیلد FormFields است که محتوی آن تمام فیلدهای است که در پنجره انجام وظیفه در کنار فیلد ماشین وجود دارند هست.
همچنین نکته دیگری که باید به آن اشاره کرد این است که چون محتوی FormFields یک JSON است باید برای استفاده از آن، آن را parse کرد.
نتیجه این کار در زمان جستجو به شکل زیر می باشد.
حالت اول: بدون انتخاب فیلد نوع توزین
حالت دوم : انتخاب توزین از نوع سیمان
حالت سوم : انتخاب توزین از نوع مصالح
حالت چهارم : انتخاب توزین از نوع آب
ب - انتخاب درخواست کالاها
سناریویی را در نظر بگیرید آرایه ای با اجزای کالا، درخواست و مقدار داریم. همچنین فیلدی خارج از آرایه به عنوان تامین کننده داریم.
حال می خواهیم در زمان انتخاب درخواست که یک فیلد از نوع انتخاب گر حرفی است، لیست اجزای انتخاب گر حرفی به درخواستهای تامین کننده و کالای مورد نظر محدود شود.
فیلد انتخاب گر حرفی درخواست با SQL View با توجه به درخت مراکز مصرف به شکل زیر ایجاد می شود.
تابع جستجو آن نیز به شکل زیر می باشد. توجه بفرمایید به دلیل اینکه فیلد انتخابگر حرفی درخواست در پنجره آرایه است، پارامتر پاس شده FormFields تمام فیلدهای اجزای آرایه را شامل می شود و ParentFormFieldsJson تمام فیلدهای است که در پنجره انجام وظیفه وجود دارند هست.
نکته ای که باید به آن اشاره کرد این است که چون محتوی FormFields یک JSON است باید برای استفاده از آن، آن را parse کرد.
تابع IPtr در کتابخانه Nikk به شکل زیر ایجاد شده است.
نتیجه این کار در زمان جستجو به شکل زیر می باشد.
حالت اول : بدون انتخاب تامین کننده و کالا
حالت دوم : انتخاب کالا و تامین کننده