مسئله
در حین کار با Switch Control در Power Automate، اگر فیلد مورد استفاده در کنترل سوئیچ خالی باشد، با این خطا مواجه خواهیم شد.
«از نوع «تهی» است اما انتظار میرود مقداری از نوع «رشته، عدد صحیح» باشد.
من قصد دارم یکی از راه های ممکن را که استفاده کردم به اشتراک بگذارم، اگر راه بهتری دارید لطفاً در نظرات به اشتراک بگذارید.
راه حل
گاهی اوقات وقتی از Power Automate با Dynamics 365 CE استفاده می کنیم و می خواهیم اقدامات مختلفی را بر اساس مقدار تنظیم گزینه انجام دهیم، با استفاده از کنترل سوئیچ می توان به راحتی شرایط مختلف را در مقایسه با شرط اگر بررسی کرد. اما اگر رکورد موجودیت شما حاوی مقدار آن مجموعه گزینه های خاص نباشد، Flow شما ناموفق خواهد بود.
برای جلوگیری از آن، میتوانیم از سوئیچ با ترکیب if و به سادگی مقادیر را بر اساس نتایج if مانند زیر تنظیم کنیم.
اجازه دهید ابتدا متغیری را انتخاب کنیم که مقدار مجموعه گزینه ها را نگه می دارد. فرض کنید جریان من در ایجاد حساب فعال می شود و من یک متغیر ایجاد کرده ام که مقدار گزینه های تنظیم شده را نگه می دارد، به طور پیش فرض آن را روی null تنظیم می کنم.
![رفع آسان برای -](http://pezhvak24.ir/dl/codenevis/firstcode/article/easy-fix-for-it-is-of-type-null-but-is-expected-to-be-a-value-power-automa/Images/flowchk1.jpg)
حالا بیایید یک if control اضافه کنیم و در آنجا می توانیم اکسپرس خود را مانند زیر قرار دهیم.
![رفع آسان برای -](http://pezhvak24.ir/dl/codenevis/firstcode/article/easy-fix-for-it-is-of-type-null-but-is-expected-to-be-a-value-power-automa/Images/flowchk2.jpg)
در تصویر بالا، من از عبارت زیر استفاده می کنم تا بررسی کنم که آیا مجموعه گزینه حاوی داده هایی است یا خیر.
- empty(triggerOutputs()?['body/new_butype@OData.Community.Display.V1.FormattedValue'])
اگر این درست است، میتوانیم به سادگی آن را همانطور که هست رها کنیم، زیرا قبلاً آن را به عنوان null اختصاص دادهایم و اگر حاوی مقدار باشد، میتوانیم از کنترل سوئیچ خود استفاده کنیم و در صورت نیاز حروف اضافه کنیم.
همچنین، در حین استفاده از این متغیر که مقداری را برای مجموعه گزینه ها نگه می دارد، بیشتر به خاطر داشته باشید، باید از عباراتی مانند زیر استفاده کنیم تا فیلد مجموعه گزینه های Dynamics 365 را تنظیم کنیم.
![رفع آسان برای -](http://pezhvak24.ir/dl/codenevis/firstcode/article/easy-fix-for-it-is-of-type-null-but-is-expected-to-be-a-value-power-automa/Images/flowchk3.jpg)
من از عبارت زیر استفاده می کنم
- if(equals(variables('BUType'),0),null,variables('BUType'))
خلاصه
به این ترتیب میتوانیم بررسی کنیم که آیا مقدار فیلد مجموعه گزینههای ما تهی است یا خیر و میتوانیم در هنگام تنظیم مقدار فیلد با استفاده از Power Automate، همان را بررسی کنیم.
امیدوارم به کسی کمک کند!
به یادگیری ادامه دهید، به اشتراک گذاری ادامه دهید!!