-
ChatterFeed
-
0Best Answers
-
2Likes Received
-
0Likes Given
-
34Questions
-
40Replies
REQUIRED_FIELD_MISSING - DurationInMinutes
Hi,
I'm trying to deploy a trigger and a test class, but I got an error:
Error:
System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CriarEventoOp_visita_agendada: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Campos obrigatórios ausentes: [DurationInMinutes]: [DurationInMinutes] Trigger.CriarEventoOp_visita_agendada: line 19, column 1: []
Stack Trace: Class.CriarEventoOp_visita_agendada_test.MyUnitTest: line 10, column 1
"DurationInMinutes" it is not a Opportunity field.
But it is a field in Event.
Why I got this?
I'm trying to deploy a trigger and a test class, but I got an error:
trigger CriarEventoOp_visita_agendada on Opportunity (after insert, after update) { List<Event> EventRe = new List<Event>(); for (Opportunity op : Trigger.new){ if (op.StageName == 'Visita Agendada' || op.StageName == 'Visita reagendada'){ EventRe.add (new Event( EndDateTime = op.data_da_visita__c, OwnerId = op.OwnerId, Respons_lvel__c = op.Respons_lvel__c, StartDateTime = op.data_da_visita__c, Subject = 'Visita', Whatid = op.id )); } } insert EventRe; }
@IsTest(SeeAllData=true) public class CriarEventoOp_visita_agendada_test { static testmethod void MyUnitTest(){ Opportunity op = new Opportunity(); op.Name = 'teste'; op.StageName = 'Visita Agendada'; op.CloseDate = date.today(); insert op; op.OwnerId = 'op.OwnerId'; op.Respons_lvel__c = 'op.Respons_lvel__c'; update op; Event ev = new Event(); ev.DurationInMinutes = 1; ev.EndDateTime = op.data_da_visita__c; ev.OwnerId = op.OwnerId; ev.Respons_lvel__c = op.Respons_lvel__c; ev.StartDateTime = op.data_da_visita__c; ev.Subject = 'Visita'; ev.Whatid = op.id; insert ev; } }
Error:
System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CriarEventoOp_visita_agendada: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Campos obrigatórios ausentes: [DurationInMinutes]: [DurationInMinutes] Trigger.CriarEventoOp_visita_agendada: line 19, column 1: []
Stack Trace: Class.CriarEventoOp_visita_agendada_test.MyUnitTest: line 10, column 1
"DurationInMinutes" it is not a Opportunity field.
But it is a field in Event.
Why I got this?
- EvertonSzekeres
- January 04, 2017
- Like
- 0
Web service callout failed
Hi !
I have this web service callout and I am getting an error:
Web service callout failed: Unexpected element. Parser was expecting element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' but found ':html'
What I can't understand is that just in sometimes I got the error and in another times works fine.
What should I do?
I have this web service callout and I am getting an error:
Web service callout failed: Unexpected element. Parser was expecting element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' but found ':html'
29.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO;WORKFLOW,INFO 14:17:43.049 (49323664)|EXECUTION_STARTED 14:17:43.049 (49362144)|CODE_UNIT_STARTED|[EXTERNAL]|FutureHandler - state load 14:17:43.056 (56517697)|CODE_UNIT_FINISHED|FutureHandler - state load 14:17:43.059 (59424317)|EXECUTION_FINISHED 14:17:43.085 (85419917)|EXECUTION_STARTED 14:17:43.085 (85435893)|CODE_UNIT_STARTED|[EXTERNAL]|01pU0000000qNO4|SistemaFF.AtualizarFormando 14:17:43.094 (94095634)|METHOD_ENTRY|[1]|01pU0000000qNO4|SistemaFF.SistemaFF() 14:17:43.094 (94239793)|CONSTRUCTOR_ENTRY|[7]|01pU0000000qNO5|<init>() 14:17:43.094 (94329500)|SYSTEM_CONSTRUCTOR_ENTRY|[12]|<init>() 14:17:43.094 (94373142)|SYSTEM_CONSTRUCTOR_EXIT|[12]|<init>() 14:17:43.094 (94389931)|CONSTRUCTOR_EXIT|[7]|01pU0000000qNO5|<init>() 14:17:43.094 (94418088)|SYSTEM_METHOD_ENTRY|[7]|SistemaFF.__sfdc_svcClient(SistemaFFServiceClient.FormandosSoap) 14:17:43.094 (94435159)|SYSTEM_METHOD_EXIT|[7]|SistemaFF.__sfdc_svcClient(SistemaFFServiceClient.FormandosSoap) 14:17:43.094 (94441448)|METHOD_EXIT|[1]|SistemaFF 14:17:43.122 (122242560)|METHOD_ENTRY|[44]|01pU0000000qNO5|SistemaFFServiceClient.FormandosSoap.ProcessaFormando(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) 14:17:43.125 (125985671)|CONSTRUCTOR_ENTRY|[14]|01pU0000000qNO5|<init>() 14:17:43.126 (126044050)|SYSTEM_CONSTRUCTOR_ENTRY|[95]|<init>() 14:17:43.126 (126074313)|SYSTEM_CONSTRUCTOR_EXIT|[95]|<init>() 14:17:43.126 (126106609)|SYSTEM_CONSTRUCTOR_ENTRY|[96]|<init>() 14:17:43.126 (126116607)|SYSTEM_CONSTRUCTOR_EXIT|[96]|<init>() 14:17:43.126 (126129244)|SYSTEM_CONSTRUCTOR_ENTRY|[97]|<init>() 14:17:43.126 (126138255)|SYSTEM_CONSTRUCTOR_EXIT|[97]|<init>() 14:17:43.126 (126149850)|SYSTEM_CONSTRUCTOR_ENTRY|[98]|<init>() 14:17:43.126 (126158519)|SYSTEM_CONSTRUCTOR_EXIT|[98]|<init>() 14:17:43.126 (126171603)|SYSTEM_CONSTRUCTOR_ENTRY|[99]|<init>() 14:17:43.126 (126180204)|SYSTEM_CONSTRUCTOR_EXIT|[99]|<init>() 14:17:43.126 (126191221)|SYSTEM_CONSTRUCTOR_ENTRY|[100]|<init>() 14:17:43.126 (126200556)|SYSTEM_CONSTRUCTOR_EXIT|[100]|<init>() 14:17:43.126 (126211404)|SYSTEM_CONSTRUCTOR_ENTRY|[101]|<init>() 14:17:43.126 (126219887)|SYSTEM_CONSTRUCTOR_EXIT|[101]|<init>() 14:17:43.126 (126230673)|SYSTEM_CONSTRUCTOR_ENTRY|[102]|<init>() 14:17:43.126 (126239090)|SYSTEM_CONSTRUCTOR_EXIT|[102]|<init>() 14:17:43.126 (126250462)|SYSTEM_CONSTRUCTOR_ENTRY|[103]|<init>() 14:17:43.126 (126258893)|SYSTEM_CONSTRUCTOR_EXIT|[103]|<init>() 14:17:43.126 (126270259)|SYSTEM_CONSTRUCTOR_ENTRY|[104]|<init>() 14:17:43.126 (126278590)|SYSTEM_CONSTRUCTOR_EXIT|[104]|<init>() 14:17:43.126 (126289757)|SYSTEM_CONSTRUCTOR_ENTRY|[105]|<init>() 14:17:43.126 (126298102)|SYSTEM_CONSTRUCTOR_EXIT|[105]|<init>() 14:17:43.126 (126309116)|SYSTEM_CONSTRUCTOR_ENTRY|[106]|<init>() 14:17:43.126 (126317575)|SYSTEM_CONSTRUCTOR_EXIT|[106]|<init>() 14:17:43.126 (126328579)|SYSTEM_CONSTRUCTOR_ENTRY|[107]|<init>() 14:17:43.126 (126337075)|SYSTEM_CONSTRUCTOR_EXIT|[107]|<init>() 14:17:43.126 (126347690)|SYSTEM_CONSTRUCTOR_ENTRY|[108]|<init>() 14:17:43.126 (126357144)|SYSTEM_CONSTRUCTOR_EXIT|[108]|<init>() 14:17:43.126 (126368572)|SYSTEM_CONSTRUCTOR_ENTRY|[109]|<init>() 14:17:43.126 (126377130)|SYSTEM_CONSTRUCTOR_EXIT|[109]|<init>() 14:17:43.126 (126388411)|SYSTEM_CONSTRUCTOR_ENTRY|[110]|<init>() 14:17:43.126 (126396649)|SYSTEM_CONSTRUCTOR_EXIT|[110]|<init>() 14:17:43.126 (126408153)|SYSTEM_CONSTRUCTOR_ENTRY|[111]|<init>() 14:17:43.126 (126416692)|SYSTEM_CONSTRUCTOR_EXIT|[111]|<init>() 14:17:43.126 (126427993)|SYSTEM_CONSTRUCTOR_ENTRY|[112]|<init>() 14:17:43.126 (126436267)|SYSTEM_CONSTRUCTOR_EXIT|[112]|<init>() 14:17:43.126 (126447697)|SYSTEM_CONSTRUCTOR_ENTRY|[113]|<init>() 14:17:43.126 (126455994)|SYSTEM_CONSTRUCTOR_EXIT|[113]|<init>() 14:17:43.126 (126467617)|SYSTEM_CONSTRUCTOR_ENTRY|[114]|<init>() 14:17:43.126 (126475980)|SYSTEM_CONSTRUCTOR_EXIT|[114]|<init>() 14:17:43.126 (126487340)|SYSTEM_CONSTRUCTOR_ENTRY|[115]|<init>() 14:17:43.126 (126495767)|SYSTEM_CONSTRUCTOR_EXIT|[115]|<init>() 14:17:43.126 (126506565)|SYSTEM_CONSTRUCTOR_ENTRY|[116]|<init>() 14:17:43.126 (126515158)|SYSTEM_CONSTRUCTOR_EXIT|[116]|<init>() 14:17:43.126 (126526646)|SYSTEM_CONSTRUCTOR_ENTRY|[117]|<init>() 14:17:43.126 (126535136)|SYSTEM_CONSTRUCTOR_EXIT|[117]|<init>() 14:17:43.126 (126546518)|SYSTEM_CONSTRUCTOR_ENTRY|[118]|<init>() 14:17:43.126 (126554861)|SYSTEM_CONSTRUCTOR_EXIT|[118]|<init>() 14:17:43.126 (126565902)|SYSTEM_CONSTRUCTOR_ENTRY|[119]|<init>() 14:17:43.126 (126574501)|SYSTEM_CONSTRUCTOR_EXIT|[119]|<init>() 14:17:43.126 (126587017)|SYSTEM_CONSTRUCTOR_ENTRY|[120]|<init>() 14:17:43.126 (126595488)|SYSTEM_CONSTRUCTOR_EXIT|[120]|<init>() 14:17:43.126 (126606781)|SYSTEM_CONSTRUCTOR_ENTRY|[121]|<init>() 14:17:43.126 (126615373)|SYSTEM_CONSTRUCTOR_EXIT|[121]|<init>() 14:17:43.126 (126626964)|SYSTEM_CONSTRUCTOR_ENTRY|[122]|<init>() 14:17:43.126 (126635444)|SYSTEM_CONSTRUCTOR_EXIT|[122]|<init>() 14:17:43.126 (126646609)|SYSTEM_CONSTRUCTOR_ENTRY|[123]|<init>() 14:17:43.126 (126655094)|SYSTEM_CONSTRUCTOR_EXIT|[123]|<init>() 14:17:43.126 (126666422)|SYSTEM_CONSTRUCTOR_ENTRY|[124]|<init>() 14:17:43.126 (126675060)|SYSTEM_CONSTRUCTOR_EXIT|[124]|<init>() 14:17:43.126 (126686228)|SYSTEM_CONSTRUCTOR_ENTRY|[125]|<init>() 14:17:43.126 (126695493)|SYSTEM_CONSTRUCTOR_EXIT|[125]|<init>() 14:17:43.126 (126705562)|SYSTEM_CONSTRUCTOR_ENTRY|[126]|<init>() 14:17:43.126 (126714203)|SYSTEM_CONSTRUCTOR_EXIT|[126]|<init>() 14:17:43.126 (126746069)|CONSTRUCTOR_EXIT|[14]|01pU0000000qNO5|<init>() 14:17:43.128 (128189200)|SYSTEM_METHOD_ENTRY|[47]|MAP<String,SistemaFFServiceClient.ProcessaFormandoResponse_element>.put(Object, Object) 14:17:43.128 (128223338)|SYSTEM_METHOD_EXIT|[47]|MAP<String,SistemaFFServiceClient.ProcessaFormandoResponse_element>.put(Object, Object) 14:17:43.128 (128233763)|SYSTEM_CONSTRUCTOR_ENTRY|[48]|<init>() 14:17:43.128 (128244620)|SYSTEM_CONSTRUCTOR_EXIT|[48]|<init>() 14:17:43.128 (128370810)|SYSTEM_METHOD_ENTRY|[48]|WebServiceCallout.invoke(APEX_OBJECT, APEX_OBJECT, MAP, LIST) 14:17:43.133 (133441746)|CALLOUT_REQUEST|[48]|ProcessaFormando_element:[Autorizacao=XXX, Autorizacao_type_info=(Autorizacao, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Bairro_xc=XXXX X, Bairro_xc_type_info=(Bairro__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Celular_da_mae_xc=(XX) XXXX-XXXX, Celular_da_mae_xc_type_info=(Celular_da_mae__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Celular_do_pai_xc=null, Celular_do_pai_xc_type_info=(Celular_do_pai__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Cep_xc=XXXX-XXX, Cep_xc_type_info=(Cep__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Cidade_xc=XXX, Cidade_xc_type_info=(Cidade__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Complemento_xc=null, Complemento_xc_type_info=(Complemento__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Data_pedido_AR_xc=null, Data_pedido_AR_xc_type_info=(Data_pedido_AR__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Data_pedido_SA_xc=null, Data_pedido_SA_xc_type_info=(Data_pedido_SA__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Email_alternativo_xc=null, Email_alternativo_xc_type_info=(Email_alternativo__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Empresa_Separacao_xc=null, Empresa_Separacao_xc_type_info=(Empresa_Separacao__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Endereco_xc=XXX XX, Endereco_xc_type_info=(Endereco__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), FirstName=XXXXX, FirstName_type_info=(FirstName, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Fotos_Baile_xc=0, Fotos_Baile_xc_type_info=(Fotos_Baile__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Fotos_Colacao_xc=27, Fotos_Colacao_xc_type_info=(Fotos_Colacao__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Fotos_Outros_xc=48, Fotos_Outros_xc_type_info=(Fotos_Outros__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), ID_do_formando_xc=XXX_XXXX_XXXXXX, ID_do_formando_xc_type_info=(ID_do_formando__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), LastName=XXXXX XXXX, LastName_type_info=(LastName, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Nome_da_mae_xc=XXXXX XXX, Nome_da_mae_xc_type_info=(Nome_da_mae__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Nome_do_pai_xc=null, Nome_do_pai_xc_type_info=(Nome_do_pai__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Nro_xc=null, Nro_xc_type_info=(Nro__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Panoramicas_xc=0, Panoramicas_xc_type_info=(Panoramicas__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), PersonEmail=crsilva95@yahoo.com.br, PersonEmail_type_info=(PersonEmail, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), PersonHomePhone=(XX) XXXX-XXXX, PersonHomePhone_type_info=(PersonHomePhone, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), PersonMobilePhone=(XX) XXXX-XXXX, PersonMobilePhone_type_info=(PersonMobilePhone, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), PersonOtherPhone=null, PersonOtherPhone_type_info=(PersonOtherPhone, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Situa_o_Avulso_xc=XXXXX XXXX - XX XXXXX, Situa_o_Avulso_xc_type_info=(Situa_o_Avulso__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Telefone_da_mae_xc=null, Telefone_da_mae_xc_type_info=(Telefone_da_mae__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), Telefone_do_pai_xc=null, Telefone_do_pai_xc_type_info=(Telefone_do_pai__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), UF_xc=MG, UF_xc_type_info=(UF__c, http://www.w3.org/2001/XMLSchema, string, 0, 1, false), apex_schema_type_info=(http://xx.xxxxxxx.com.br/, true, false), field_order_type_info=(Autorizacao, ID_do_formando_xc, FirstName, LastName, PersonMobilePhone, PersonEmail, PersonHomePhone, Bairro_xc, Celular_da_mae_xc, Celular_do_pai_xc, ...)]::SFDC_STACK_DEPTH=1 SOAPAction="http://xx.xxxxxxx.com.br/ProcessaFormando" User-Agent=SFDC-Callout/31.0 Accept=text/xml Content-Type=text/xml; charset=UTF-8 14:17:43.157 (157957558)|EXCEPTION_THROWN|[48]|System.CalloutException: Web service callout failed: Unexpected element. Parser was expecting element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' but found ':html' 14:17:43.158 (158055274)|SYSTEM_METHOD_EXIT|[48]|WebServiceCallout.invoke(APEX_OBJECT, APEX_OBJECT, MAP, LIST) 14:17:43.158 (158110898)|FATAL_ERROR|System.CalloutException: Web service callout failed: Unexpected element. Parser was expecting element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' but found ':html' Class.SistemaFFServiceClient.FormandosSoap.ProcessaFormando: line 48, column 1 Class.SistemaFF.AtualizarFormando: line 44, column 1 14:17:43.158 (158124309)|FATAL_ERROR|System.CalloutException: Web service callout failed: Unexpected element. Parser was expecting element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' but found ':html' Class.SistemaFFServiceClient.FormandosSoap.ProcessaFormando: line 48, column 1 Class.SistemaFF.AtualizarFormando: line 44, column 1 14:17:43.381 (158139458)|CUMULATIVE_LIMIT_USAGE 14:17:43.381|LIMIT_USAGE_FOR_NS|(default)| Number of SOQL queries: 0 out of 200 Number of query rows: 0 out of 50000 Number of SOSL queries: 0 out of 20 Number of DML statements: 0 out of 150 Number of DML rows: 0 out of 10000 Maximum CPU time: 0 out of 60000 Maximum heap size: 0 out of 12000000 Number of callouts: 1 out of 10 Number of Email Invocations: 0 out of 10 Number of future calls: 0 out of 10 Number of Mobile Apex push calls: 0 out of 10 14:17:43.381|CUMULATIVE_LIMIT_USAGE_END 14:17:43.158 (158163968)|CODE_UNIT_FINISHED|SistemaFF.AtualizarFormando 14:17:43.161 (161667998)|EXECUTION_FINISHED
What I can't understand is that just in sometimes I got the error and in another times works fine.
What should I do?
- EvertonSzekeres
- September 22, 2014
- Like
- 0
Writing test class
Can you guys help me to write a test class?
My trigger:
I tried create the test class, but it stops to coverage in line 14 of my trigger so I stoped to continue in my test class. I got 52%:
Thanks !
My trigger:
trigger Atualizar_Fotosfaltantes_AR_case on Account (after update) { public List<Case> casesToUpdate = new List<Case>(); public List<Task> tasksToUpdate = new List<Task>(); public Set <id> ids = new Set <id> (); for (Account acc: trigger.new) { if (acc.antecipado__c == 'AR' || acc.antecipado__c == 'TES' || acc.Nome_do_produto_adquirido__c.contains('AR ')){ ids.add(acc.id); } if(ids.size()>0){ For(Case c : [SELECT Id, motivo__c, Formando_com_fotos__c, accountid FROM Case WHERE (motivo__c = 'Formandos AR' OR motivo__c = 'Fotos faltantes') AND accountId IN: ids]){ For(Task t : [SELECT Id, subject, status FROM Task WHERE (subject = 'AR - Aguardando fotos faltantes' OR subject = 'AR - LuxColor - Aguardando fotos faltantes') AND status != 'Concluído' AND whatid =: c.id]){ if((acc.Formando_com_novas_fotos__c == 'SIM' || acc.Formando_com_novas_fotos__c == 'NÃO') && c.motivo__c == 'Formandos AR'){ c.Formando_com_fotos__c = acc.Formando_com_novas_fotos__c; } if((acc.Formando_com_novas_fotos__c == 'SIM' || acc.Formando_com_novas_fotos__c == 'NÃO') && c.motivo__c == 'Formandos AR'){ t.status = 'Concluído'; } if((acc.Formando_com_novas_fotos__c == 'FOTOS RECEBIDAS' || acc.Formando_com_novas_fotos__c == 'ENVIAR NOVAMENTE') && c.motivo__c == 'Fotos faltantes'){ c.Formando_com_fotos__c = acc.Formando_com_novas_fotos__c; } casesToUpdate.add(c); tasksToUpdate.add(t); } } } } update casesToUpdate; update taskstoupdate; }
I tried create the test class, but it stops to coverage in line 14 of my trigger so I stoped to continue in my test class. I got 52%:
@isTest(SeeAllData=true) public class FotosFaltantes_AR_test{ static testmethod void MyUnitTest001(){ Account acc = new Account(); acc.LastName = 'Account Avulso'; acc.recordtypeid = '012U00000000vYx'; acc.Antecipado__c = 'AR'; acc.Formando_com_novas_fotos__c = null; insert acc; Test.startTest(); acc.Formando_com_novas_fotos__c = 'SIM'; update acc; Test.stopTest(); Case c = new Case(); c.motivo__c = 'Formandos AR'; c.Formando_com_fotos__c = null; c.status = 'Novo'; c.AccountId = acc.id; insert c; Task t = new Task(); t.Subject = 'AR - Aguardando fotos faltantes'; t.Status = 'Nenhum'; t.WhatId = c.id; insert t; List<Case> cases = [SELECT Formando_com_fotos__c FROM Case WHERE Id =:c.Id]; System.assertEquals(acc.Formando_com_novas_fotos__c, cases[0].Formando_com_fotos__c); } }
Thanks !
- EvertonSzekeres
- September 12, 2014
- Like
- 0
System.LimitException: Too many SOQL queries: 101 Data Loader Issue
I have an issue with dataloader while trying to load some records that fires the following trigger that gives me an error System.LimitException: Too many SOQL queries: 101 because of this issue:
Thanks,
trigger AtualizarAR_timba_task on Case (after update) { List<String> ids = new List <String> (); for (Case c: trigger.new) { if (Trigger.oldMap.get(c.id).Endere_o_pagamento__c != c.Endere_o_pagamento__c || Trigger.oldMap.get(c.id).Novas_altera_es__c != c.Novas_altera_es__c || Trigger.oldMap.get(c.id).Nome_completo_pagamento__c != c.Nome_completo_pagamento__c && (c.motivo__c == 'Formandos AR')){ ids.add(c.id); } Map<String, List<Task>> taskMap = new Map<String, List<Task>>(); for (Task t: [SELECT Id, whatid, subject, status, Aprovado__c, description FROM Task WHERE subject = 'AR - Impressão aprovada?' AND status != 'Concluído' AND whatid =: ids]){ List<Task> taskList= new List<Task>(); if (taskMap.containsKey(t.whatid)){ taskList = taskMap.get(t.whatid); } if(c.Novas_altera_es__c != null){ t.Aprovado__c = 'NÃO'; t.status = 'Concluído'; } if(c.Nome_completo_pagamento__c != null && c.Endere_o_pagamento__c == null){ t.description = 'Nome da lombada = '+c.Nome_completo_pagamento__c+''; t.Aprovado__c = 'SIM'; t.status = 'Concluído'; } if(c.Nome_completo_pagamento__c != null && c.Endere_o_pagamento__c != null){ t.description = 'Nome da lombada = '+c.Nome_completo_pagamento__c+'\n\nNovo endereço = '+c.Endere_o_pagamento__c+''; t.Aprovado__c = 'SIM'; t.status = 'Concluído'; } taskList.add(t); taskMap.put(t.whatId, taskList); update(taskList); } } }I'll be glad if you can help me with rephrasing the SOQL query to be more efficient.
Thanks,
- EvertonSzekeres
- September 05, 2014
- Like
- 0
Schedule email
Hi,
I'm trying to send an email scheduling by a date field in my task:
I had scheduled, but I didn't receive the email.
Probably my code is wrong, it is my first time scheduling.
What should I do?
Thanks !
I'm trying to send an email scheduling by a date field in my task:
global class Email_agendado_Impressao implements Schedulable { global void execute(SchedulableContext sc) { for (Task t: [select Id, E_mail__c, Data_do_pedido__c from Task where subject = 'Fotos faltantes - Envio de Backup']){ if (t.Data_do_pedido__c == system.today()){ Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; toAddresses.add(t.e_mail__c); mail.setToAddresses(toAddresses); mail.setSenderDisplayName('Test email'); mail.setSubject('Test Schedule'); mail.setPlainTextBody('Test email'); } } } }
I had scheduled, but I didn't receive the email.
Probably my code is wrong, it is my first time scheduling.
What should I do?
Thanks !
- EvertonSzekeres
- August 15, 2014
- Like
- 0
Test class tasks closed
I'm trying to make my test class understand that all the tasks are closed.
The problem is it in "LIMIT 1" but if I remove "LIMIT 1" I get this:
System.QueryException: List has more than 1 row for assignment to SObject
Stack Trace: Class.Email_abertura_de_vaga_test.myUnitTest001: line 23, column 1
This is my class:
The problem is it in "LIMIT 1" but if I remove "LIMIT 1" I get this:
System.QueryException: List has more than 1 row for assignment to SObject
Stack Trace: Class.Email_abertura_de_vaga_test.myUnitTest001: line 23, column 1
This is my class:
@isTest (seeAllData=true) public class Email_abertura_de_vaga_test { static testMethod void myUnitTest001() { User u = [select id, Name from User where Name='CP7 Marketing']; Case ct = new Case(); ct.Func_abertura_chamado__c = 'EVERTON GOMES'; ct.motivo__c='Abertura de vaga'; ct.subject='test'; ct.Description='test test'; ct.resposta__c=null; ct.Nome_atendimento__c=null; ct.N_veis__c=null; ct.Meios_de_divulga_o__c=null; ct.Candidatos_agendados__c=null; ct.Candidatos_avaliados__c=null; ct.Candidatos_pr_selecionados__c=null; ct.status = 'Novo'; insert ct; Task t = [select id, whatid from Task where isClosed=true LIMIT 1]; ct.status = 'Fechado'; ct.status_do_processo__c = null; ct.id = t.whatid; ct.Func_abertura_chamado__c = 'THIAGO MARTINS'; ct.Nome_atendimento__c='Teste'; ct.N_veis__c='Recepcionista'; ct.Meios_de_divulga_o__c='TEste'; ct.Candidatos_agendados__c=12; ct.Candidatos_avaliados__c=10; ct.Candidatos_pr_selecionados__c=2; ct.In_cio__c= Date.today(); ct.resposta__c='teste'; update ct; }
- EvertonSzekeres
- July 25, 2014
- Like
- 0
addError "FIELD_CUSTOM_VALIDATION_EXCEPTION"
I'm trying to deploy this trigger:
I don't want to close my cases with tasks opened.
It works fine, but when I will deploy I get this error message "Failure Message: "System.DmlException: Update failed. First exception on row 0 with id 500U0000009hsErIAI; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Você não pode fechar um chamado com tarefas abertas. "Abertura de vaga - Aprovar vaga" está aberta. Verificar com CP7 Diretoria: []", Failure Stack Trace: "Class.Email_abertur..."
I thought is because I have this another trigger:
I found the problem, but I don't have any idea what I have to do to deploy my trigger "NaoFechaChamado".
trigger NaoFechaChamado on Case (after update) { Set <id> ids = new Set <id> (); for (Case c: trigger.new){ if (c.status=='Fechado'){ ids.add(c.id); } } for (Case c: trigger.new) { if(ids.size()>0){ for(Task t : [SELECT Id, WhatId, owner.name, subject FROM Task WHERE isclosed=false AND (Not subject like '%Fech%') AND whatid IN: ids]){ if(c.status_do_processo__c != 'Extinto'){ c.addError('Você não pode fechar um chamado com tarefas abertas. "'+t.subject+'" está aberta. Verificar com '+t.owner.name+''); } } } if(ids.size()>0){ for(Task t : [SELECT Id, WhatId, owner.name, subject FROM Task WHERE isclosed=false AND (subject like '%Fech%') AND whatid IN: ids]){ if(c.status_do_processo__c != 'Extinto'){ t.status = 'Concluído'; update t; } } } } }
I don't want to close my cases with tasks opened.
It works fine, but when I will deploy I get this error message "Failure Message: "System.DmlException: Update failed. First exception on row 0 with id 500U0000009hsErIAI; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Você não pode fechar um chamado com tarefas abertas. "Abertura de vaga - Aprovar vaga" está aberta. Verificar com CP7 Diretoria: []", Failure Stack Trace: "Class.Email_abertur..."
@isTest (seeAllData=true) public class Email_abertura_de_vaga_test { static testMethod void myUnitTest001() { Case ca = new Case (); ca.Func_abertura_chamado__c = 'EVERTON GOMES'; ca.motivo__c='Abertura de vaga'; ca.subject='test'; ca.Description='test test'; ca.resposta__c=null; ca.Nome_atendimento__c='Asassa'; ca.N_veis__c='Auxiliar'; ca.Meios_de_divulga_o__c='Asdfgh'; ca.Candidatos_agendados__c=15; ca.Candidatos_avaliados__c=9; ca.Candidatos_pr_selecionados__c=1; insert ca; ca.resposta__c='teste'; ca.Func_abertura_chamado__c = 'ALAN BRONER'; ca.motivo__c='Abertura de vaga'; ca.Nome_atendimento__c='Teste'; ca.N_veis__c='Recepcionista'; ca.Meios_de_divulga_o__c='TEste'; ca.Candidatos_agendados__c=12; ca.Candidatos_avaliados__c=10; ca.Candidatos_pr_selecionados__c=2; ca.In_cio__c= Date.today(); update ca; } }
I thought is because I have this another trigger:
trigger CriarTarefaCase_Abertura_de_vaga on Case (after insert) { List<Task> tasks = new List<Task>(); List<Case> cse = Trigger.new; for (Case c : cse){ if (c.motivo__c == 'Abertura de vaga' && c.status != 'Fechado'){ Task tsk = new Task (whatID = c.ID, Subject = 'Abertura de vaga - Aprovar vaga', ActivityDate = Date.today(), Ownerid = '005U0000000FDE9'); tasks.add(tsk); } } insert tasks; }
I found the problem, but I don't have any idea what I have to do to deploy my trigger "NaoFechaChamado".
- EvertonSzekeres
- June 27, 2014
- Like
- 0
How to identify which test class is bringing 74%
Hi,
I can't deploy anything in my organization because I always get 74%.
I read in some topics that maybe I have a test class that have 0% coverage or some other issue.
I executed all my test class and the first test class I've encountered an issue is bringing me 100% coverage in 2 of my triggers:
When I execute I get this error:
Methods defined as TestMethod do not support Web service callouts, test skipped
I can't deploy anything in my organization because I always get 74%.
I read in some topics that maybe I have a test class that have 0% coverage or some other issue.
I executed all my test class and the first test class I've encountered an issue is bringing me 100% coverage in 2 of my triggers:
@istest(seealldata=true) public class AtualizarProduto_adquirido_deleteSA_test{ static testmethod void unittest(){ Account acc=new Account(); acc.FirstName = 'Tste'; acc.LastName = 'Teste'; acc.ID_do_formando__c = 'CP7_0000_000001'; acc.Turma__c = 'a06U0000006GuHc'; acc.Nome_do_produto_adquirido__c = 'SUPER ÁLBUM'; acc.Data_da_venda_SA__c = Date.today(); acc.Situacao__c = 'VENDA APROVADA'; acc.pesquisa_de_mercado__c = '1 - Pesquisa Satisfação B2'; acc.antecipado__c = null; insert acc; Asset a=new Asset(); a.name = 'SUPER ÁLBUM'; a.Price = 1000; a.Parcelas__c = 10; a.data_do_contrato__c = date.today(); a.accountId = acc.id; a.quantity = 0; insert a; a.Status = 'Cancelado'; update a; acc.Nome_do_produto_adquirido__c = null; acc.Data_da_venda_SA__c = null; update acc; } }
When I execute I get this error:
Methods defined as TestMethod do not support Web service callouts, test skipped
- EvertonSzekeres
- June 16, 2014
- Like
- 0
Test Class for email trigger
Hi,
I am having difficulty when trying to create the test class for my trigger:
Thanks !
I am having difficulty when trying to create the test class for my trigger:
trigger Email_Pesquisa_Mercado_account on Account (after update) { Map<Id,Account> accountMap = new Map<Id,Account>([Select Id, Name, (Select Id,Name,Price,Parcelas__c,Data_do_contrato__c,quantity,status from Assets where quantity>0 AND Data_do_contrato__c != null AND (NOT name like 'AR -%')) from Account Where recordtypeid='012U00000000vYx' AND Id in : Trigger.New]); for(Account Ac : Trigger.New){ String AssetName; Decimal ValorVenda; Decimal Parcelas; Date DataContrato; String SemEmail; String SemEmailprincipal; String Situacao; Situacao = ac.Situacao__c; if(Situacao.contains('APROVADA') && Trigger.oldMap.get(ac.id).pesquisa_de_mercado__c != ac.pesquisa_de_mercado__c && ac.pesquisa_de_mercado__c == '1 - Pesquisa Satisfação B2' && ac.antecipado__c != 'AR' && ac.antecipado__c != 'TES' && (ac.turma__c == '2013 2S - UNISA - MEDICINA - SAO PAULO' || ac.turma__c == '2013 2S - FAAP - ENG,ARQ,ECON,REL INT,S IN - SAO PAULO' || ac.turma__c == '2013 2S - UNICID - ODONTOLOGIA - SAO PAULO')){ if(accountMap.get(Ac.Id).Assets.size() > 0){ for(Asset obj : accountMap.get(Ac.Id).Assets){ if(obj.name != null){ if(AssetName==null){ AssetName = obj.Name; } else{ AssetName = AssetName + '<br> ' + ''+obj.Name+''; } ValorVenda = obj.Price; Parcelas = obj.Parcelas__c; DataContrato = obj.Data_do_contrato__c.addDays(90); } } Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; if(ac.PersonEmail == null){ SemEmailprincipal = 'sememail@b2agencia.com.br'; } if(ac.PersonEmail != null){ SemEmailprincipal = ac.PersonEmail; } toAddresses.add(SemEmailprincipal); if(ac.Email_alternativo__c == null ){ SemEmail = 'sememail@b2agencia.com.br'; } if(ac.Email_alternativo__c != null){ SemEmail = ac.Email_alternativo__c; } toAddresses.add(SemEmail); mail.setToAddresses(toAddresses); mail.setreplyto('foto.filmagem@b2agencia.com.br'); mail.setSenderDisplayName('B2 Agência'); mail.setSubject('B2 Foto e Filmagem: Seu álbum de formatura'); mail.setHtmlBody('Olá, '+ac.FirstName+' '+ac.LastName+'<p>Primeiramente gostaríamos de parabenizá-lo pela conquista da sua formatura, sabemos que é um grande marco para o início da sua vida profissional. Desejamos que você tenha muito sucesso em sua caminhada!<p>Para guardar todas essas recordações, você efetuou a compra dos produtos abaixo:<p>'+AssetName+'<p>O valor total da sua compra é de R$ '+ValorVenda+', parcelado em '+Parcelas+' vezes.<p>Os produtos extras serão entregues até o dia '+DataContrato.day()+'/'+DataContrato.month()+'/'+DataContrato.year()+', no '+ac.Cidade__c+' - RUA '+ac.Endereco__c+', '+ac.Nro__c+'<p>O envio dos mesmos é feito pelo correio, que faz 3 tentativas de entrega. Caso o correio não consiga efetuar a entrega nas 3 tentativas, o produto volta para o escritório e vamos aguardar o seu contato nos informando um novo endereço de entrega.<p><font color="#EE7600"><b>PREOCUPADO COM A SATISFAÇÃO DE NOSSOS CLIENTES, BUSCAMOS PROMOVER MELHORIAS CONTÍNUAS EM NOSSOS SERVIÇOS E PRODUTOS, PARA ISSO, A SUA OPINIÃO É MUITO IMPORTANTE!<p>TIRE 2 MINUTINHOS DO SEU DIA PARA RESPONDER À NOSSA PESQUISA DE SATISFAÇÃO</font></b> <a href=http://sistemaff.force.com/B2/TIMBASURVEYS__Survey?id=a0UU0000005UKnaMAG&pAccId='+ac.id+'&wf=yes><font color="#458B00"><b>CLICANDO AQUI</b></font></a>.</p><br>Obrigado!<br><a href=http://sistemaff.force.com/B2/TIMBASURVEYS__Survey?id=a0UU0000005UKnaMAG&pAccId='+ac.id+'&wf=yes><img src="https://na12.salesforce.com/servlet/servlet.ImageServer?id=015U0000002G2fd&oid=00DU0000000KBJn" alt="B2"/>'); Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail}); } } } }Any help will be great !
Thanks !
- EvertonSzekeres
- June 11, 2014
- Like
- 0
Email trigger getting null
Hi,
I am asking this in everywhere and no one can help me.
I have this trigger that will bring all assets in an email.
I get all the assets, but I received the email like this:
Olá, Xxx Xxx
null, "AMPLIAÇÃO", "FOTO 20X30CM", "DVD", "AR - SUPER VIP"
Why I am receiving a null asset?
What should I do?
Thanks !
I am asking this in everywhere and no one can help me.
I have this trigger that will bring all assets in an email.
trigger Email_Pesquisa_Mercado_account on Account (after update) { Map<Id,Account> accountMap = new Map<Id,Account>([Select Id, Name, (Select Id,Name from Assets where Quantity>0) from Account Where Id in : Trigger.New]); for(Account Ac : Trigger.New){ if(ac.separador__c == 'pesquisa'){ String AssetName; if(accountMap.get(Ac.Id).Assets.size() > 0){ for(Asset obj : accountMap.get(Ac.Id).Assets){ if(obj.name != null){ AssetName = AssetName + ', ' + '"'+obj.Name+'"'; } } Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; toAddresses.add(ac.PersonEmail); mail.setToAddresses(toAddresses); mail.setreplyto('naoresponda@cp7.com.br'); mail.setSubject('Pesquisa'); mail.setHtmlBody('Olá, '+ac.FirstName+' '+ac.LastName+'<p>'+AssetName+'</p>'); Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail}); } } } }
I get all the assets, but I received the email like this:
Olá, Xxx Xxx
null, "AMPLIAÇÃO", "FOTO 20X30CM", "DVD", "AR - SUPER VIP"
Why I am receiving a null asset?
What should I do?
Thanks !
- EvertonSzekeres
- May 28, 2014
- Like
- 0
Bring all assets
Hi,
I am trying send and email that will bring me all the assets from account.
In this trigger I only get the last asset created and not all the list.
Thanks !
I am trying send and email that will bring me all the assets from account.
Set <id> ids = new Set <id> (); for (Account acc: trigger.new) { ids.add(acc.id); } for (Asset ast: [SELECT Id, Name, Quantity FROM Asset WHERE Quantity>0 AND accountid IN: ids]){ for(Account acc : trigger.new){ if(acc.separador__c == 'pesquisa'){ Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; toAddresses.add(acc.PersonEmail); toAddresses.add(acc.Email_alternativo__c); mail.setToAddresses(toAddresses); mail.setreplyto('naoresponda@cp7.com.br'); mail.setSubject('Pesquisa'); mail.setHtmlBody('Olá, '+acc.FirstName+''+acc.LastName+'<p>'+ast.Name+'</p>');
In this trigger I only get the last asset created and not all the list.
Thanks !
- EvertonSzekeres
- May 23, 2014
- Like
- 0
Date to string one day less
Hi,
I converted my date field in string, so I can updated my other field in account.
for (Account acc: [SELECT Id, Data_pedido_AR__c, Data_pedido_SA__c FROM Account WHERE id IN: ids]){
for (Case c: trigger.new) {
if(c.motivo__c == 'Formandos AR' && c.Data_pedido_AR__c != null && Trigger.oldMap.get(c.id).Data_pedido_AR__c != c.Data_pedido_AR__c){
Datetime d = Date.Valueof(c.Data_pedido_AR__c);
String dateStr = d.format('dd/MM/yyyy');
System.debug('::::::::::: ' + dateStr) ;
acc.Data_pedido_AR__c = dateStr;
}
update acc;
It works fine but in my account my field is one day less.
If I put c.Data_pedido_AR__c = 20/05/2014
I get acc.Data_pedido_AR__c = 19/05/2014
Why?
I converted my date field in string, so I can updated my other field in account.
for (Account acc: [SELECT Id, Data_pedido_AR__c, Data_pedido_SA__c FROM Account WHERE id IN: ids]){
for (Case c: trigger.new) {
if(c.motivo__c == 'Formandos AR' && c.Data_pedido_AR__c != null && Trigger.oldMap.get(c.id).Data_pedido_AR__c != c.Data_pedido_AR__c){
Datetime d = Date.Valueof(c.Data_pedido_AR__c);
String dateStr = d.format('dd/MM/yyyy');
System.debug('::::::::::: ' + dateStr) ;
acc.Data_pedido_AR__c = dateStr;
}
update acc;
It works fine but in my account my field is one day less.
If I put c.Data_pedido_AR__c = 20/05/2014
I get acc.Data_pedido_AR__c = 19/05/2014
Why?
- EvertonSzekeres
- May 20, 2014
- Like
- 1
Duration Field
How can I create a duration field?
It will work like the field on the report.
But I want different types of dates.
I updated one custom date field in case when one of my tasks is completed.
And I want the duration between this custom date field and the closed date.
Thanks !
It will work like the field on the report.
But I want different types of dates.
I updated one custom date field in case when one of my tasks is completed.
And I want the duration between this custom date field and the closed date.
Thanks !
- EvertonSzekeres
- April 29, 2014
- Like
- 0
Test class for trigger with delete
Hi !
I have this trigger
trigger DeletarProdutos_Qtd0 on Asset (after update) {
for(Asset ast:[SELECT quantity FROM Asset WHERE quantity = 0])
delete ast;
}
I don't know if this trigger have something wrong, but in my sandbox worked.
I'm facing trouble with the test class.
I tried this:
@isTest (Seealldata=true)
private class DeletarProdutos_Qtd0_test {
static testMethod void myUnitTest() {
Account acc = new Account(firstname='Teste', lastname='Test');
insert acc;
Asset ass = new Asset();
ass.name = 'SUPER ÁLBUM';
ass.quantity = 0;
ass.accountid = acc.id;
insert ass;
ass.quantity = 0;
ass.accountid = acc.id;
delete ass;
}
}
Thanks!
I have this trigger
trigger DeletarProdutos_Qtd0 on Asset (after update) {
for(Asset ast:[SELECT quantity FROM Asset WHERE quantity = 0])
delete ast;
}
I don't know if this trigger have something wrong, but in my sandbox worked.
I'm facing trouble with the test class.
I tried this:
@isTest (Seealldata=true)
private class DeletarProdutos_Qtd0_test {
static testMethod void myUnitTest() {
Account acc = new Account(firstname='Teste', lastname='Test');
insert acc;
Asset ass = new Asset();
ass.name = 'SUPER ÁLBUM';
ass.quantity = 0;
ass.accountid = acc.id;
insert ass;
ass.quantity = 0;
ass.accountid = acc.id;
delete ass;
}
}
Thanks!
- EvertonSzekeres
- April 16, 2014
- Like
- 0
Salesforce to webservice
Hello !
I have a code to update my web service and it works fine.
Today I added another fields and I'm getting an error.
This is the fields I tried to add:
Situa_o_Avulso__c
Fotos_Colacao__c
Fotos_Baile__c
Fotos_Outros__c
Panoramicas__c
Failed to invoke future method 'private static void AtualizarFormando(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String)' on class 'SistemaFF' for job id '707U000000aSJXW'
caused by: System.CalloutException: Web service callout failed: WebService returned a SOAP Fault: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Formandos.ProcessaFormando(String Autorizacao, String ID_do_formando__c, String FirstName, String LastName, String PersonBirthdate, String PersonMobilePhone, String PersonEmail, String PersonHomePhone, String Bairro__c, String Celular_da_mae__c, String Celular_do_pai__c, String Cep__c, String Cidade__c, String Complemento__c, String Email_alternativo__c, String Endereco__c, String Nome_da_mae__c, String Nome_do_pai__c, String Nro__c, String Telefone_da_mae__c, String Telefone_do_pai__c, String PersonOtherPhone, String UF__c, String Situa_o_Avulso__c, String Fotos_Colacao__c, String Fotos_Baile__c, String Fotos_Outros__c, String Panoramicas__c)
--- End of inner exception stack trace --- faultcode=soap:Server faultactor=
Class.SistemaFFServiceClient.FormandosSoap.ProcessaFormando: line 47, column 1
Class.SistemaFF.AtualizarFormando: line 41, column 1
Thanks!
I have a code to update my web service and it works fine.
Today I added another fields and I'm getting an error.
This is the fields I tried to add:
Situa_o_Avulso__c
Fotos_Colacao__c
Fotos_Baile__c
Fotos_Outros__c
Panoramicas__c
Failed to invoke future method 'private static void AtualizarFormando(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String)' on class 'SistemaFF' for job id '707U000000aSJXW'
caused by: System.CalloutException: Web service callout failed: WebService returned a SOAP Fault: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Formandos.ProcessaFormando(String Autorizacao, String ID_do_formando__c, String FirstName, String LastName, String PersonBirthdate, String PersonMobilePhone, String PersonEmail, String PersonHomePhone, String Bairro__c, String Celular_da_mae__c, String Celular_do_pai__c, String Cep__c, String Cidade__c, String Complemento__c, String Email_alternativo__c, String Endereco__c, String Nome_da_mae__c, String Nome_do_pai__c, String Nro__c, String Telefone_da_mae__c, String Telefone_do_pai__c, String PersonOtherPhone, String UF__c, String Situa_o_Avulso__c, String Fotos_Colacao__c, String Fotos_Baile__c, String Fotos_Outros__c, String Panoramicas__c)
--- End of inner exception stack trace --- faultcode=soap:Server faultactor=
Class.SistemaFFServiceClient.FormandosSoap.ProcessaFormando: line 47, column 1
Class.SistemaFF.AtualizarFormando: line 41, column 1
Thanks!
- EvertonSzekeres
- April 08, 2014
- Like
- 1
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
Hi !
When I try to deploy my trigger. I'm getting this error:
Run Failures:
Email_abertura_de_vaga_test.myUnitTest001 System.DmlException: Update failed. First exception on row 0 with id 500U0000009g8I5IAI; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, Email_abertura_de_vaga_case: execution of AfterUpdate
caused by: System.NullPointerException: Attempt to de-reference a null object
My trigger:
trigger Email_abertura_de_vaga_case on Case (after update) {
for(Case c : trigger.new){
if (c.Func_abertura_chamado__c == 'THIAGO MARTINS' && c.motivo__c == 'Abertura de vaga' && c.resposta__c != null){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('thiago.martins@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
...
My test class:
@isTest (seeAllData=true)
public class Email_abertura_de_vaga_test {
static testMethod void myUnitTest001() {
Case ct = new Case();
ct.Func_abertura_chamado__c = 'EVERTON GOMES';
ct.motivo__c='Abertura de vaga';
ct.subject='test';
ct.Description='test test';
ct.Nome_atendimento__c='Asassa';
ct.N_veis__c='Auxiliar';
ct.Meios_de_divulga_o__c='Asdfgh';
ct.Candidatos_agendados__c=15;
ct.Candidatos_avaliados__c=9;
ct.Candidatos_pr_selecionados__c=1;
ct.resposta__c=null;
insert ct;
ct.resposta__c='teste'; ct.Func_abertura_chamado__c = 'THIAGO MARTINS'; ct.motivo__c='Abertura de vaga';
ct.Nome_atendimento__c='Teste';
ct.N_veis__c='Recepcionista';
ct.Meios_de_divulga_o__c='TEste';
ct.Candidatos_agendados__c=12;
ct.Candidatos_avaliados__c=10;
ct.Candidatos_pr_selecionados__c=2;
update ct;
}
When I try to deploy my trigger. I'm getting this error:
Run Failures:
Email_abertura_de_vaga_test.myUnitTest001 System.DmlException: Update failed. First exception on row 0 with id 500U0000009g8I5IAI; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, Email_abertura_de_vaga_case: execution of AfterUpdate
caused by: System.NullPointerException: Attempt to de-reference a null object
My trigger:
trigger Email_abertura_de_vaga_case on Case (after update) {
for(Case c : trigger.new){
if (c.Func_abertura_chamado__c == 'THIAGO MARTINS' && c.motivo__c == 'Abertura de vaga' && c.resposta__c != null){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('thiago.martins@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
...
My test class:
@isTest (seeAllData=true)
public class Email_abertura_de_vaga_test {
static testMethod void myUnitTest001() {
Case ct = new Case();
ct.Func_abertura_chamado__c = 'EVERTON GOMES';
ct.motivo__c='Abertura de vaga';
ct.subject='test';
ct.Description='test test';
ct.Nome_atendimento__c='Asassa';
ct.N_veis__c='Auxiliar';
ct.Meios_de_divulga_o__c='Asdfgh';
ct.Candidatos_agendados__c=15;
ct.Candidatos_avaliados__c=9;
ct.Candidatos_pr_selecionados__c=1;
ct.resposta__c=null;
insert ct;
ct.resposta__c='teste'; ct.Func_abertura_chamado__c = 'THIAGO MARTINS'; ct.motivo__c='Abertura de vaga';
ct.Nome_atendimento__c='Teste';
ct.N_veis__c='Recepcionista';
ct.Meios_de_divulga_o__c='TEste';
ct.Candidatos_agendados__c=12;
ct.Candidatos_avaliados__c=10;
ct.Candidatos_pr_selecionados__c=2;
update ct;
}
- EvertonSzekeres
- March 24, 2014
- Like
- 0
Test Class E-mail
Hi,
I have this trigger:
trigger Email_aberutra_de_vaga_case on Case (after update) {
for(Case c : trigger.new){
if (c.motivo__c == 'Abertura de vaga' && c.Func_abertura_chamado__c == 'THIAGO MARTINS' && c.Status == 'Fechado'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('thiago.martins@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
if (c.motivo__c == 'Abertura de vaga' && c.Func_abertura_chamado__c == 'LEONARDO MENDONÇA' && c.Status == 'Fechado'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('leonardo.mendonca@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
if (c.motivo__c == 'Abertura de vaga' && c.Func_abertura_chamado__c == 'WANESSA PRADO' && c.Status == 'Fechado'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('wanessa.prado@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
....
And my test class in sandbox shows me 90%.
But when I will deploy in my production I get 71%.
@isTest (seeAllData=true)
public class Email_abertura_de_vaga_test {
static testMethod void myUnitTest001() {
Case ct = new Case ();
ct.Func_abertura_chamado__c = 'THIAGO MARTINS';
ct.motivo__c='Abertura de vaga';
ct.subject='test';
ct.Description='test test';
ct.status='Fechado';
insert ct;
}
static testMethod void myUnitTest002() {
Case cl = new Case ();
cl.Func_abertura_chamado__c = 'LEONARDO MENDONÇA';
cl.motivo__c='Abertura de vaga';
cl.subject='test';
cl.Description='test test';
cl.status='Fechado';
insert cl;
}
static testMethod void myUnitTest003() {
Case ca = new Case ();
ca.Func_abertura_chamado__c = 'WANESSA PRADO';
ca.motivo__c='Abertura de vaga';
ca.subject='test';
ca.Description='test test';
ca.status='Fechado';
insert ca;
}
...
I have this trigger:
trigger Email_aberutra_de_vaga_case on Case (after update) {
for(Case c : trigger.new){
if (c.motivo__c == 'Abertura de vaga' && c.Func_abertura_chamado__c == 'THIAGO MARTINS' && c.Status == 'Fechado'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('thiago.martins@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
if (c.motivo__c == 'Abertura de vaga' && c.Func_abertura_chamado__c == 'LEONARDO MENDONÇA' && c.Status == 'Fechado'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('leonardo.mendonca@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
if (c.motivo__c == 'Abertura de vaga' && c.Func_abertura_chamado__c == 'WANESSA PRADO' && c.Status == 'Fechado'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('wanessa.prado@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
....
And my test class in sandbox shows me 90%.
But when I will deploy in my production I get 71%.
@isTest (seeAllData=true)
public class Email_abertura_de_vaga_test {
static testMethod void myUnitTest001() {
Case ct = new Case ();
ct.Func_abertura_chamado__c = 'THIAGO MARTINS';
ct.motivo__c='Abertura de vaga';
ct.subject='test';
ct.Description='test test';
ct.status='Fechado';
insert ct;
}
static testMethod void myUnitTest002() {
Case cl = new Case ();
cl.Func_abertura_chamado__c = 'LEONARDO MENDONÇA';
cl.motivo__c='Abertura de vaga';
cl.subject='test';
cl.Description='test test';
cl.status='Fechado';
insert cl;
}
static testMethod void myUnitTest003() {
Case ca = new Case ();
ca.Func_abertura_chamado__c = 'WANESSA PRADO';
ca.motivo__c='Abertura de vaga';
ca.subject='test';
ca.Description='test test';
ca.status='Fechado';
insert ca;
}
...
- EvertonSzekeres
- March 12, 2014
- Like
- 0
Update +1
Hi,
There's a way to update a number custom field always increasing one more.
I want this field updated always when someone change any field in my case.
So I will put an IF in LastModifiedBy when is updated.
Thanks !
There's a way to update a number custom field always increasing one more.
I want this field updated always when someone change any field in my case.
So I will put an IF in LastModifiedBy when is updated.
Thanks !
- EvertonSzekeres
- February 13, 2014
- Like
- 0
Schedule one e-mail per month
Hi there,
I'm trying to create a schedule e-mail to send in a determinate e-mail field in my task if this task is still opened after a few days.
I don't even know how to begin create this code.
Any help will be great.
Thanks !
I'm trying to create a schedule e-mail to send in a determinate e-mail field in my task if this task is still opened after a few days.
I don't even know how to begin create this code.
Any help will be great.
Thanks !
- EvertonSzekeres
- February 06, 2014
- Like
- 0
Too many email invocations: 11
I'm trying do deploy one trigger and one test class:
trigger DeleteTask_Solicitacao_Pagamento on Case (after update){
Set <id> ids = new Set <id> ();
for (Case c: trigger.new){
if (c.motivo__c == 'Solicitação de Pagamento' && c.status <> 'Fechado'){
ids.add(c.id);
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'DESPESAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c, ownerid FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'TURMAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c < 1 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c < 1 || c.Quantidade_de_PP_s_Estojo__c == null) || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Lançar PP' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'TURMAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'DESPESAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Nota_fiscal__c != 'SIM' || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c == 'MALOTE' || c.forma_de_pagamento__c == 'DEPÓSITO + MALOTE') && c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c != 'MALOTE' && c.forma_de_pagamento__c != 'DEPÓSITO + MALOTE') || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicitar_PP__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = false;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c != 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = false;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE (subject = 'Solicitação de Pagamento - Aprovar solicitação' OR subject = 'Solicitação de Pagamento - Não aprovada') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
}
I got this error message:
"Failure Message: "System.LimitException: Too many Email Invocations: 11", Failure Stack Trace: "Trigger.Email_SolicitacaoExt_Pag2: line 129, column 1"
trigger DeleteTask_Solicitacao_Pagamento on Case (after update){
Set <id> ids = new Set <id> ();
for (Case c: trigger.new){
if (c.motivo__c == 'Solicitação de Pagamento' && c.status <> 'Fechado'){
ids.add(c.id);
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'DESPESAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c, ownerid FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'TURMAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c < 1 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c < 1 || c.Quantidade_de_PP_s_Estojo__c == null) || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Lançar PP' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'TURMAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'DESPESAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Nota_fiscal__c != 'SIM' || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c == 'MALOTE' || c.forma_de_pagamento__c == 'DEPÓSITO + MALOTE') && c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c != 'MALOTE' && c.forma_de_pagamento__c != 'DEPÓSITO + MALOTE') || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicitar_PP__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = false;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c != 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = false;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE (subject = 'Solicitação de Pagamento - Aprovar solicitação' OR subject = 'Solicitação de Pagamento - Não aprovada') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
}
I got this error message:
"Failure Message: "System.LimitException: Too many Email Invocations: 11", Failure Stack Trace: "Trigger.Email_SolicitacaoExt_Pag2: line 129, column 1"
- EvertonSzekeres
- December 26, 2013
- Like
- 0
Date to string one day less
Hi,
I converted my date field in string, so I can updated my other field in account.
for (Account acc: [SELECT Id, Data_pedido_AR__c, Data_pedido_SA__c FROM Account WHERE id IN: ids]){
for (Case c: trigger.new) {
if(c.motivo__c == 'Formandos AR' && c.Data_pedido_AR__c != null && Trigger.oldMap.get(c.id).Data_pedido_AR__c != c.Data_pedido_AR__c){
Datetime d = Date.Valueof(c.Data_pedido_AR__c);
String dateStr = d.format('dd/MM/yyyy');
System.debug('::::::::::: ' + dateStr) ;
acc.Data_pedido_AR__c = dateStr;
}
update acc;
It works fine but in my account my field is one day less.
If I put c.Data_pedido_AR__c = 20/05/2014
I get acc.Data_pedido_AR__c = 19/05/2014
Why?
I converted my date field in string, so I can updated my other field in account.
for (Account acc: [SELECT Id, Data_pedido_AR__c, Data_pedido_SA__c FROM Account WHERE id IN: ids]){
for (Case c: trigger.new) {
if(c.motivo__c == 'Formandos AR' && c.Data_pedido_AR__c != null && Trigger.oldMap.get(c.id).Data_pedido_AR__c != c.Data_pedido_AR__c){
Datetime d = Date.Valueof(c.Data_pedido_AR__c);
String dateStr = d.format('dd/MM/yyyy');
System.debug('::::::::::: ' + dateStr) ;
acc.Data_pedido_AR__c = dateStr;
}
update acc;
It works fine but in my account my field is one day less.
If I put c.Data_pedido_AR__c = 20/05/2014
I get acc.Data_pedido_AR__c = 19/05/2014
Why?
- EvertonSzekeres
- May 20, 2014
- Like
- 1
Salesforce to webservice
Hello !
I have a code to update my web service and it works fine.
Today I added another fields and I'm getting an error.
This is the fields I tried to add:
Situa_o_Avulso__c
Fotos_Colacao__c
Fotos_Baile__c
Fotos_Outros__c
Panoramicas__c
Failed to invoke future method 'private static void AtualizarFormando(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String)' on class 'SistemaFF' for job id '707U000000aSJXW'
caused by: System.CalloutException: Web service callout failed: WebService returned a SOAP Fault: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Formandos.ProcessaFormando(String Autorizacao, String ID_do_formando__c, String FirstName, String LastName, String PersonBirthdate, String PersonMobilePhone, String PersonEmail, String PersonHomePhone, String Bairro__c, String Celular_da_mae__c, String Celular_do_pai__c, String Cep__c, String Cidade__c, String Complemento__c, String Email_alternativo__c, String Endereco__c, String Nome_da_mae__c, String Nome_do_pai__c, String Nro__c, String Telefone_da_mae__c, String Telefone_do_pai__c, String PersonOtherPhone, String UF__c, String Situa_o_Avulso__c, String Fotos_Colacao__c, String Fotos_Baile__c, String Fotos_Outros__c, String Panoramicas__c)
--- End of inner exception stack trace --- faultcode=soap:Server faultactor=
Class.SistemaFFServiceClient.FormandosSoap.ProcessaFormando: line 47, column 1
Class.SistemaFF.AtualizarFormando: line 41, column 1
Thanks!
I have a code to update my web service and it works fine.
Today I added another fields and I'm getting an error.
This is the fields I tried to add:
Situa_o_Avulso__c
Fotos_Colacao__c
Fotos_Baile__c
Fotos_Outros__c
Panoramicas__c
Failed to invoke future method 'private static void AtualizarFormando(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String)' on class 'SistemaFF' for job id '707U000000aSJXW'
caused by: System.CalloutException: Web service callout failed: WebService returned a SOAP Fault: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Formandos.ProcessaFormando(String Autorizacao, String ID_do_formando__c, String FirstName, String LastName, String PersonBirthdate, String PersonMobilePhone, String PersonEmail, String PersonHomePhone, String Bairro__c, String Celular_da_mae__c, String Celular_do_pai__c, String Cep__c, String Cidade__c, String Complemento__c, String Email_alternativo__c, String Endereco__c, String Nome_da_mae__c, String Nome_do_pai__c, String Nro__c, String Telefone_da_mae__c, String Telefone_do_pai__c, String PersonOtherPhone, String UF__c, String Situa_o_Avulso__c, String Fotos_Colacao__c, String Fotos_Baile__c, String Fotos_Outros__c, String Panoramicas__c)
--- End of inner exception stack trace --- faultcode=soap:Server faultactor=
Class.SistemaFFServiceClient.FormandosSoap.ProcessaFormando: line 47, column 1
Class.SistemaFF.AtualizarFormando: line 41, column 1
Thanks!
- EvertonSzekeres
- April 08, 2014
- Like
- 1
Writing test class
Can you guys help me to write a test class?
My trigger:
I tried create the test class, but it stops to coverage in line 14 of my trigger so I stoped to continue in my test class. I got 52%:
Thanks !
My trigger:
trigger Atualizar_Fotosfaltantes_AR_case on Account (after update) { public List<Case> casesToUpdate = new List<Case>(); public List<Task> tasksToUpdate = new List<Task>(); public Set <id> ids = new Set <id> (); for (Account acc: trigger.new) { if (acc.antecipado__c == 'AR' || acc.antecipado__c == 'TES' || acc.Nome_do_produto_adquirido__c.contains('AR ')){ ids.add(acc.id); } if(ids.size()>0){ For(Case c : [SELECT Id, motivo__c, Formando_com_fotos__c, accountid FROM Case WHERE (motivo__c = 'Formandos AR' OR motivo__c = 'Fotos faltantes') AND accountId IN: ids]){ For(Task t : [SELECT Id, subject, status FROM Task WHERE (subject = 'AR - Aguardando fotos faltantes' OR subject = 'AR - LuxColor - Aguardando fotos faltantes') AND status != 'Concluído' AND whatid =: c.id]){ if((acc.Formando_com_novas_fotos__c == 'SIM' || acc.Formando_com_novas_fotos__c == 'NÃO') && c.motivo__c == 'Formandos AR'){ c.Formando_com_fotos__c = acc.Formando_com_novas_fotos__c; } if((acc.Formando_com_novas_fotos__c == 'SIM' || acc.Formando_com_novas_fotos__c == 'NÃO') && c.motivo__c == 'Formandos AR'){ t.status = 'Concluído'; } if((acc.Formando_com_novas_fotos__c == 'FOTOS RECEBIDAS' || acc.Formando_com_novas_fotos__c == 'ENVIAR NOVAMENTE') && c.motivo__c == 'Fotos faltantes'){ c.Formando_com_fotos__c = acc.Formando_com_novas_fotos__c; } casesToUpdate.add(c); tasksToUpdate.add(t); } } } } update casesToUpdate; update taskstoupdate; }
I tried create the test class, but it stops to coverage in line 14 of my trigger so I stoped to continue in my test class. I got 52%:
@isTest(SeeAllData=true) public class FotosFaltantes_AR_test{ static testmethod void MyUnitTest001(){ Account acc = new Account(); acc.LastName = 'Account Avulso'; acc.recordtypeid = '012U00000000vYx'; acc.Antecipado__c = 'AR'; acc.Formando_com_novas_fotos__c = null; insert acc; Test.startTest(); acc.Formando_com_novas_fotos__c = 'SIM'; update acc; Test.stopTest(); Case c = new Case(); c.motivo__c = 'Formandos AR'; c.Formando_com_fotos__c = null; c.status = 'Novo'; c.AccountId = acc.id; insert c; Task t = new Task(); t.Subject = 'AR - Aguardando fotos faltantes'; t.Status = 'Nenhum'; t.WhatId = c.id; insert t; List<Case> cases = [SELECT Formando_com_fotos__c FROM Case WHERE Id =:c.Id]; System.assertEquals(acc.Formando_com_novas_fotos__c, cases[0].Formando_com_fotos__c); } }
Thanks !
- EvertonSzekeres
- September 12, 2014
- Like
- 0
Schedule email
Hi,
I'm trying to send an email scheduling by a date field in my task:
I had scheduled, but I didn't receive the email.
Probably my code is wrong, it is my first time scheduling.
What should I do?
Thanks !
I'm trying to send an email scheduling by a date field in my task:
global class Email_agendado_Impressao implements Schedulable { global void execute(SchedulableContext sc) { for (Task t: [select Id, E_mail__c, Data_do_pedido__c from Task where subject = 'Fotos faltantes - Envio de Backup']){ if (t.Data_do_pedido__c == system.today()){ Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; toAddresses.add(t.e_mail__c); mail.setToAddresses(toAddresses); mail.setSenderDisplayName('Test email'); mail.setSubject('Test Schedule'); mail.setPlainTextBody('Test email'); } } } }
I had scheduled, but I didn't receive the email.
Probably my code is wrong, it is my first time scheduling.
What should I do?
Thanks !
- EvertonSzekeres
- August 15, 2014
- Like
- 0
Test class tasks closed
I'm trying to make my test class understand that all the tasks are closed.
The problem is it in "LIMIT 1" but if I remove "LIMIT 1" I get this:
System.QueryException: List has more than 1 row for assignment to SObject
Stack Trace: Class.Email_abertura_de_vaga_test.myUnitTest001: line 23, column 1
This is my class:
The problem is it in "LIMIT 1" but if I remove "LIMIT 1" I get this:
System.QueryException: List has more than 1 row for assignment to SObject
Stack Trace: Class.Email_abertura_de_vaga_test.myUnitTest001: line 23, column 1
This is my class:
@isTest (seeAllData=true) public class Email_abertura_de_vaga_test { static testMethod void myUnitTest001() { User u = [select id, Name from User where Name='CP7 Marketing']; Case ct = new Case(); ct.Func_abertura_chamado__c = 'EVERTON GOMES'; ct.motivo__c='Abertura de vaga'; ct.subject='test'; ct.Description='test test'; ct.resposta__c=null; ct.Nome_atendimento__c=null; ct.N_veis__c=null; ct.Meios_de_divulga_o__c=null; ct.Candidatos_agendados__c=null; ct.Candidatos_avaliados__c=null; ct.Candidatos_pr_selecionados__c=null; ct.status = 'Novo'; insert ct; Task t = [select id, whatid from Task where isClosed=true LIMIT 1]; ct.status = 'Fechado'; ct.status_do_processo__c = null; ct.id = t.whatid; ct.Func_abertura_chamado__c = 'THIAGO MARTINS'; ct.Nome_atendimento__c='Teste'; ct.N_veis__c='Recepcionista'; ct.Meios_de_divulga_o__c='TEste'; ct.Candidatos_agendados__c=12; ct.Candidatos_avaliados__c=10; ct.Candidatos_pr_selecionados__c=2; ct.In_cio__c= Date.today(); ct.resposta__c='teste'; update ct; }
- EvertonSzekeres
- July 25, 2014
- Like
- 0
addError "FIELD_CUSTOM_VALIDATION_EXCEPTION"
I'm trying to deploy this trigger:
I don't want to close my cases with tasks opened.
It works fine, but when I will deploy I get this error message "Failure Message: "System.DmlException: Update failed. First exception on row 0 with id 500U0000009hsErIAI; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Você não pode fechar um chamado com tarefas abertas. "Abertura de vaga - Aprovar vaga" está aberta. Verificar com CP7 Diretoria: []", Failure Stack Trace: "Class.Email_abertur..."
I thought is because I have this another trigger:
I found the problem, but I don't have any idea what I have to do to deploy my trigger "NaoFechaChamado".
trigger NaoFechaChamado on Case (after update) { Set <id> ids = new Set <id> (); for (Case c: trigger.new){ if (c.status=='Fechado'){ ids.add(c.id); } } for (Case c: trigger.new) { if(ids.size()>0){ for(Task t : [SELECT Id, WhatId, owner.name, subject FROM Task WHERE isclosed=false AND (Not subject like '%Fech%') AND whatid IN: ids]){ if(c.status_do_processo__c != 'Extinto'){ c.addError('Você não pode fechar um chamado com tarefas abertas. "'+t.subject+'" está aberta. Verificar com '+t.owner.name+''); } } } if(ids.size()>0){ for(Task t : [SELECT Id, WhatId, owner.name, subject FROM Task WHERE isclosed=false AND (subject like '%Fech%') AND whatid IN: ids]){ if(c.status_do_processo__c != 'Extinto'){ t.status = 'Concluído'; update t; } } } } }
I don't want to close my cases with tasks opened.
It works fine, but when I will deploy I get this error message "Failure Message: "System.DmlException: Update failed. First exception on row 0 with id 500U0000009hsErIAI; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Você não pode fechar um chamado com tarefas abertas. "Abertura de vaga - Aprovar vaga" está aberta. Verificar com CP7 Diretoria: []", Failure Stack Trace: "Class.Email_abertur..."
@isTest (seeAllData=true) public class Email_abertura_de_vaga_test { static testMethod void myUnitTest001() { Case ca = new Case (); ca.Func_abertura_chamado__c = 'EVERTON GOMES'; ca.motivo__c='Abertura de vaga'; ca.subject='test'; ca.Description='test test'; ca.resposta__c=null; ca.Nome_atendimento__c='Asassa'; ca.N_veis__c='Auxiliar'; ca.Meios_de_divulga_o__c='Asdfgh'; ca.Candidatos_agendados__c=15; ca.Candidatos_avaliados__c=9; ca.Candidatos_pr_selecionados__c=1; insert ca; ca.resposta__c='teste'; ca.Func_abertura_chamado__c = 'ALAN BRONER'; ca.motivo__c='Abertura de vaga'; ca.Nome_atendimento__c='Teste'; ca.N_veis__c='Recepcionista'; ca.Meios_de_divulga_o__c='TEste'; ca.Candidatos_agendados__c=12; ca.Candidatos_avaliados__c=10; ca.Candidatos_pr_selecionados__c=2; ca.In_cio__c= Date.today(); update ca; } }
I thought is because I have this another trigger:
trigger CriarTarefaCase_Abertura_de_vaga on Case (after insert) { List<Task> tasks = new List<Task>(); List<Case> cse = Trigger.new; for (Case c : cse){ if (c.motivo__c == 'Abertura de vaga' && c.status != 'Fechado'){ Task tsk = new Task (whatID = c.ID, Subject = 'Abertura de vaga - Aprovar vaga', ActivityDate = Date.today(), Ownerid = '005U0000000FDE9'); tasks.add(tsk); } } insert tasks; }
I found the problem, but I don't have any idea what I have to do to deploy my trigger "NaoFechaChamado".
- EvertonSzekeres
- June 27, 2014
- Like
- 0
How to identify which test class is bringing 74%
Hi,
I can't deploy anything in my organization because I always get 74%.
I read in some topics that maybe I have a test class that have 0% coverage or some other issue.
I executed all my test class and the first test class I've encountered an issue is bringing me 100% coverage in 2 of my triggers:
When I execute I get this error:
Methods defined as TestMethod do not support Web service callouts, test skipped
I can't deploy anything in my organization because I always get 74%.
I read in some topics that maybe I have a test class that have 0% coverage or some other issue.
I executed all my test class and the first test class I've encountered an issue is bringing me 100% coverage in 2 of my triggers:
@istest(seealldata=true) public class AtualizarProduto_adquirido_deleteSA_test{ static testmethod void unittest(){ Account acc=new Account(); acc.FirstName = 'Tste'; acc.LastName = 'Teste'; acc.ID_do_formando__c = 'CP7_0000_000001'; acc.Turma__c = 'a06U0000006GuHc'; acc.Nome_do_produto_adquirido__c = 'SUPER ÁLBUM'; acc.Data_da_venda_SA__c = Date.today(); acc.Situacao__c = 'VENDA APROVADA'; acc.pesquisa_de_mercado__c = '1 - Pesquisa Satisfação B2'; acc.antecipado__c = null; insert acc; Asset a=new Asset(); a.name = 'SUPER ÁLBUM'; a.Price = 1000; a.Parcelas__c = 10; a.data_do_contrato__c = date.today(); a.accountId = acc.id; a.quantity = 0; insert a; a.Status = 'Cancelado'; update a; acc.Nome_do_produto_adquirido__c = null; acc.Data_da_venda_SA__c = null; update acc; } }
When I execute I get this error:
Methods defined as TestMethod do not support Web service callouts, test skipped
- EvertonSzekeres
- June 16, 2014
- Like
- 0
Test Class for email trigger
Hi,
I am having difficulty when trying to create the test class for my trigger:
Thanks !
I am having difficulty when trying to create the test class for my trigger:
trigger Email_Pesquisa_Mercado_account on Account (after update) { Map<Id,Account> accountMap = new Map<Id,Account>([Select Id, Name, (Select Id,Name,Price,Parcelas__c,Data_do_contrato__c,quantity,status from Assets where quantity>0 AND Data_do_contrato__c != null AND (NOT name like 'AR -%')) from Account Where recordtypeid='012U00000000vYx' AND Id in : Trigger.New]); for(Account Ac : Trigger.New){ String AssetName; Decimal ValorVenda; Decimal Parcelas; Date DataContrato; String SemEmail; String SemEmailprincipal; String Situacao; Situacao = ac.Situacao__c; if(Situacao.contains('APROVADA') && Trigger.oldMap.get(ac.id).pesquisa_de_mercado__c != ac.pesquisa_de_mercado__c && ac.pesquisa_de_mercado__c == '1 - Pesquisa Satisfação B2' && ac.antecipado__c != 'AR' && ac.antecipado__c != 'TES' && (ac.turma__c == '2013 2S - UNISA - MEDICINA - SAO PAULO' || ac.turma__c == '2013 2S - FAAP - ENG,ARQ,ECON,REL INT,S IN - SAO PAULO' || ac.turma__c == '2013 2S - UNICID - ODONTOLOGIA - SAO PAULO')){ if(accountMap.get(Ac.Id).Assets.size() > 0){ for(Asset obj : accountMap.get(Ac.Id).Assets){ if(obj.name != null){ if(AssetName==null){ AssetName = obj.Name; } else{ AssetName = AssetName + '<br> ' + ''+obj.Name+''; } ValorVenda = obj.Price; Parcelas = obj.Parcelas__c; DataContrato = obj.Data_do_contrato__c.addDays(90); } } Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; if(ac.PersonEmail == null){ SemEmailprincipal = 'sememail@b2agencia.com.br'; } if(ac.PersonEmail != null){ SemEmailprincipal = ac.PersonEmail; } toAddresses.add(SemEmailprincipal); if(ac.Email_alternativo__c == null ){ SemEmail = 'sememail@b2agencia.com.br'; } if(ac.Email_alternativo__c != null){ SemEmail = ac.Email_alternativo__c; } toAddresses.add(SemEmail); mail.setToAddresses(toAddresses); mail.setreplyto('foto.filmagem@b2agencia.com.br'); mail.setSenderDisplayName('B2 Agência'); mail.setSubject('B2 Foto e Filmagem: Seu álbum de formatura'); mail.setHtmlBody('Olá, '+ac.FirstName+' '+ac.LastName+'<p>Primeiramente gostaríamos de parabenizá-lo pela conquista da sua formatura, sabemos que é um grande marco para o início da sua vida profissional. Desejamos que você tenha muito sucesso em sua caminhada!<p>Para guardar todas essas recordações, você efetuou a compra dos produtos abaixo:<p>'+AssetName+'<p>O valor total da sua compra é de R$ '+ValorVenda+', parcelado em '+Parcelas+' vezes.<p>Os produtos extras serão entregues até o dia '+DataContrato.day()+'/'+DataContrato.month()+'/'+DataContrato.year()+', no '+ac.Cidade__c+' - RUA '+ac.Endereco__c+', '+ac.Nro__c+'<p>O envio dos mesmos é feito pelo correio, que faz 3 tentativas de entrega. Caso o correio não consiga efetuar a entrega nas 3 tentativas, o produto volta para o escritório e vamos aguardar o seu contato nos informando um novo endereço de entrega.<p><font color="#EE7600"><b>PREOCUPADO COM A SATISFAÇÃO DE NOSSOS CLIENTES, BUSCAMOS PROMOVER MELHORIAS CONTÍNUAS EM NOSSOS SERVIÇOS E PRODUTOS, PARA ISSO, A SUA OPINIÃO É MUITO IMPORTANTE!<p>TIRE 2 MINUTINHOS DO SEU DIA PARA RESPONDER À NOSSA PESQUISA DE SATISFAÇÃO</font></b> <a href=http://sistemaff.force.com/B2/TIMBASURVEYS__Survey?id=a0UU0000005UKnaMAG&pAccId='+ac.id+'&wf=yes><font color="#458B00"><b>CLICANDO AQUI</b></font></a>.</p><br>Obrigado!<br><a href=http://sistemaff.force.com/B2/TIMBASURVEYS__Survey?id=a0UU0000005UKnaMAG&pAccId='+ac.id+'&wf=yes><img src="https://na12.salesforce.com/servlet/servlet.ImageServer?id=015U0000002G2fd&oid=00DU0000000KBJn" alt="B2"/>'); Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail}); } } } }Any help will be great !
Thanks !
- EvertonSzekeres
- June 11, 2014
- Like
- 0
Bring all assets
Hi,
I am trying send and email that will bring me all the assets from account.
In this trigger I only get the last asset created and not all the list.
Thanks !
I am trying send and email that will bring me all the assets from account.
Set <id> ids = new Set <id> (); for (Account acc: trigger.new) { ids.add(acc.id); } for (Asset ast: [SELECT Id, Name, Quantity FROM Asset WHERE Quantity>0 AND accountid IN: ids]){ for(Account acc : trigger.new){ if(acc.separador__c == 'pesquisa'){ Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[]{}; toAddresses.add(acc.PersonEmail); toAddresses.add(acc.Email_alternativo__c); mail.setToAddresses(toAddresses); mail.setreplyto('naoresponda@cp7.com.br'); mail.setSubject('Pesquisa'); mail.setHtmlBody('Olá, '+acc.FirstName+''+acc.LastName+'<p>'+ast.Name+'</p>');
In this trigger I only get the last asset created and not all the list.
Thanks !
- EvertonSzekeres
- May 23, 2014
- Like
- 0
Date to string one day less
Hi,
I converted my date field in string, so I can updated my other field in account.
for (Account acc: [SELECT Id, Data_pedido_AR__c, Data_pedido_SA__c FROM Account WHERE id IN: ids]){
for (Case c: trigger.new) {
if(c.motivo__c == 'Formandos AR' && c.Data_pedido_AR__c != null && Trigger.oldMap.get(c.id).Data_pedido_AR__c != c.Data_pedido_AR__c){
Datetime d = Date.Valueof(c.Data_pedido_AR__c);
String dateStr = d.format('dd/MM/yyyy');
System.debug('::::::::::: ' + dateStr) ;
acc.Data_pedido_AR__c = dateStr;
}
update acc;
It works fine but in my account my field is one day less.
If I put c.Data_pedido_AR__c = 20/05/2014
I get acc.Data_pedido_AR__c = 19/05/2014
Why?
I converted my date field in string, so I can updated my other field in account.
for (Account acc: [SELECT Id, Data_pedido_AR__c, Data_pedido_SA__c FROM Account WHERE id IN: ids]){
for (Case c: trigger.new) {
if(c.motivo__c == 'Formandos AR' && c.Data_pedido_AR__c != null && Trigger.oldMap.get(c.id).Data_pedido_AR__c != c.Data_pedido_AR__c){
Datetime d = Date.Valueof(c.Data_pedido_AR__c);
String dateStr = d.format('dd/MM/yyyy');
System.debug('::::::::::: ' + dateStr) ;
acc.Data_pedido_AR__c = dateStr;
}
update acc;
It works fine but in my account my field is one day less.
If I put c.Data_pedido_AR__c = 20/05/2014
I get acc.Data_pedido_AR__c = 19/05/2014
Why?
- EvertonSzekeres
- May 20, 2014
- Like
- 1
Duration Field
How can I create a duration field?
It will work like the field on the report.
But I want different types of dates.
I updated one custom date field in case when one of my tasks is completed.
And I want the duration between this custom date field and the closed date.
Thanks !
It will work like the field on the report.
But I want different types of dates.
I updated one custom date field in case when one of my tasks is completed.
And I want the duration between this custom date field and the closed date.
Thanks !
- EvertonSzekeres
- April 29, 2014
- Like
- 0
Test class for trigger with delete
Hi !
I have this trigger
trigger DeletarProdutos_Qtd0 on Asset (after update) {
for(Asset ast:[SELECT quantity FROM Asset WHERE quantity = 0])
delete ast;
}
I don't know if this trigger have something wrong, but in my sandbox worked.
I'm facing trouble with the test class.
I tried this:
@isTest (Seealldata=true)
private class DeletarProdutos_Qtd0_test {
static testMethod void myUnitTest() {
Account acc = new Account(firstname='Teste', lastname='Test');
insert acc;
Asset ass = new Asset();
ass.name = 'SUPER ÁLBUM';
ass.quantity = 0;
ass.accountid = acc.id;
insert ass;
ass.quantity = 0;
ass.accountid = acc.id;
delete ass;
}
}
Thanks!
I have this trigger
trigger DeletarProdutos_Qtd0 on Asset (after update) {
for(Asset ast:[SELECT quantity FROM Asset WHERE quantity = 0])
delete ast;
}
I don't know if this trigger have something wrong, but in my sandbox worked.
I'm facing trouble with the test class.
I tried this:
@isTest (Seealldata=true)
private class DeletarProdutos_Qtd0_test {
static testMethod void myUnitTest() {
Account acc = new Account(firstname='Teste', lastname='Test');
insert acc;
Asset ass = new Asset();
ass.name = 'SUPER ÁLBUM';
ass.quantity = 0;
ass.accountid = acc.id;
insert ass;
ass.quantity = 0;
ass.accountid = acc.id;
delete ass;
}
}
Thanks!
- EvertonSzekeres
- April 16, 2014
- Like
- 0
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
Hi !
When I try to deploy my trigger. I'm getting this error:
Run Failures:
Email_abertura_de_vaga_test.myUnitTest001 System.DmlException: Update failed. First exception on row 0 with id 500U0000009g8I5IAI; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, Email_abertura_de_vaga_case: execution of AfterUpdate
caused by: System.NullPointerException: Attempt to de-reference a null object
My trigger:
trigger Email_abertura_de_vaga_case on Case (after update) {
for(Case c : trigger.new){
if (c.Func_abertura_chamado__c == 'THIAGO MARTINS' && c.motivo__c == 'Abertura de vaga' && c.resposta__c != null){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('thiago.martins@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
...
My test class:
@isTest (seeAllData=true)
public class Email_abertura_de_vaga_test {
static testMethod void myUnitTest001() {
Case ct = new Case();
ct.Func_abertura_chamado__c = 'EVERTON GOMES';
ct.motivo__c='Abertura de vaga';
ct.subject='test';
ct.Description='test test';
ct.Nome_atendimento__c='Asassa';
ct.N_veis__c='Auxiliar';
ct.Meios_de_divulga_o__c='Asdfgh';
ct.Candidatos_agendados__c=15;
ct.Candidatos_avaliados__c=9;
ct.Candidatos_pr_selecionados__c=1;
ct.resposta__c=null;
insert ct;
ct.resposta__c='teste'; ct.Func_abertura_chamado__c = 'THIAGO MARTINS'; ct.motivo__c='Abertura de vaga';
ct.Nome_atendimento__c='Teste';
ct.N_veis__c='Recepcionista';
ct.Meios_de_divulga_o__c='TEste';
ct.Candidatos_agendados__c=12;
ct.Candidatos_avaliados__c=10;
ct.Candidatos_pr_selecionados__c=2;
update ct;
}
When I try to deploy my trigger. I'm getting this error:
Run Failures:
Email_abertura_de_vaga_test.myUnitTest001 System.DmlException: Update failed. First exception on row 0 with id 500U0000009g8I5IAI; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, Email_abertura_de_vaga_case: execution of AfterUpdate
caused by: System.NullPointerException: Attempt to de-reference a null object
My trigger:
trigger Email_abertura_de_vaga_case on Case (after update) {
for(Case c : trigger.new){
if (c.Func_abertura_chamado__c == 'THIAGO MARTINS' && c.motivo__c == 'Abertura de vaga' && c.resposta__c != null){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{};
toAddresses.add('thiago.martins@cp7.com.br');
mail.setToAddresses(toAddresses);
mail.setSenderDisplayName('Vaga finalizada');
mail.setreplyto ('alessandra.gomes@cp7.com.br');
mail.setSubject(''+c.Nome_atendimento__c+'');
mail.setHtmlBody('Olá, tudo bem '+c.Func_abertura_chamado__c+'?<p>Segue informações de seu novo funcinário:</p><p><b>Vaga:</b> '+c.N_veis__c+'</p><p><b>Solicitante da vaga:</b> '+c.Func_abertura_chamado__c+'</p><p><b>Data de abertura da vaga:</b> '+c.CreatedDate.day()+'/'+c.CreatedDate.month()+'/'+c.CreatedDate.year()+'</p><p><b>Meios de divulgação:</b> '+c.Meios_de_divulga_o__c+'</p><p><b>Número de candidatos agendados:</b> '+c.Candidatos_agendados__c+'</p><p><b>Número de candidatos avaliados:</b> '+c.Candidatos_avaliados__c+'</p><p><b>Número de candidatos pré-selecionados:</b> '+c.Candidatos_pr_selecionados__c+'</p><p><b>Data de fechamento:</b> '+c.ClosedDate.day()+'/'+c.ClosedDate.month()+'/'+c.ClosedDate.year()+'</p><p><b>Candidato contatado:</b> '+c.Nome_atendimento__c+'</p><p><b>Data de início:</b> '+c.In_cio__c.day()+'/'+c.In_cio__c.month()+'/'+c.In_cio__c.year()+'</p><p><b>Observações:</b> '+c.resposta__c+'</p>');
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
}
...
My test class:
@isTest (seeAllData=true)
public class Email_abertura_de_vaga_test {
static testMethod void myUnitTest001() {
Case ct = new Case();
ct.Func_abertura_chamado__c = 'EVERTON GOMES';
ct.motivo__c='Abertura de vaga';
ct.subject='test';
ct.Description='test test';
ct.Nome_atendimento__c='Asassa';
ct.N_veis__c='Auxiliar';
ct.Meios_de_divulga_o__c='Asdfgh';
ct.Candidatos_agendados__c=15;
ct.Candidatos_avaliados__c=9;
ct.Candidatos_pr_selecionados__c=1;
ct.resposta__c=null;
insert ct;
ct.resposta__c='teste'; ct.Func_abertura_chamado__c = 'THIAGO MARTINS'; ct.motivo__c='Abertura de vaga';
ct.Nome_atendimento__c='Teste';
ct.N_veis__c='Recepcionista';
ct.Meios_de_divulga_o__c='TEste';
ct.Candidatos_agendados__c=12;
ct.Candidatos_avaliados__c=10;
ct.Candidatos_pr_selecionados__c=2;
update ct;
}
- EvertonSzekeres
- March 24, 2014
- Like
- 0
Schedule one e-mail per month
Hi there,
I'm trying to create a schedule e-mail to send in a determinate e-mail field in my task if this task is still opened after a few days.
I don't even know how to begin create this code.
Any help will be great.
Thanks !
I'm trying to create a schedule e-mail to send in a determinate e-mail field in my task if this task is still opened after a few days.
I don't even know how to begin create this code.
Any help will be great.
Thanks !
- EvertonSzekeres
- February 06, 2014
- Like
- 0
Too many email invocations: 11
I'm trying do deploy one trigger and one test class:
trigger DeleteTask_Solicitacao_Pagamento on Case (after update){
Set <id> ids = new Set <id> ();
for (Case c: trigger.new){
if (c.motivo__c == 'Solicitação de Pagamento' && c.status <> 'Fechado'){
ids.add(c.id);
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'DESPESAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c, ownerid FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'TURMAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c < 1 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c < 1 || c.Quantidade_de_PP_s_Estojo__c == null) || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Lançar PP' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'TURMAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'DESPESAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Nota_fiscal__c != 'SIM' || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c == 'MALOTE' || c.forma_de_pagamento__c == 'DEPÓSITO + MALOTE') && c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c != 'MALOTE' && c.forma_de_pagamento__c != 'DEPÓSITO + MALOTE') || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicitar_PP__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = false;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c != 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = false;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE (subject = 'Solicitação de Pagamento - Aprovar solicitação' OR subject = 'Solicitação de Pagamento - Não aprovada') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
}
I got this error message:
"Failure Message: "System.LimitException: Too many Email Invocations: 11", Failure Stack Trace: "Trigger.Email_SolicitacaoExt_Pag2: line 129, column 1"
trigger DeleteTask_Solicitacao_Pagamento on Case (after update){
Set <id> ids = new Set <id> ();
for (Case c: trigger.new){
if (c.motivo__c == 'Solicitação de Pagamento' && c.status <> 'Fechado'){
ids.add(c.id);
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'DESPESAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c, ownerid FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c >= 1 || c.Quantidade_de_PP_s_Estojo__c >= 1) && c.tipo_de_pagamento__c == 'TURMAS' && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT Id, description, Solicita_o_de_Pagamento__c FROM Task WHERE (subject = 'Solicitação de Pagamento - Lançar PP' OR subject = 'Solicitação de Pagamento - Baixar PP') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Quantas_PP_s_pagamento__c < 1 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c < 1 || c.Quantidade_de_PP_s_Estojo__c == null) || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Lançar PP' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'TURMAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000001KrZy';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Nota_fiscal__c == 'SIM' && c.tipo_de_pagamento__c == 'DESPESAS') && (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].ownerid = '005U0000002KGRq';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Nota_fiscal__c != 'SIM' || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatid, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Solicitar Nota Fiscal' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c == 'MALOTE' || c.forma_de_pagamento__c == 'DEPÓSITO + MALOTE') && c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT description, Solicita_o_de_Pagamento__c FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.forma_de_pagamento__c != 'MALOTE' && c.forma_de_pagamento__c != 'DEPÓSITO + MALOTE') || (c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados')){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE subject = 'Solicitação de Pagamento - Malote' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicitar_PP__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c == 0 || c.Quantas_PP_s_pagamento__c == null) && (c.Quantidade_de_PP_s_Estojo__c == 0 || c.Quantidade_de_PP_s_Estojo__c == null)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = false;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c != 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = false;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = false;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if ((c.Tipo_de_solicita_o__c == 'Despesas com equipe de vendas' || c.Tipo_de_solicita_o__c == 'Cache' || c.Tipo_de_solicita_o__c == 'Mostruarios' || c.Tipo_de_solicita_o__c == 'Laboratório por fora do sistema' || c.Tipo_de_solicita_o__c == 'Devolução de venda' || c.Tipo_de_solicita_o__c == 'Divisão de resultados') && c.Forma_de_pagamento__c == 'DEPÓSITO + MALOTE' && (c.Quantas_PP_s_pagamento__c > 0 || c.Quantidade_de_PP_s_Estojo__c > 0)){
if(ids.size()>0){
List <Task> t=[SELECT Solicitar_Malote__c, Solicitar_Dep_sito__c, Solicitar_PP__c, Solicita_o_de_Pagamento__c, subject, Respons_vel_por_resolver_a_tarefa__c, ActivityDate, Ownerid FROM Task WHERE Subject = 'Solicitação de Pagamento - Aprovar solicitação' AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
t[0].description = c.tipo_de_pagamento__c;
t[0].Solicitar_PP__c = true;
t[0].Solicitar_Malote__c = true;
t[0].Solicitar_Dep_sito__c = true;
t[0].Solicita_o_de_Pagamento__c = c.Tipo_de_solicita_o__c;
t[0].Subject = 'Solicitação de Pagamento - Aprovar solicitação';
t[0].Respons_vel_por_resolver_a_tarefa__c = 'CARLOS BALMA';
t[0].description = c.tipo_de_pagamento__c;
t[0].ActivityDate = Date.today();
t[0].Ownerid = '005U0000000FDE9';
update t;
}
}
}
}
for (Case c: trigger.new) {
if (c.Tipo_de_solicita_o__c != 'Despesas com equipe de vendas' && c.Tipo_de_solicita_o__c != 'Cache' && c.Tipo_de_solicita_o__c != 'Mostruarios' && c.Tipo_de_solicita_o__c != 'Laboratório por fora do sistema' && c.Tipo_de_solicita_o__c != 'Devolução de venda' && c.Tipo_de_solicita_o__c != 'Divisão de resultados'){
if(ids.size()>0){
List <Task> t=[SELECT whatId, subject, status FROM Task WHERE (subject = 'Solicitação de Pagamento - Aprovar solicitação' OR subject = 'Solicitação de Pagamento - Não aprovada') AND status != 'Concluído' AND whatid IN: ids];
if (t.size()>0){
delete t;
}
}
}
}
}
I got this error message:
"Failure Message: "System.LimitException: Too many Email Invocations: 11", Failure Stack Trace: "Trigger.Email_SolicitacaoExt_Pag2: line 129, column 1"
- EvertonSzekeres
- December 26, 2013
- Like
- 0