通过 Salesforce 中的 Screenflow 拉取 URL

Pull URL via Screenflow in Salesforce

我正在尝试为用户在启动我的屏幕流时打开的任何记录拉取 URL。

例如,如果他们在一个帐户上,我需要帐户 URL: “https://我的域--partial.lightning.force.com/lightning/r/Account/00000000000000/view”

如果他们在报告中,我需要报告 URL: "https://mydomain--partial.lightning.force.com/lightning/r/Report/00000000000000000/view?queryScope=userFolders"

我的屏幕流从实用程序操作启动。

我现在在屏幕流中使用以下公式 (LEFT({!$Api.Partner_Server_URL_260}, FIND( '.com', {!$Api.Partner_Server_URL_260} )) + RIGHT({!$Api.Partner_Server_URL_260}, FIND( '.com', {!$Api.Partner_Server_URL_260} )))

问题是这个returns: “https://我的域--partial.my.salesforce.com/services/Soap/u/26.0/00000000000”

我解决了我自己的问题并想分享以防万一以后有人遇到这个问题。

我要做的是:

  1. 在 aura cmp 中调用流程
  2. 获取 cmp 中的 window 位置并将其传递给流中的输入变量

CMP:

<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction,lightning:isUrlAddressable" access="global" >
    <aura:handler name="init" value="{!this}" action="{!c.init}"/>
    <lightning:flow aura:id="FLOW NAME"/>
</aura:component>

控制器:

({
  init : function (cmp) {
      
    var flow = cmp.find("FLOWNAME");
     var inputVariables = [
        {
            name : 'vCurentlURL',
            type : 'String',
            value : window.location.href,
        }
     ];
    flow.startFlow("FLOWNAME", inputVariables );
  }
})