• Virendra Singh Naruka
  • 4 Points
  • Member since 2015

  • Chatter
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
  • 13
I am using lightning <lightning-datatable> on LWC component.  I need Coditional Formtting of Cell Values ..

My Requirement is "Specific Row(Conditional)  should Display Cell Value in Bold & Italic ..   
I used the sample posted here in the help docs https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_Auth_ConnectedAppPlugin.htm

I was able to update the customAttributes method to update the SAML response with additional attributes and this works well.  However I have been searching everywhere to find the sample test class to go with the extension sample.  Has anyone done this that can provide a basic sample?
Free Speech TV Request for Proposals
August 29, 2017
Our Needs:
This document is intended to lay out the general issues of what the problems are that we face and provides the possible solution(s) to resolving the issue.  Not being Saleforce for Nonprofit experts, however, we are very open to a consultant’s solutions. We are seeking a highly qualified Salesforce administrative consultant with extensive knowledge in Excel data manipulation, data prep for importation using Dataloader, an ability to filter through and match files containing thousands of lines of information, administrative credentials in Salesforce and an ability to mass delete information in Salesforce.  Please include some background of your experience, 3 references, hourly or project rate, and experience working with Salesforce for Nonprofit integration, Dataloader, Stripe credit card processing, and Recurly credit card processing if any.
Please submit your RFP by Tuesday, September 5th, 2017, no later than noon Mountain Time. RFPs can be emailed to valerie@freespeech.org, and list Salesforce RFP in the subject line.

Who we are:
Free Speech TV is a nonprofit television network in its 22nd year of broadcast tv programs that represent underserved and often ignored populations by the mainstream media.  We are 100% viewer and nonprofit foundation supported. freespeech.org
A little background:
We utilize Salesforce for Nonprofit to track all of our donor data.  Currently we have about 58,000 accounts and 300,000+ opportunities.  Recurly is currently our online credit card processor.  The system works well on its own but there have been major issues with the Salesforce integration.  We are launching a new website within the next quarter and will be migrating to Stripe as our new payment processor and are working to finalize the integration of Stripe with Salesforce through webhooks.  As an aside, we may be interested in working with you in the future around the new integration of Stripe and Salesforce.

The problem:
Currently, there is a 23,000+ count gap of donations between Recurly and Salesforce where Salesforce is missing 23000+ donations that are in Recurly.  The problem began in late November of 2016.  Recurly pushes donations to Salesforce and Salesforce has processes to create accounts, contacts, opportunities and payments associated with the data being pushed from Recurly.
Currently, the processes and flows in Salesforce that were created by our consultant are failing.  As a result, thousands of donations coming from Recurly are not populating as opportunities and payments in Salesforce.  I don’t believe there are any missing contacts or accounts based on my research but it should be verified by the consultant. This problem will continue until we close our account with Recurly which will occur on October 27, 2017  As as result, we will need to resolve this issue now, and then again when we close the account with Recurly.

There are 3 main scenarios that have to be resolved separately:
Scenario 1:  A one-time donation from Recurly is not appearing in Salesforce. (about 1500 to 2000)
Scenario 2:  One or several donations associated with a monthly donation do not appear in Salesforce. (about 21000 to 23000)
Scenario 3: Salesforce has created many thousands of unpaid opportunities and payments that are awaiting the process or flow to kick in and mark them as paid.  These opportunities and payments will need to be mass deleted. Within each of these scenarios there are additional differences:
Scenario 1:
    Difference 1: The one-time donation does not have an account with which it can be matched. (very few if any)
    Difference 2:  The -time donation can easily be matched with an already existing account in Salesforce. (vast majority)
Scenario 2:
    Difference 1:  The payments associated with a monthly donation do not have an account in Salesforce with which they can be matched. (very few if any)
    Difference 2:  The payments associated with a monthly donation can easily be matched an already existing account in Salesforce.  (vast majority)
Scenario 3:
    Difference 1:  The monthly donation has some paid opportunities and some unpaid opportunities.  (uncounted but verified)
    Difference 2:  The monthly donation has only unpaid opportunities.  (uncounted but verified)
To resolve this very big problem in Salesforce, we are going to need to import all missing donations to their associated accounts using the DataLoader. Additionally, we are going to need to mass delete all of the unpaid opportunities and payments in Salesforce along with their associated recurring donations.
Thank you very much for considering working with us, and we look forward to your RFP!
Valerie Appelbaum
Development Director
Free Speech TV
The Museum of Modern Art (MoMA) is hiring an e-commerce web developer.  We
are moving to Salesforce Commerce Cloud so the skill set we are looking for
is around cloud technologies - HTML5, APIs, Salesforce, and 3+ years
experience working with (any) e-commerce platform or similar.


If you would like to submit your resume and cover letter for consideration, please choose one of the following options:
By email: jobs@moma.org (most preferred option)
By fax: (212) 333-1107
By mail: The Museum of Modern Art
The Department of Human Resources
11 West 53 Street
New York, NY 10019
If submitting by email, please send us your resume and cover letter as one document in PDF format.
I have a List of custom SObjects that need to be bulk inserted or updated, but the logs do not show any useful information, why the Apex job does not finish. The job stays at "processing" - even over night! This morning I got one result back, First error: Insert failed. First exception on row 0; first error: UNABLE_TO_LOCK_ROW, unable to obtain exclusive access to this record or 23 records and solved it with using FOR UPDATE in my SOQL queries. But now I am back to no result.
  • Any idea how I can change the debug log levels when I run the class from the dev console?
  • Should I look into any other blocking operations I would need to solve? (Triggers?)
Hi guys,

Is there a way that I can update a picklist field if a particular email template has been added to a record?
  • October 26, 2016
  • Like
  • 0
I have an identical custom field (Site_ID__c) on leads, contacts, opportunities and tasks. When a task is created and related to one of these objects, I would like a trigger that would update the field on the task from the field on the related object. Does anyone have a code template for listing the whatids, determining the object type and then specifying the custom field to update? Ideally, the code would repeat the process for all 3 possible objects in this scenario. 
How can I code a class so that it will have permission to add and delete contact objects, even when the invoking user doesn't, and not use "without sharing" (SalesForce security review won't allow it)?

The class is an entry point in a managed package, and must pass security review, so "without sharing" is not allowed, neither is omitting the sharing clause. The class sends emails using templates, which requires each addressee to have a Contact object. Therefore, it must create temporary Contact objects and then delete them after the email is sent.
I have the scenario where I am trying to convert a Lead but can't because there are pending time-based workflows.

The standard solution I come across is to create a custom checkbox field that, when it changes, causes the workflow criteria to no longer be true, and the pending workflow action quietly deletes itself.  It is then recommended that you either manually change this field value or override the conversion button to do this for you.

However, I have a complication that is preventing me from doing this.  The conversion is being triggered by a third party API call, not by a person.  So I need to have Apex change the value of this field.  And I can't get that to work.

I have tried a "before update" on the Lead, but that doesn't seem to do anything.  Investigation seems to indicate that the reason is that, before conversion, "isConverted" hasn't been set to TRUE, so I can't restrict my flag change to only conversions.

Paradoxically, I'm not sure I can use an "after update" either.  In that case, I am getting the error that I can't modify a converted Lead!  I know it is supposed to be possible to update converted Lead fields now, but I only have one User (I'm actually trying to do this in a Sandbox), and I can't modify my Profile with the necessary permission.  In any event, I'm not sure that would work either.  I think the workflow should fire after the apex code updates the field, but I'm not sure.  (And I can't test until I get the permissions sorted out.)

Surely someone has had to deal with this situation before?  To recap:

I have Leads that are getting converted by an API call.  The conversions are failing because there are pending time based workflows.  I need to use Apex to delete these time based workflows.  It must be Apex:  it cannot be done manually or via a Visualforce button.

How can this be done?

xlsx format is not supported. And xls format is no longer supported.

I want to create an apex class to create a seperate worksheet for one to many custom object on opportunities.  Is there anyway to do this?  

I have custom code that create and xls file but I cannot open it with the latest Microsoft code.

Is there anyway to do this?  Another app?  Anything?
I've tried this declaratively and it did not work so I'm hoping someone can help me do this through VisualForce or Appx. Please keep in mind that I'm not familiar with the developer coding so any samples you could provide for me to try out would be great.
My_Account__c :  (API name) is a custom checkbox field that I'm trying to set to true based on certain conditions described below. This field is under the standard Account object.

To determine whether My_Account__c   field is true, we want ot look at the field values specified below residing within two objects that are NOT related objects:

Standard Object 1: Account
Field 1: Billing Country (standard text type field, part of the address component)

Custom Object 2: Territory_Ownerships__c (API name)
Field 1: Name (API name and it's text type) but I've relabeled the name of the custom field to Owner SourceCountry (the label name)
Field 2: Opportunity_Owner_Sanctuary_Director__c (API name and it's a lookup type)

My_Account__c should equal true when

Account's Billing Country value is the same as ( Name field value  in Territory_Ownerships__c object AND Opportunity_Owner_Sanctuary_Director__c in Territory object is the same as the name of the Salesforce user currently logged in) All else, the checkbox field should be false.

For example, my name is Andrea Sloan and I'm looking at a record in the Account's object whch has France listed as the billincountry name.
The territory record table shows that there's a record where the Name field contains France as a value and for that record the Opportunity Owner Sanctuary Director field has Andrea Sloan listed  as a value. When I log in, if I run a report with MyAccount checkbox field as a filter value to true, I should be able to see the given account record that had shown France as the billing country.

This checkbox field, should refresh for each user login. When I tried this declaratively, once the field was checked, it remained checked under a user who should have had theirs checked off. In other words, if your name is not listed as the owner for France as per my example then that field should not be checked.

Also, this verification should take into effect anytime an account record is created but also anytime any of the fields in question that I mentioned above from either of the objects are edited. Therefore, the account may move and no longer be in France and Andrea's name may no longer belong to France in the Territories object.

Any help someone could provide hopefully with the syntaxed code would be great! Thank you in advance!
Hello everyone,
after I posted this wrongly on https://success.salesforce.com/answers?id=9063A000000p6oO I now repost it here and still seek advice!

We are trying to sync some JSON objects (that came from a parser) with our database. There's a list of these objects that is iterated over which has an identifier that is mapped with Customer_Rating objects (via two other objects) from another list. That way, the sync should distinguish between "update an existing object in the database with new values" or "create a new database object with all values".

Firstly we collect all existing Customer_Ratings:
List<Customer_Rating__c> existingRatingList = new List<Customer_Rating__c>(); 
existingRatingList = [SELECT Creation_Date__c, Reply__c, Opportunity__c FROM Customer_Rating__c];
The following list is used to create a new mapping between Opportunity identifiers with the objects above:
Map<String, Customer_Rating__c> existingRatingOppMap = new Map<String, Customer_Rating__c>(); 
for (Customer_Rating__c rating : existingRatingList) { 
    existingRatingOppMap.put(rating.Opportunity__c, rating); 
And finally, there's another mapping from Invoice_Number to Opportunities:
Map<Id, Invoice__c> invoiceMap = new Map<Id, Invoice__c>([SELECT id, name, Invoice_Number__c, Opportunity__c FROM Invoice__c]); 
Map<String, String> invoiceOppMap = new Map<String, String>(); 
for (Invoice__c invoice : invoiceMap.values()) { 
    invoiceOppMap.put(invoice.Invoice_Number__c, invoice.Opportunity__c); 
Using these three code blocks, we have a link between the Invoice_Number and a possibly existing rating.

Now we iterate over a list of objects that create a link to Invoices via the Invoice_Number and in this block the code should make the difference mentioned above:
if (invoiceOppMap.keySet().contains(invoice_num)) {
    String oppId = invoiceOppMap.get(invoice_num);
    Customer_Rating__c rating;
    if (existingRatingOppMap.keySet().contains(oppId)) {
         // Case: an Opportunity with rating with this order_id already exists, so an update is needed.
         rating = existingRatingOppMap.remove(oppId);
         rating.Creation_Date__c = feedback.getSubmitted();      
         update rating;
     } else {
         // Case: no Opportunity (via the invoice referenced by the order_id)
         // with an existing rating was found, a new one is created.
         rating = new Customer_Rating__c();
         rating.Comment__c = feedback.review;
         rating.Opportunity__c = oppId;
         rating.Rating__c = feedback.rating;
         rating.Creation_Date__c = feedback.getSubmitted();
         insert rating;
Now the blocker we tried to solve: when running this whole function via the Apex anonymous execution window it starts, holds at "Unpacking results" and does not finish. The log shows, that both - inserts and updates - were done, but they are not commited to the database.
If we then remove the update path and run only the inserts it works as expected.
We also looked at the activated triggers, but they are all activated in the insert path. Update does not fire any triggers.

Any ideas? Any race conditions we overlooked? 
Tips to create better queries are also very welcome!

I've a developer edition and which mean I'm the system administrator, I develop some pages and classes and after I logout I don't know exactly what happened to my account, for every link it displays me the following error :


Insufficient Privileges
You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary.

url on the this page : https://ap1.salesforce.com/secur/NoAccess.jsp


I tried it with my other developer edition account same problem again. I've all the credentials for my account i.e.. username, password, security token. Don't know if it is a bug or my problem.??