• indoberto lerma 10
  • NEWBIE
  • 0 Points
  • Member since 2016
  • SFDC admin
  • Nextiva

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 3
    Replies
HI i have a requirement to do the following

Once Case Owner is changed from queue to user, Case Status should automatically change to In Progress
• Once status is In Progress, user can only update this field to either Closed, Duplicate, or Escalated

Any idea how to acomplished this ?
Hi, according to some users in my org, when they are sending emails to the verified email addresses for Email to case, they are getting an error and cases are not being created in some scenarios.

the message they are getting is the following.

The following errors were encountered while processing an incoming email: 

CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY : CaseTrigger: execution of AfterInsert 

caused by: System.DmlException: Delete failed. First exception on row 0 with id a0Z0P00000JD2wYUAT; first error: ENTITY_IS_DELETED, entity is deleted: [] 

Class.CaseManagement.afterInsertUpdateDelete: line 318, column 1 
Class.CaseEventHandler.afterInsert: line 807, column 1 
Trigger.CaseTrigger: line 26, column 1 


it seems that the problem is with the case trigger but i am not sure why.

this is the trigger:

// 
// (c) 2015 Appirio, Inc.
//
// **Case Trigger
//
// 2.6.2015    Sandy       Original S-259411
// Code added(New method called from handler logic added) - Padmesh Soni (Appirio Offshore - 11/24/2105) - S-349948
// 

trigger CaseTrigger on Case (before insert, before update, before delete, after insert, after update, after delete, after undelete) {

//populate collections used in event handler
CaseEventHandler  handler = new CaseEventHandler(trigger.new, trigger.old, trigger.newMap, trigger.oldMap);

for(SkipTrigger__c skipTrg : SkipTrigger__c.getAll().values()){
  if(skipTrg.name == userinfo.getUserID().subString(0,15)){
    return;
  }
}

//call event handler methods
if(Trigger.IsInsert) {
  if(Trigger.isBefore) {
    handler.beforeInsert();
  } else {
    handler.shareTemporaryOwner(Trigger.newMap,Trigger.oldMap);//Added MS S-538921 [26th Jan 2018]
    handler.afterInsert();
  }
} else if (Trigger.IsUpdate) {
  if(Trigger.isBefore) {
    handler.checkUserForAssignedGroups();
    handler.beforeUpdate();
    handler.updateClosedStatus(Trigger.oldMap, Trigger.new); //Story# S-452906 Added to update Case status with + BB
   // handler.autoPopulateVisitDateAndTime(trigger.new); //Added by mandeep for case# 00189981 //Commentedfor case 00192372 this and added the following
    handler.autoPopulateVisitDateAndTime(trigger.new, Trigger.oldMap); //Added by Sneha on 00192372
  // handler.autoPopulateVisitDateAndTimeTest(trigger.new, Trigger.oldMap); //Added by Sneha on case 00195265

   

  } else {
    //handler.afterUpdate();
    //Modified By Vipul Jain for Story#S-474834 on May, 04, 2017
    handler.updateFeeds();
    handler.shareTemporaryOwner(Trigger.newMap,Trigger.oldMap);//Added MS S-538921 [26th Jan 2018]
    //END - Vipul Jain for Story#S-474834 on May, 04, 2017

  }
} else if(Trigger.isDelete) {
  if(Trigger.isBefore) {
    //NO BEFORE DELETE METHODS DEFINED AT THIS TIME
  } else {
    handler.afterDelete();
  }
} else if(Trigger.isUnDelete) {
  //NO UNDELETE METHODS DEFINED AT THIS TIME
  }

    /***** Code added - Padmesh Soni (Appirio Offshore - 11/24/2105) - S-349948 *****/
    //Code Changes start here
    //Check for event type
    if(Trigger.isAfter) {

        //Check for request type
        if(Trigger.isInsert) {

            //Call helper class method to populate fields mapping for FQRS Cases
            CaseEventHandler.populateFieldsOnFQRSCases(Trigger.new);
            CaseEventHandler.updateNumberOfDays(null, Trigger.New);//Added by Kritika Bhati for S-523626
        }
        //Start Added by Kritika Bhati for S-523626
         if(Trigger.isUpdate) {
            CaseEventHandler.updateNumberOfDays(Trigger.OldMap, Trigger.New);
    }
        if(Trigger.isDelete) {
            CaseEventHandler.updateNumberOfDays(Trigger.OldMap, null);
    }
        if(Trigger.isUndelete) {
            CaseEventHandler.updateNumberOfDays(null, Trigger.New);
    }
        //END S-523626
    //Code Changes stop here

Any ideas on what i need to do ?

 
HI, 

i have a field Multi select picklist named Alliance type that  contais

Private Equity
Software Partner
Advisory Partner

also on the record type name i have the sale values

Private Equity
Software Partner
Advisory Partner

i need to create a validation, that if a user is creating a record with one of the 3 record type names, it matches with the one of the values on the Alliance type. for example, if there are 2 values on the field (Private Equity and software Partner) but the record type is Advisory partner then an error must show unless the Advisory Partner is also selected on the field

How can i create this validation?
Hi, according to some users in my org, when they are sending emails to the verified email addresses for Email to case, they are getting an error and cases are not being created in some scenarios.

the message they are getting is the following.

The following errors were encountered while processing an incoming email: 

CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY : CaseTrigger: execution of AfterInsert 

caused by: System.DmlException: Delete failed. First exception on row 0 with id a0Z0P00000JD2wYUAT; first error: ENTITY_IS_DELETED, entity is deleted: [] 

Class.CaseManagement.afterInsertUpdateDelete: line 318, column 1 
Class.CaseEventHandler.afterInsert: line 807, column 1 
Trigger.CaseTrigger: line 26, column 1 


it seems that the problem is with the case trigger but i am not sure why.

this is the trigger:

// 
// (c) 2015 Appirio, Inc.
//
// **Case Trigger
//
// 2.6.2015    Sandy       Original S-259411
// Code added(New method called from handler logic added) - Padmesh Soni (Appirio Offshore - 11/24/2105) - S-349948
// 

trigger CaseTrigger on Case (before insert, before update, before delete, after insert, after update, after delete, after undelete) {

//populate collections used in event handler
CaseEventHandler  handler = new CaseEventHandler(trigger.new, trigger.old, trigger.newMap, trigger.oldMap);

for(SkipTrigger__c skipTrg : SkipTrigger__c.getAll().values()){
  if(skipTrg.name == userinfo.getUserID().subString(0,15)){
    return;
  }
}

//call event handler methods
if(Trigger.IsInsert) {
  if(Trigger.isBefore) {
    handler.beforeInsert();
  } else {
    handler.shareTemporaryOwner(Trigger.newMap,Trigger.oldMap);//Added MS S-538921 [26th Jan 2018]
    handler.afterInsert();
  }
} else if (Trigger.IsUpdate) {
  if(Trigger.isBefore) {
    handler.checkUserForAssignedGroups();
    handler.beforeUpdate();
    handler.updateClosedStatus(Trigger.oldMap, Trigger.new); //Story# S-452906 Added to update Case status with + BB
   // handler.autoPopulateVisitDateAndTime(trigger.new); //Added by mandeep for case# 00189981 //Commentedfor case 00192372 this and added the following
    handler.autoPopulateVisitDateAndTime(trigger.new, Trigger.oldMap); //Added by Sneha on 00192372
  // handler.autoPopulateVisitDateAndTimeTest(trigger.new, Trigger.oldMap); //Added by Sneha on case 00195265

   

  } else {
    //handler.afterUpdate();
    //Modified By Vipul Jain for Story#S-474834 on May, 04, 2017
    handler.updateFeeds();
    handler.shareTemporaryOwner(Trigger.newMap,Trigger.oldMap);//Added MS S-538921 [26th Jan 2018]
    //END - Vipul Jain for Story#S-474834 on May, 04, 2017

  }
} else if(Trigger.isDelete) {
  if(Trigger.isBefore) {
    //NO BEFORE DELETE METHODS DEFINED AT THIS TIME
  } else {
    handler.afterDelete();
  }
} else if(Trigger.isUnDelete) {
  //NO UNDELETE METHODS DEFINED AT THIS TIME
  }

    /***** Code added - Padmesh Soni (Appirio Offshore - 11/24/2105) - S-349948 *****/
    //Code Changes start here
    //Check for event type
    if(Trigger.isAfter) {

        //Check for request type
        if(Trigger.isInsert) {

            //Call helper class method to populate fields mapping for FQRS Cases
            CaseEventHandler.populateFieldsOnFQRSCases(Trigger.new);
            CaseEventHandler.updateNumberOfDays(null, Trigger.New);//Added by Kritika Bhati for S-523626
        }
        //Start Added by Kritika Bhati for S-523626
         if(Trigger.isUpdate) {
            CaseEventHandler.updateNumberOfDays(Trigger.OldMap, Trigger.New);
    }
        if(Trigger.isDelete) {
            CaseEventHandler.updateNumberOfDays(Trigger.OldMap, null);
    }
        if(Trigger.isUndelete) {
            CaseEventHandler.updateNumberOfDays(null, Trigger.New);
    }
        //END S-523626
    //Code Changes stop here

Any ideas on what i need to do ?

 
HI, 

i have a field Multi select picklist named Alliance type that  contais

Private Equity
Software Partner
Advisory Partner

also on the record type name i have the sale values

Private Equity
Software Partner
Advisory Partner

i need to create a validation, that if a user is creating a record with one of the 3 record type names, it matches with the one of the values on the Alliance type. for example, if there are 2 values on the field (Private Equity and software Partner) but the record type is Advisory partner then an error must show unless the Advisory Partner is also selected on the field

How can i create this validation?