Skip to main content

#Data Management110 personnes en discutent

Lena Wong a posé une question dans #Trailhead Challenges

Hi everyone,

I’m looking for some advice on a Salesforce security/architecture scenario. 

 

We have a group of Sales users whose Account access is granted through criteria-based sharing rules based on the entity/company they work for

. For example, users belonging to different country entities receive access to the corresponding Accounts. 

 

These users are also assigned to a Permission Set Group that grants Read access to a number of financial fields on the Account object

. 

 

The business requirement is to restrict these users from creating or modifying Reports, exporting Report data, and accessing restricted company-wide financial Reports and Dashboards.

At the same time, they must retain their existing visibility when working with an individual Account they have access to, including the relevant financial information, Invoices and Orders.

This leads to a question around the same financial fields being available through different Salesforce surfaces.

If a user has FLS Read access to these Account fields so that they can see them on the Account Record Page:

Is there any standard/native Salesforce mechanism to prevent those fields from being available in List Views, while still allowing them to be displayed on the Account Record Page?

And regarding Reports:

If the user is allowed to run a centrally provided Report, is there a standard way to prevent the financial fields from being exposed through that Report while keeping the user's existing Account-level visibility? 

 

We explored using Custom Report Types to exclude these financial fields from the layout. However, if an Inside Sales user runs a centrally provided Report built on a report type that does

include these fields (because Outside Sales and Management users share the reports and need them), Salesforce will render the data for the Inside Sales user too, as long as their FLS is active. Salesforce does not support dynamic column masking or role-based field filtering within a shared Report Type. 

 

Or is the standard Salesforce security model that FLS applies globally across all these surfaces, with Report/Dashboard folder access and export permissions providing the only standard restrictions?

I’m interested specifically in the standard Salesforce capabilities, or is this only possible per custom and if yes, how? LWCs? 

Thanks! 

 

@Salesforce Administrators & Developers, @Salesforce Administrators and Developers, @APAC Architects, @Data Quality & Management

 

 

#Trailhead Challenges  #Salesforce Developer  #Salesforce Admin  #Salesforce  #Data Management

5 réponses
  1. Hier, à 09:52

    The native and recommended way to do this would be to use Transaction Security Policies as they would allow you to create realtime policies that block users from for seeing data you define in list views and reports 

     

    Note: This requires the org either having Event Monitoring or Salesforce Shield (which bundles in Event Monitoring), which is an add-on product 

     

    https://help.salesforce.com/s/articleView?id=xcloud.enhanced_transaction_security_policy_types.htm&type=5

     

    https://developer.salesforce.com/docs/platform/platform-events/guide/platform-events-objects-monitoring.html

     

    https://trailhead.salesforce.com/content/learn/modules/enhanced_transaction_security/enhanced_transaction_security_basics

0/9000

Hello everyone, 

 

we have a lot of invalid accounts in our system. 

Naturally, our sales team isn't exactly thrilled that when they use the global search to look for a customer, they also get all the invalid accounts suggested to them. 

Nevertheless, these accounts should still be visible in the global search for system administrators and internal staff responsible for data maintenance and history. Is there a (simple) way to do this? Deleting them is not an option. Thank you in advance. 

 

#Data Management  #Salesforce Admin  #Salesforce

2 réponses
0/9000
For my org, I have the Weekly Data Export scheduled for every Sunday so I can download the backup data on Monday at work. However, I noticed there isn't a "download all" button, but a "download" button near each folder. So far the export has only been 22 zip files, but I'm worried for the future when the amount gets bigger.

 

Right now, I'm using Google Chrome and hitting "download" for each file, but I have to wait for one file to reach a certain download amount before I can start the next file download. For example, I start download zip file #3, but have to wait for it to be 315 of 512MB before I can start zip file #4. If I try to save/download #4, I get the error message, "There are no more files."

 

Has anyone been able to download all the files at once? Is it a web browser issue, is there an app, or an idea to vote on?
11 réponses
  1. 27 janv. 2020, 16:56
    Hi Tamlyn,

     

    Unfortunately, there's no way to mass download all the zip files for data export.

     

    Please see below posts from other developers and customers on how to do this.

     

    Automate the downloading of Data Export zip files

     

    http://salesforce.stackexchange.com/questions/295/automate-the-downloading-of-data-export-zip-files

     

    Auto download Data Export zip file

     

    https://developer.salesforce.com/forums/?id=906F00000008ykxIAA

     

    Automated Backup Downloader

     

    https://success.salesforce.com/answers?id=90630000000h2yNAAQ

     

    You can also upvote this idea:

     

    https://success.salesforce.com/ideaView?id=08730000000Dr9qAAC

     

    Hope that helps.

     

    Regards,

     

    Jayson
0/9000

When trying to merge 2 contacts (one created by Classy and the other internally) we are getting the attached errors. Has anyone seen this and been able to get a fix? I have tried to change the Account to be the same on both of the records as I read somewhere it may be that, but it did not work.

 

Error: duplicate value found: csp__Unique_Key__c duplicates value on record with id: 0034R0000465LUm

Error: Failed to merge the contacts. Error: ConMergeException:[]: duplicate value found: csp__Unique_Key__c duplicates value on record with id: 0034R0000465LU 

 

@* Sales Cloud - Best Practices *

1 réponse
  1. 22 sept., 09:20

    Hi Katie,

    The duplicate value error you are encountering (csp__Unique_Key__c) happens because that custom field is marked as Unique (likely enforced case-insensitively or case-sensitively) in your schema settings, and both contact records currently hold conflicting or populated values that clash during the merge operation. When Salesforce attempts to merge the records into the winning record, it briefly retains or evaluates the unique keys of both records simultaneously, triggering the block.

    Here is how you can resolve and complete the merge: 

     

    1.Clear or Modify the Unique Key on the Losing Record:

    Field Modification. 

    Navigate to the losing contact record, edit the csp__Unique_Key__c field, and either clear out the value entirely or temporarily change it to a distinct placeholder string. You can verify success when saving the edited record without a duplicate value validation error. 

     

    2.Perform the Contact Merge:

    Execute Merge. 

    Return to the contact merge tool and execute the merge while selecting the correct master record. You can verify success when the merge completes without throwing the ConMergeException block. 

     

    3.Verify the Winning Record's Unique Key:

    Post-Merge Cleanup. 

    Check the winning contact record to ensure its csp__Unique_Key__c matches the correct integration ID needed by Classy. You can verify success when the integration key on the surviving record is accurate and uncorrupted.

0/9000

 🚀 𝗘𝗣 𝟭𝟬: 𝗙𝗦𝗖 𝗗𝗮𝘁𝗮 𝗣𝗿𝗼𝗰𝗲𝘀𝘀𝗶𝗻𝗴 𝗘𝗻𝗴𝗶𝗻𝗲: 𝗘𝘃𝗲𝗿𝘆𝘁𝗵𝗶𝗻𝗴 𝗬𝗼𝘂 𝗡𝗲𝗲𝗱 𝘁𝗼 𝗞𝗻𝗼𝘄 🚀 

Video Link: 

https://youtube.com/watch?v=fJLu8GlwpVU

 

@* Financial Services Cloud * @* Sales Cloud - Getting Started * @* Salesforce Administrators *@Salesforce Flow Automation @Salesblazer Community Group

 

🚀 𝗘𝗣 𝟭𝟬: 𝗙𝗦𝗖 𝗗𝗮𝘁𝗮 𝗣𝗿𝗼𝗰𝗲𝘀𝘀𝗶𝗻𝗴 𝗘𝗻𝗴𝗶𝗻𝗲: 𝗘𝘃𝗲𝗿𝘆𝘁𝗵𝗶𝗻𝗴 𝗬𝗼𝘂 𝗡𝗲𝗲𝗱 𝘁𝗼 𝗞𝗻𝗼𝘄 🚀 Video Link: https://youtube.com/watch?

 

 

 

#Trailhead  #Financial Services Cloud  #Data Management

0/9000

Hi community, 

 

I'm trying to find the enable oath in data loader and I'm not seeing it. I think my screen is not letting me see all of the options. Does anyone know how I can fix this? 

 

#Sales Cloud  #Service Cloud  #Data Management

5 réponses
0/9000

Hello Team,

 

I want to change the status to Never for the WorkItem which is in Promoted stage in DevOps center currently. Along with that how to remove the promoted workitem from the pipeline stage as I want to discard the workitem.

6 réponses
0/9000
11 réponses
0/9000
Lena Wong a posé une question dans #Trailhead Challenges

Hi everyone,

I have a question regarding the “Create Quotes without Opportunities” feature and a potential future requirement involving Orders.

 

After enabling the “Create Quotes without Opportunities” feature, Salesforce automatically provides the QuoteAccountId field on the Quote object. For Quotes created without an Opportunity, the Account relationship is stored in QuoteAccountId, while the standard AccountId is not populated.

 

Would it be technically possible to populate the standard AccountId field with the value from QuoteAccountId

for Quotes created without an Opportunity?. 

 

The reason for considering this is that Orders will be used in the future, and the standard Account relationship may be required for the Order process.

Would populating AccountId = QuoteAccountId be a supported and recommended approach, or are there any Salesforce limitations or implications we should consider when working with Quotes without Opportunities? or any workaround?.

Thanks for your guidance! 

 

@Salesforce Administrators & Developers, @Salesforce Administrators and Developers, @APAC Architects, @Data Quality & Management

 

 

#Trailhead Challenges  #Trailhead  #Salesforce Developer  #Salesforce Admin  #Salesforce  #Flow  #Data Management  #Apex  #Sales Cloud

2 réponses
  1. 24 sept., 15:17

     

    Short answer: you generally cannot (and do not need to) write QuoteAccountId into the standard Quote.AccountId field. On the Quote object, AccountId is a system-derived, read-only reference that Salesforce fills from the related Opportunity's Account. It is not createable/updateable through the UI, Flow, Apex or the API, so an update like AccountId = QuoteAccountId will be rejected or ignored. For quotes created without an Opportunity, QuoteAccountId (label "Account for Quote") is the field Salesforce intends you to use as the account relationship. 

     

    For your future Order process this is already covered: Salesforce's documentation for quotes without opportunities says associating the quote to an account is optional but recommended, because an account is required to convert the quote to an order. When you create an Order from such a quote, the account comes from the quote's account (QuoteAccountId), so you don't need Quote.AccountId populated. 

     

    Practical recommendations: 

    1. Make QuoteAccountId required (validation rule, e.g. ISBLANK(OpportunityId) && ISBLANK(QuoteAccountId)) so every quote can be turned into an Order. 

    2. After enabling the feature, open Object Manager > Quote > Fields > Account for Quote and grant field-level security to your profiles/permission sets. It is hidden by default, which is why it often looks unavailable in Flow, reports and Apex. 

    3. In reports, flows, sharing logic and Apex, use one source of truth, for example a formula field BLANKVALUE(QuoteAccountId, Opportunity.AccountId), so logic works for quotes with and without an Opportunity. 

    4. If you create Orders yourself via Flow/Apex (rather than the standard Create Order action), set Order.AccountId = Quote.QuoteAccountId and Order.QuoteId = Quote.Id. 

     

    References: 

    Enable Quote Creation Without a Related Opportunity:

    https://help.salesforce.com/s/articleView?id=sales.cpq_quotes_without_opportunities.htm&type=5

     

    Release note, Create Quotes Without a Related Opportunity:

    https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_quotes_without_opportunities.htm&release=244&type=5

     

    Quote object reference:

    https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_quote.htm

     

     

    Assumption: the statement that Quote.AccountId is read-only is based on the Quote object reference field properties and commonly reported org behaviour; please confirm in a sandbox (e.g. attempt the update in a Flow or Developer Console) before designing around it.

0/9000

Looking to Migrate Rackspace Email to Gmail. The good news is that migrating Rackspace emails to Gmails is an easy process. Either do it manually by configuring your Gmail account to import emails from Rackspace. Or use a dedicated migration tool for Migrate Rackspace Emails To Gmail. This tool allows you to quickly and easily transfer all your emails, and calendars to Gmail smoothly. The key benefits of this tool are speed accuracy, and the ability to maintain email's folder structure. Here are some simple steps for the Migration Process.

 

Download and launch the IMAP Mail Backup tool on your system.

Sign in to your account with your Rackspace credentials.

From the tree-structure list, preview and choose the folders that you need to migrate.

Now, choose Gmail from the drop-down list, then sign with the required details.

Finally, choose the additional features if you wish, and then click on the Convert button to start the migration process.

 

 

2 réponses
  1. 24 sept., 11:39

    To migrate from Rackspace to Gmail

    , you can manually transfer emails using an IMAP-supported email client like Outlook or Thunderbird. However, moving large mailboxes folder by folder can be time-consuming. 

     

    For bulk migration, use

    BitRecover Rackspace Backup Tool

    . It lets you select specific folders, apply date filters, transfer multiple Rackspace accounts & preserve emails, attachments, formatting & folder hierarchy while moving data to Gmail. 

     

    Steps: Add your Rackspace account → select folders → choose Gmail as the destination → sign in to Gmail → start the migration.

0/9000