راهنما را تحریک کنید

ساخت وبلاگ

حال اگر من یک تماس جدید دیگر ایجاد کنم ، MyExpenses Filed باید 200/3 باشد ..

بنابراین برای به روزرسانی این قسمت پنهان هنگام ایجاد هرگونه تماس جدید ، باید ماشه بنویسم ..

لطفا برای نوشتن این ماشه کمک کنید

dev. ashish آیا می توانید لطفاً بگویید که قسمت CompanyExpense در تماس یا حساب وجود دارد؟ Srlawr UK

من احتمالاً به جای استفاده از ماشه ، این فرایند را به طور اعلامیه ای در نظر می گیرم؟من کاملاً مطمئن هستم که می توانید این کار را انجام دهید.

ابتدا ، خلاصه ای را در مورد شیء شرکت به نام "تعداد مخاطبین" ایجاد کنید - این به سادگی ، مبلغی از مخاطبین این شرکت خواهد بود. از توضیحات خود ، شما در حال حاضر شرکت شرکت (ثابت) را در این رکورد دارید.

اکنون ، در شیء تماس ، یک فیلد فرمول سفارشی به نام "MyExpenses" اضافه کنید و آن را به عنوان شرکت ضبط والدین / تعداد مخاطبین تبدیل کنید. چیزی شبیه به این

این سپس مبلغ ریاضی را که بعد از آن هستید نشان می دهد ..

البته در اینجا تعدادی محدودیت احتمالی وجود دارد ، بنابراین - ببخشید اگر این اطلاعات بی فایده برای شما است! اگر رابطه تماس/شرکت شما یک جستجوی است - نمی توانید آن را جمع کنید. اگر می خواهید فرمول های رابطه متقابل یا رول در قسمت جدید "MyExpenses" انجام دهید ، ممکن است گیر کرده باشید ... ETC. ETC.

اگر این مورد است ، و شما مصمم به استفاده از ماشه هستید ، به من فریاد بزنید و من سعی می کنم مقداری شبه کد را برای شما جمع کنم :)

Srlawr UK توپ ها. خلاصه Roll up احتمالاً یک شمارش است نه مبلغی: D متاسفم !! به قهوه بیشتری احتیاج دارید. ASISH1989

نوشتن یک ماشه در رویداد Object Object پس از درج است.

Trigger به روزرسانی contact در تماس (پس از درج)

setaccountidSet = new set(); list accountList = new list(); map> id_contcatlist = new map>() ؛ListofContCat = لیست جدید () ؛

for(Contact c: Trigger.new) accountidSet .add(c.AccountId); >

حساب کاربری = [شناسه ، نام ، (شناسه ، نام ، نام ، myexpenses__c را از مخاطبین انتخاب کنید) از حساب که در آن شناسه در: AccountIdset] ؛

for(Account account: accountList) id_contcatlist.put(account.id, account.Contacts); >

برای (تماس با c: trigger. new) تماس با con = تماس جدید (id = c. id ، myexpenses__c = 0) ؛if (id_contcatlist. containskey (c. accountid)) con. myexpenses__c = 300/ id_contcatlist. get (c. accountid) . size () ؛listofcontcat . add (con) ؛

> > if(!listofContcat.isempty()) update listofContcat ; > >

اگر سوال شما را حل کند ، آن را حل کنید.

Srlawr UK

هومموارد زیر را از آن (یا هر) رویکرد ماشه یادداشت کنید:

1) اگر با 2 مخاطب حساب کاربری دارید و یک سوم اضافه می کنید ، دو مخاطب موجود به روز نمی شوند (یعنی دو مورد اول هنوز 100 را نشان می دهند و یکی جدید 66. 66 را نشان می دهد)

2) اگر یک مخاطب را حذف کنید ، MyExpenses به روز نمی شود (بنابراین اگر هر کدام 4 مخاطب دارید و یکی را حذف می کنید ، دیگران به 66. 66 به روز نمی شوند)

3) اگر مبلغ شرکت را در حساب ویرایش کنید ، هیچ یک از مخاطبین به روز نمی شوند

4) اگر یک مخاطب را ویرایش کنید تا دوباره آن را به یک حساب جدید بریزید ، هیچ یک از مقادیر هزینه (از خواهران و برادران قدیمی و جدید یا حساب های قدیمی و جدید) به روز نمی شود.

بشرو در واقع بسیاری ، بسیاری از سناریوهای مورد دیگر که به طور کامل زیر رادار می روند و از دست می روند.

Srlawr UK (گفته می شود ، از نظر فنی ، از نیاز شما ، این نوع از نظر معنایی آن را برآورده می کند !!)

raysfdc1988

بچه ها متاسفم. ممکن است سوال من مشخص نباشد. LEMME در Dateil توضیح می دهد. در تماس (کارمند) شیء من زمینه پنهان به نام myexpenses دارم: و من یک شی دیگر دارم: هزینه ها. من این داده ها را فقط یک بار وارد می کنم. برای ماه ژوئن آن-500 دلار بگویید

این هزینه باید برای هر مخاطب (کارمند) منحرف شود .. اما موضوع تماس و هزینه ها غیر مرتبط هستند. بنابراین من ماشه را برای هزینه هایی نوشتم که ارزش میدان MyExpencses/هیچ مخاطب (AVG) را در تماس با ما کار می کند. خوب..

مثال: برای ماه ژوئن 5 کارمند. سپس اجازه می دهیم هزینه آن ماه را ایجاد کنیم. 500 دلار پس از آن.

اکنون من مخاطب جدیدی را اضافه می کنم .. سپس قسمت MyExpenses باید به 500/6 (هیچ مخاطب) بپردازد.

بنابراین من باید یک ماشه را در تماس بنویسم ، که تمام مخاطبین موجود MyExpenses را بررسی می کند و آنها را به کل (500) اضافه می کند ، سپس تمام مخاطبین MyExpense را با ارزش 500/6 به روز می کند.

Srlawr UK

خوب. پس در مورد چیزی شبیه به این چطور؟(این دست نویس است ، و کامپایلر آزمایش نشده است ، زیرا من زمینه ها را ندارم و غیره)

Trigger Rerollexpenses در تماس (قبل از درج ، قبل از بروزرسانی ، قبل از حذف)< // get all existing contacts ListallContacts = [SELECT Id, Name, MyExpenses FROM Contact]; // augment with new data (might want to look into duplicates here. ) if(!Trigger.isDelete) < allContacts.addAll(Trigger.new) >Double Expensestotal = 0 ؛// این کل فعلی را برای (تماس با ThisContact: AllContacts) دریافت می کند< expensesTotal = expensesTotal + thisContact.MyExpenses; >// تمام مخاطبین را با کل محاسبه شده جدید به روز کنید (با ThisContact: AllContacts تماس بگیرید)< thisContact.MyExpenses = expensesTotal / allContacts.size(); >>

محدودیت ها در اینجا فکر می کنم شما باید به آن بپردازید تا این عملکرد کاملاً کار کند.

من مطمئن نیستم که چگونه لیست با توجه به نسخه های موجود در لیست ، در مورد بروزرسانی واکنش نشان خواهد داد (به نظر مراجعه کنید)

این همه مخاطبین موجود در org را تحت یک هزینه یکسان قرار می دهد ، درست است؟

برخی از ناکارآموزها در آنجا وجود دارد (مانند محاسبه/اندازه تماس () در آخرین حلقه - من یک بار آن را به یک مقدار استخراج می کنم و بارها آن را تنظیم می کنم. (این یک آزمایش خوب است که من شما را ترک کرده ام ؛)))

این سناریوهای نامشخص را در نظر نمی گیرد.(Bleugh)

در صورت داشتن 2000،000 مخاطب ، محدودیت های Govenor را در نظر نمی گیرد.

منصة التداول الأكثر ثقة...
ما را در سایت منصة التداول الأكثر ثقة دنبال می کنید

برچسب : نویسنده : احمد نجفی بازدید : <-PostHit-> تاريخ : يکشنبه 1 مرداد 1402 ساعت: 11:34