• hammm
  • NEWBIE
  • 5 Points
  • Member since 2014

  • Chatter
    Feed
  • 1
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 6
    Replies
お世話になっております。

Apexのスケジュールで、毎月1回、それぞれ別の日に動くようにしたいと思っています。
現在考えている実装方法は、
レコードでApexスケジュールを動かしたい日(例えば「2016/1/1」、「2016/2/2」、、など)をデータとして保持させ、
Apexスケジュールとしては毎日動かして、動いた日が保持させたデータの日であれば処理を実行、そうでなければ何もしないというような
実装をしようかと考えているのですが、、他にもっとスマートなやり方はありますでしょうか。
ご知恵を拝借したく、宜しくお願い致します。
I have an object called clinics, now i need to link the careworkers i have in the system to thier clinics that are assigned in thier contact details. Now i have a form that has lookup fields for both of those but i would like the careworker lookup to only see the careworkers from the clinic i chose in its lookup field. Is there a formula or some form of trigger i can use to achieve this or is it a simple situation to fix.

thanks 
I tried in below way,but i am getting this error  execution of AfterInsert caused by: System.NullPointerException: Argument cannot be null.: Trigger.addoppamount: line 18, column 1 and also getting another error at line 16 line ,can any one explain where i did mistake.

trigger addoppamount  on opportunity(after update,after insert) {
   set<id> s=new set<id>();
       for (opportunity op:trigger.new){
     s.add(op.accountid);
    }
    
   map<id,account> ma =new map<id,account>([select id,name,total_opportunity_amount__c ,(select id from opportunities) from account where id in :s]);

    for(opportunity opp:trigger.new){
    Account acc = new Account();
    acc.id=ma.get(opp.accountid).id;
    list<account> af= [select id,name,total_opportunity_amount__c,(select id from opportunities)  from account where id =: acc.id];
    system.debug('hiiiiiii'+af);
        for(integer i =0;i<af.oppotunities.size();i++)//In for loop it is not accepting af.oppotunities.size() and giving Initial term of field expression must be a concrete SObject: List<Account> at line 16 column 28 but it is taking like this i<af.oppotunities.size(),can any one explain why
        {
        acc.total_opportunity_amount__c =opp.amount + acc.total_opportunity_amount__c;//18th line Here it is showing error 
            system.debug('hiiiiiii'+acc.total_opportunity_amount__c);

        }
        update acc;
    } 
  • December 02, 2016
  • Like
  • 0
Hi All,
I am getting error in test class as constructor not defined.
Here is my code
@isTest
public class myClass_Test
{
public static testMethod void testMethod() {
        account acc = new account();
        acc.Name = 'test account';
        acc.F1__c='test';
       
        insert acc ;
        contact con=new contact();
        con.LastName=acc.F1__c;
     
        Obj1__c o = new Obj1__c ();
        o.F1__c = acc.Id;
        o.F2__c= con.LastName;
        
        
        insert o;
        
        
    PageReference myPage = Page.myPage;
    myPage.getParameters().put('id', o.Id);  
    Test.setCurrentPage(myPage);    
    ApexPages.StandardController control = new ApexPages.Standardcontroller(o);
    myClass pageControl = new myClass(control); 
     pageControl.bumpCases();
     pageControl.updateCases();   
     
    }

}

Controller
public with sharing class myClass 
{
    private ApexPages.StandardSetController standardController;

    public myClass(ApexPages.StandardSetController standardController)
    {
        this.standardController = standardController;
    }

    public PageReference bumpCases()
    {       
        // Get the selected records (optional, you can use getSelected to obtain ID's and do your own SOQL)
        List<Obj1__c> selectedCases = (List<Obj1__c>) standardController.getSelected();

        // Update records       
        for(obj1__c selectedCase : selectedCases)
        {
            if(selectedCase.status__c == 'Saved') 
                selectedCase.status__c = 'Cancelled';
            
        }       

        return null;        
    }

    public PageReference updateCases()
    {       
        // Call StandardSetController 'save' method to update (optional, you can use your own DML)
        return standardController.save();   
    }
}

Visualforce Page
<apex:page standardController="obj1__c" extensions="myController" recordSetVar="Items" action="{!bumpCases}">
   <apex:form >
       <apex:pageBlock title="Bump Selected Items">
            <apex:pageBlockButtons >
                <apex:commandButton action="{!updateCases}" value="Confirm"/>
            </apex:pageBlockButtons>
            <apex:pageBlockTable value="{!selected}" var="o">
                <apex:column value="{!o.status__c}"/>
               
            </apex:pageBlockTable>
        </apex:pageBlock>
    </apex:form>   
</apex:page>

Please help me in this error
What change I need to do
Thanks in Advance
お世話になっております。

Apexのスケジュールで、毎月1回、それぞれ別の日に動くようにしたいと思っています。
現在考えている実装方法は、
レコードでApexスケジュールを動かしたい日(例えば「2016/1/1」、「2016/2/2」、、など)をデータとして保持させ、
Apexスケジュールとしては毎日動かして、動いた日が保持させたデータの日であれば処理を実行、そうでなければ何もしないというような
実装をしようかと考えているのですが、、他にもっとスマートなやり方はありますでしょうか。
ご知恵を拝借したく、宜しくお願い致します。
セルフ登録にて、ゲストユーザにコミュニティユーザーの作成をさせています。
 
//コミュニティ用取引先
List<Account> accountQuery = [select Id from Account where Name = 'CommunityUsers'];
Account account = accountQuery[0];

//ユーザオブジェクト作成
User user = new User();
user.LastName = [input];
user.Email = [input];
    //省略//

//ユーザ作成
String registUserId = Site.createPortalUser(user, account.Id);

このように登録処理を入れており、前までは動いていたのですが・・・
現在はエラーが発生するようで、ユーザ作成ができなくなってしまいました。
エラーの内容は、ゲストユーザのためログを追えず、何が起こっているのか特定できず困っています。

ゲストユーザのログ取得方法を知っている方がいましたら教えていただけないでしょうか。

また、もし、コミュニティユーザのセルフ登録画面で登録ボタンを押したら
「このページを閲覧するにはログインが必要」とのメッセージが表示されたログイン画面に遷移してしまい、
登録ができないという事象の対策について知っている方がいましたら、アドバイスいただけませんか。
過去のユーザ名と同様のユーザを新規作成しようとしたり、
その過程でコミュニティユーザの外部ユーザの無効化操作や
取引先責任者レコードの削除などを行ってからこのような状況に陥ってしましました。

よろしくお願いします。