IBQConfigBase API - com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 18 min. de leitura
  • Inclusão de script que deve ser estendida para Gestão de vendas e pedidos Rastreador de solicitações para rastrear as solicitações. Esta inclusão de script fornece métodos substituíveis que definem como as solicitações devem ser executadas.

    O plug-in Sales and Service API Core (com.sn_tmt_core) deve ser ativado para IBQConfigBase inclusão de script para estar disponível em uma instância. Esta inclusão de script pertence a. sn_tmt_core namespace e requer a função de administrador.

    Estendendo a API IBQConfigBase

    Defina uma inclusão de script com os métodos substituíveis da API IBQConfigBase.

    1. Crie uma inclusão de script. O nome deve começar com IBQConfig , por exemplo, IBQConfigQuoteToOrderFlowSNC .
    2. Estenda IBQConfigBase API.
      Por exemplo:
      IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, { 
      ...
      });
    3. Substitua todos os métodos necessários fornecidos pelo IBQConfigBase API.
      Por exemplo:
      getRunMode: function(inboundQueueParams) {
          return this.quoteUtil.getQuoteSize(inboundQueueParams.source_record_ids, this.threshold);
      },
      
      generateParentRecord: function(inboundQueueParams, additionalParams, context) {
          var result = "";
          var entityMappingGr = this.getMapingConfigIdFromSysId(inboundQueueParams.requested_flow);
          var sourceToTargetConfigID = entityMappingGr.getValue("mapping_config_id");
          var sourceHeaderId = inboundQueueParams.source_record_ids;
          if (gs.nil(inboundQueueParams.requested_flow))
              throw "sourceToTargetConfigID cannot be null";
          if (gs.nil(inboundQueueParams.source_record_ids))
              throw "source record id cannot be null";
          var util = new sn_l2c_core.PrimitiveUtil();
          if (gs.nil(additionalParams))
              additionalParams = {};
          additionalParams[this.SKIP_LINES_KEY] = "true";
      },
      
      processInboundQueueRequest: function(inboundQueueGR) {
          gs.info("processRequest inboundQueueGR " + JSON.stringify(inboundQueueGR));
          var result = this.quoteUtil.createOrderFromQuoteUsingMetadata(inboundQueueGR.getValue('source_record_ids'), 'sn_l2c_quote_to_order', null, null, inboundQueueGR.getValue('record_id'));
          return result;
      }
    4. Crie uma nova entrada de metadados na tabela Configuração de solicitação de entrada [sn_tmt_core_inbound_queue_config] para definir como uma solicitação deve ser processada.
    5. Vincule a inclusão de script criada ao configuration_api campo do registro de metadados para usar a lógica personalizada definida durante o processamento da solicitação. A inclusão de script é referenciada em configuration_api Ao criar metadados de Configuração de solicitação de entrada.

    Caso de uso: IBQConfigQuoteToOrderFlow

    Você pode usar IBQConfigBase API para criar um pedido a partir de uma cotação usando metadados de configuração de solicitação de entrada. IBQConfigQuoteToOrderFlow é uma inclusão de script personalizada que pode ser criada estendendo o. IBQConfigBase API. A lógica dos métodos substituíveis deve ser adicionada à inclusão de script IBQConfigQuoteToOrderFlow.
    Nota:
    Esta inclusão de script estende o. IBQConfigBase API e é usada nos exemplos de método. Para obter informações sobre como usar o. PrimitiveUtil API, consulte LeadtoCasCore - Com escopo.
    var IBQConfigQuoteToOrderFlowSNC = Class.create();
    IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, {
    
        initialize: function() {
    		this.quoteUtil = new sn_quote_mgmt.OrderIntegration();
            this.SKIP_LINES_KEY = "skipLines";
    		this.threshold = 15;
        },
    
        getRunMode: function(inboundQueueParams) {
            return this.quoteUtil.getQuoteSize(inboundQueueParams.source_record_ids, this.threshold);
        },
    
    
        generateParentRecord: function(inboundQueueParams, additionalParams, context) {
            var result = "";
            var entityMappingGr = this.getMapingConfigIdFromSysId(inboundQueueParams.requested_flow);
            var sourceToTargetConfigID = entityMappingGr.getValue("mapping_config_id");
            var sourceHeaderId = inboundQueueParams.source_record_ids;
            if (gs.nil(inboundQueueParams.requested_flow))
                throw "sourceToTargetConfigID cannot be null";
            if (gs.nil(inboundQueueParams.source_record_ids))
                throw "source record id cannot be null";
            var util = new sn_l2c_core.PrimitiveUtil();
            if (gs.nil(additionalParams))
                additionalParams = {};
            additionalParams[this.SKIP_LINES_KEY] = "true";
    
            // additional parameters are retrieved using the PrimitiveUtil() utility methods provided by the Lead to Cash Core application
            var service = util.getPrimitivesEPService(sourceToTargetConfigID, context);
            var isEmpty = false;
            if (service) {
                var createInstanceOutput = service.createInstance(sourceHeaderId, null, false, additionalParams);
                if (gs.nil(sourceHeaderId))
                    isEmpty = this.__isEmpty(createInstanceOutput.lineItems);
                else
                    isEmpty = this.__isEmpty(createInstanceOutput);
                if (!isEmpty) {
                    var effectOutput = service.effect(createInstanceOutput, null, additionalParams);
                    if (!this.__isEmpty(effectOutput)) {
                        var commitOutput = service.commitInstance(effectOutput, additionalParams);
                        return commitOutput;
                    }
                }
            }
            return result;
        },
    
        processInboundQueueRequest: function(inboundQueueGR) {
            gs.info("processRequest inboundQueueGR " + JSON.stringify(inboundQueueGR));
            var result = this.quoteUtil.createOrderFromQuoteUsingMetadata(inboundQueueGR.getValue('source_record_ids'), 'sn_l2c_quote_to_order', null, null, inboundQueueGR.getValue('record_id'));
            return result;
        },
    
        __isEmpty: function(sourceObj) {
            if (gs.nil(sourceObj))
                return true;
            return Object.keys(sourceObj).length === 0;
        },
        getMapingConfigIdFromSysId(requestedFlow) {
            var gr = new GlideRecord("sn_l2c_core_entity_mapping");
            gr.addQuery("sys_id", requestedFlow);
            gr.query();
            if (gr.next()) {
                gs.info("mapping id received to corresponding requestedFlow");
                return gr;
            }
        },
    
        type: 'IBQConfigQuoteToOrderFlowSNC'
    });

    IBQConfigBase – generateParentRecord(Object ibqParams)

    Cria um registro primário que é adicionado ao record_id do registro Solicitação de entrada [sn_tmt_core_inbound_queue_list] antes de processar a solicitação.

    . um registro primário criado antes do processamento é ideal para processamento assíncrono e permite adicionar atividades à inclusão de script que podem ser realizadas durante o processamento. Por exemplo, exibir uma mensagem na tela.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    IbqParams Objeto Objeto JSON que contém os detalhes do registro de solicitação de entrada a ser criado.
    {
      "account": "String",
      "consumer": "String",
      "contact": "String",
      "payload": {Object},
      "record_id": "String",
      "requested_flow": "String",
      "source_record_ids": [Array],
      "source_table": "String",
      "table": "String"
    }
    conta Cadeia de caracteres Opcional. Informações sobre a conta associada ao registro.

    Tabela: Conta [customer_account]

    cliente Cadeia de caracteres Opcional. Informações sobre o consumidor associado ao registro.

    Tabela: Consumidor [csm_consumer]

    contato Cadeia de caracteres Opcional. Informações sobre o contato associado ao registro.

    Tabela: Contato [customer_contact]

    carga Objeto Opcional. Objeto JSON necessário para processar a solicitação usando PrimitiveUtil() API. Para obter informações de uso, consulte LeadToCasCore .
    "payload": {
      "additionalParams": {Object},
      "context": {Object},
      "inputParams": {Object}
      "source": [Array of Objects],
      "target": [Array of Objects]
    }
    Payload.additionalParams Objeto Opcional. Parâmetros adicionais a serem usados.
    "additionalParams": {
      "action": "String",
      "actionReason": "String"
      "endDate": "Date",
      "skipLines": "Boolean",
      "startDate": "Date"
    }
    Carga.Parâm.additionalParams.action Cadeia de caracteres Opcional. Especifica o tipo de ação declarativa que está sendo executada. Para obter mais informações, consulte Customer Life Cycle Management Workflows.
    Valores possíveis:
    • desconectar
    • modificar
    • resume
    • suspender
    Parâmetosadicionais.actionReason Cadeia de caracteres Opcional. Propriedade usada em fluxos que usam ações declarativas. Motivo da ação.
    Parâmetrosadicionais.endDate Cadeia de caracteres Opcional. Data de término necessária para executar fluxos usando ações declarativas.

    Formato: aaaa-MM-dd HH:mm:ss

    Payload.additionalParams.skipLines Booliano Opcional. Sinalizador que indica se itens de linha devem ser obtidos para a entidade especificada.
    Valores válidos:
    • Verdadeiro: Ignore o retorno de informações de itens de linha para a entidade.
    • Falso: Retorna informações de itens de linha da entidade.
    Padrão: falso
    Carga.Parâm.additionalData.StartDate Cadeia de caracteres Opcional. Data de início para executar fluxos usando ações declarativas.

    Formato: aaaa-MM-dd HH:mm:ss

    contexto.carga Objeto Opcional. Opções de parâmetro adicionais para exibir valores de atributo e invocar mais de uma instância por vez.
    "context": {
      "isMultiSelect": "Boolean",
      "sourceToTargetConfigID": "String"
    }
    Context.isMultiSelect Booliano Opcional. Sinalizador que indica se várias entidades devem ser aprovadas como entrada para criar a instância.
    Valores válidos:
    • Verdadeiro: Permite passar vários itens de linha em uma lista separada por vírgulas.
    • Falso: Somente um item de entrada pode ser passado no script.
    Padrão: falso
    Payload.context.sourceToTargetConfigID Cadeia de caracteres Opcional. ID de configuração de mapeamento para o mapeamento de origem para destino.

    Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping]

    payload.inputParams Objeto Opcional. Este objeto é um espaço reservado para todos os parâmetros de entrada necessários para invocar o uso de um fluxo específico.
    "inputParams": {}
    carga.source Matriz Opcional. Objeto JSON que contém detalhes da entidade de origem da qual recuperar dados.
    "source": [
      {
        "headerId": "String",
        "lineIds": []
      }
    ]
    Load.source.headerId Cadeia de caracteres Opcional. Cabeçalho sys_id da entidade de origem da qual recuperar dados.
    • Necessário se você não fornecer lineIdsparâmetro.
    • Passe nulo se você não estiver passando nenhum sys_ids de cabeçalho.
    Payload.source.lineIds Matriz Opcional. Matriz que contém sys_id(s) do item de linha de origem de uma entidade da qual recuperar dados da entidade.

    Obrigatório se você não fornecer o ID do cabeçalho e se a estrutura da entidade começar com itens de linha, como produto vendido.

    carga.target Matriz Opcional. Objeto JSON que contém detalhes da entidade de destino.
    "target": [
      {
        "headerId": "String",
        "lineIds": []
      }
    ]
    Payload.target.headerId Cadeia de caracteres Opcional. Cabeçalho sys_id da entidade de destino da qual recuperar dados. Necessário se você não fornecer lineIdsparâmetro. Passe nulo se você não estiver passando nenhum sys_ids de cabeçalho.
    Payload.target.lineIds Matriz Opcional. Matriz que contém sys_id(s) do item de linha de destino de uma entidade da qual recuperar dados da entidade. Obrigatório se você não fornecer o ID do cabeçalho e se a estrutura da entidade começar com itens de linha, como produto vendido.
    record_id Cadeia de caracteres Opcional. Sys_id do registro de destino, se já estiver presente.
    requested_flow Cadeia de caracteres Opcional. ID de configuração de mapeamento para mapeamento de origem a destino. Esta propriedade é necessária para fluxos usando Entity configuration and mapping.

    Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping]

    source_record_ids Matriz Matriz que contém os sys_ids dos registros de origem.
    source_table Cadeia de caracteres Nome da tabela que contém o registro de origem do fluxo.
    tabela Cadeia de caracteres Nome da tabela que contém o registro de destino do fluxo.
    Tabela 2. Retornos
    Tipo Descrição
    Objeto JSON Um objeto JSON que contém o ID de cabeçalho do registro de destino criado.
    {
     "headerID": "String",
     // additional parameters, if any, per flow see payload.inputParams
    }
    HeaderID Sys_id do cabeçalho do registro de destino criado. Este valor é usado para preencher o campo record_id ao criar o registro de solicitação de entrada.
    O exemplo a seguir mostra como invocar o. GerateParentRecord() método.
    Nota:
    IBQConfigQuoteToOrderFlow é uma inclusão de script personalizada que pode ser criada estendendo o. IBQConfigBase API. A lógica dos métodos substituíveis deve ser adicionada à inclusão de script IBQConfigQuoteToOrderFlow.
    var ibqParams = {
      "source_record_ids": "f83e29574df02210f877142d1adc9531",
      "requested_flow": "0feb6d9da36271105c24939ef31e61dc",
      "initiated_by": "admin",
      "source_table": "sn_quote_mgmt_core_quote",
      "table": "sn_ind_tmt_orm_order",
      "payload": {}
    }; 
    
    var service = new sn_quote_mgmt.IBQConfigQuoteToOrderFlow(); 
    var parentRecord = service.generateParentRecord(ibqParams); 
    
    gs.info("Parent record = "+JSON.stringify(parentRecord));
    Saída:
    Parent record = {"headerID":"d11bd507dc6c6a10f877720033b5d0b9", ...} 

    IBQConfigBase – getRunMode(Object ibqParams)

    Determina se um fluxo deve ser executado no modo sincronizado ou assíncrono.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    IbqParams Objeto Objeto JSON que contém os detalhes do registro de solicitação de entrada a ser criado.
    {
      "account": "String",
      "consumer": "String",
      "contact": "String",
      "payload": {Object},
      "record_id": "String",
      "requested_flow": "String",
      "source_record_ids": [Array],
      "source_table": "String",
      "table": "String"
    }
    conta Cadeia de caracteres Opcional. Informações sobre a conta associada ao registro.

    Tabela: Conta [customer_account]

    cliente Cadeia de caracteres Opcional. Informações sobre o consumidor associado ao registro.

    Tabela: Consumidor [csm_consumer]

    contato Cadeia de caracteres Opcional. Informações sobre o contato associado ao registro.

    Tabela: Contato [customer_contact]

    carga Objeto Opcional. Objeto JSON necessário para processar a solicitação usando PrimitiveUtil() API. Para obter informações de uso, consulte LeadToCasCore .
    "payload": {
      "additionalParams": {Object},
      "context": {Object},
      "inputParams": {Object}
      "source": [Array of Objects],
      "target": [Array of Objects]
    }
    Payload.additionalParams Objeto Opcional. Parâmetros adicionais a serem usados.
    "additionalParams": {
      "action": "String",
      "actionReason": "String"
      "endDate": "Date",
      "skipLines": "Boolean",
      "startDate": "Date"
    }
    Carga.Parâm.additionalParams.action Cadeia de caracteres Opcional. Especifica o tipo de ação declarativa que está sendo executada. Para obter mais informações, consulte Customer Life Cycle Management Workflows.
    Valores possíveis:
    • desconectar
    • modificar
    • resume
    • suspender
    Parâmetosadicionais.actionReason Cadeia de caracteres Opcional. Propriedade usada em fluxos que usam ações declarativas. Motivo da ação.
    Parâmetrosadicionais.endDate Cadeia de caracteres Opcional. Data de término necessária para executar fluxos usando ações declarativas.

    Formato: aaaa-MM-dd HH:mm:ss

    Payload.additionalParams.skipLines Booliano Opcional. Sinalizador que indica se itens de linha devem ser obtidos para a entidade especificada.
    Valores válidos:
    • Verdadeiro: Ignore o retorno de informações de itens de linha para a entidade.
    • Falso: Retorna informações de itens de linha da entidade.
    Padrão: falso
    Carga.Parâm.additionalData.StartDate Cadeia de caracteres Opcional. Data de início para executar fluxos usando ações declarativas.

    Formato: aaaa-MM-dd HH:mm:ss

    contexto.carga Objeto Opcional. Opções de parâmetro adicionais para exibir valores de atributo e invocar mais de uma instância por vez.
    "context": {
      "isMultiSelect": "Boolean",
      "sourceToTargetConfigID": "String"
    }
    Context.isMultiSelect Booliano Opcional. Sinalizador que indica se várias entidades devem ser aprovadas como entrada para criar a instância.
    Valores válidos:
    • Verdadeiro: Permite passar vários itens de linha em uma lista separada por vírgulas.
    • Falso: Somente um item de entrada pode ser passado no script.
    Padrão: falso
    Payload.context.sourceToTargetConfigID Cadeia de caracteres Opcional. ID de configuração de mapeamento para o mapeamento de origem para destino.

    Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping]

    payload.inputParams Objeto Opcional. Este objeto é um espaço reservado para todos os parâmetros de entrada necessários para invocar o uso de um fluxo específico.
    "inputParams": {}
    carga.source Matriz Opcional. Objeto JSON que contém detalhes da entidade de origem da qual recuperar dados.
    "source": [
      {
        "headerId": "String",
        "lineIds": []
      }
    ]
    Load.source.headerId Cadeia de caracteres Opcional. Cabeçalho sys_id da entidade de origem da qual recuperar dados.
    • Necessário se você não fornecer lineIdsparâmetro.
    • Passe nulo se você não estiver passando nenhum sys_ids de cabeçalho.
    Payload.source.lineIds Matriz Opcional. Matriz que contém sys_id(s) do item de linha de origem de uma entidade da qual recuperar dados da entidade.

    Obrigatório se você não fornecer o ID do cabeçalho e se a estrutura da entidade começar com itens de linha, como produto vendido.

    carga.target Matriz Opcional. Objeto JSON que contém detalhes da entidade de destino.
    "target": [
      {
        "headerId": "String",
        "lineIds": []
      }
    ]
    Payload.target.headerId Cadeia de caracteres Opcional. Cabeçalho sys_id da entidade de destino da qual recuperar dados. Necessário se você não fornecer lineIdsparâmetro. Passe nulo se você não estiver passando nenhum sys_ids de cabeçalho.
    Payload.target.lineIds Matriz Opcional. Matriz que contém sys_id(s) do item de linha de destino de uma entidade da qual recuperar dados da entidade. Obrigatório se você não fornecer o ID do cabeçalho e se a estrutura da entidade começar com itens de linha, como produto vendido.
    record_id Cadeia de caracteres Opcional. Sys_id do registro de destino, se já estiver presente.
    requested_flow Cadeia de caracteres Opcional. ID de configuração de mapeamento para mapeamento de origem a destino. Esta propriedade é necessária para fluxos usando Entity configuration and mapping.

    Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping]

    source_record_ids Matriz Matriz que contém os sys_ids dos registros de origem.
    source_table Cadeia de caracteres Nome da tabela que contém o registro de origem do fluxo.
    tabela Cadeia de caracteres Nome da tabela que contém o registro de destino do fluxo.
    Tabela 4. Retornos
    Tipo Descrição
    Cadeia de caracteres Informações sobre o modo de execução a ser usado para executar a solicitação.
    Valores possíveis:
    • assíncrono
    • sincronização
    O exemplo a seguir mostra como invocar o. GetRunMode() método que usa o sys_id de origem fornecido pela propriedade source_record_ids. Se a contagem de itens de linha for maior que 10, então runMode. assíncrono .
    Nota:
    IBQConfigQuoteToOrderFlow é uma inclusão de script personalizada que pode ser criada estendendo o. IBQConfigBase API. A lógica dos métodos substituíveis deve ser adicionada à inclusão de script IBQConfigQuoteToOrderFlow.
    var ibqParams = {
      "source_record_ids": "04ba9004f11f3110f8777d7194f166f6",
      "requested_flow": "0feb6d9da36271105c24939ef31e61dc",
      "initiated_by": "admin",
      "source_table": "sn_quote_mgmt_core_quote",
      "table": "sn_ind_tmt_orm_order",
      "payload": {}
    };
    
    var service = new sn_quote_mgmt.IBQConfigQouteToOrderFlow();
    
    var runMode = service.getRunMode(ibqParams);
    
    gs.info("RunMode = "+JSON.stringify(runMode));
    Saída:
    RunMode = "async"
    O exemplo a seguir mostra como invocar GetRunMode() método. Ele usa o sys_id de origem fornecido em source_record_ids. Aqui, a contagem de itens de linha é menor que 10, portanto runModeestá sincronizado.
    Nota:
    IBQConfigQuoteToOrderFlow é uma inclusão de script personalizada que pode ser criada estendendo o. IBQConfigBase API. A lógica dos métodos substituíveis deve ser adicionada à inclusão de script IBQConfigQuoteToOrderFlow.
    var ibqParams = {
      "source_record_ids": "0b0f5cc8f11f3110f8777d7194f16610",
      "requested_flow": "0feb6d9da36271105c24939ef31e61dc",
      "initiated_by": "admin",
      "source_table": "sn_quote_mgmt_core_quote",
      "table": "sn_ind_tmt_orm_order",
      "payload": {}
    };
    
    var service = new sn_quote_mgmt.IBQConfigQouteToOrderFlow();
    
    var runMode = service.getRunMode(ibqParams);
    
    gs.info("RunMode = "+JSON.stringify(runMode));
    Saída:
    RunMode = "sync"

    IBQConfigBase – processInboundQueueRequest(GlideRecord ibqGr)

    Define a lógica para processar um registro de solicitação de entrada.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    IbqGr GlideRecord GlideRecord Referência ao registro de solicitação de entrada que acionou o fluxo.

    Tabela: Solicitação de entrada [sn_tmt_core_inbound_queue]  

    Tabela 6. Retornos
    Tipo Descrição
    Objeto Um objeto JSON que contém os detalhes de processamento do registro de solicitação de entrada.
    {
      "error": "String",
      "response": {Object},
      "status": "String",
      "target": "String"
    }
    erro Valor que indica o erro encontrado ao processar a solicitação.

    Tipo de dados: Cadeia de caracteres

    resposta Um objeto JSON que contém a resposta do processamento do registro de solicitação de entrada. Para fluxos criados pelo Lead para o Core de dinheiro PrimitiveUtil Esta saída pode ser fornecida usando CommitInstance() método.

    Tipo de dados: Objeto

    status Valor que indica o status do processamento da solicitação.
    Valores possíveis:
    • Falha - A operação falhou.
    • Partial_success - houve poucas falhas ao processar o objeto JSON. Consulte logs de processamento na tabela Log [syslog] para solucionar erros específicos.  
    • Sucesso - A operação foi bem-sucedida.

    Tipo de dados: Cadeia de caracteres

    target Opcional. Sys_id do registro de destino a ser usado para processamento posterior, como confirmação de IU. O destino pode ser criado durante o fluxo ou pode ser passado como entrada para ibqParamsde GerateParentRecord() método dependendo do requisito.

    Tipo de dados: Cadeia de caracteres

    O exemplo a seguir mostra como invocar ProcessInboundQueueRequest() método.
    Nota:
    Este método é chamado durante o fluxo usando Flow Designer. No exemplo a seguir, o Lead para o Núcleo de dinheiro PrimitiveUtil CommitInstance() o método é usado para fornecer a saída.
    var gr = new GlideRecord('sn_tmt_core_inbound_queue');
    gr.get('c48ea9974df02210f877142d1adc951a');
    
    var service = new sn_quote_mgmt.IBQConfigQuoteToOrderFlow();
    var processRequest = service.processInboundQueueRequest(gr);
    
    gs.info("processRequest = "+JSON.stringify(processRequest));
    Saída:
    processRequest = {
      "response": {
        "status": "success",
        "error": "",
        "message": "Commit operation successfully processed.",
        "displayMessage": "Commit operation successfully processed.",
        "dataObject": {
          "sys_id": "a6f4568bdce0aa10f877720033b5d069",
          "table": "sn_ind_tmt_orm_order",
          "attributes": {
            "account": {
              "value": "9e2fd2ee11b43110f877366201dea674"
            },
            "quote": {
              "value": "c8841a4bdce0aa10f877720033b5d0f8"
            }
          },
          "_glide_action": "UPDATE",
          "_source_object": {
            "sys_id": "c8841a4bdce0aa10f877720033b5d0f8",
            "table": "sn_quote_mgmt_core_quote"
          },
          "lineItems": [
            {
              "sys_id": "-1",
              "table": "sn_ind_tmt_orm_order_line_item",
              "attributes": {
                "short_description": {
                  "value": "Home Automation Bundle"
                },
                "account": {
                  "value": "9e2fd2ee11b43110f877366201dea674"
                }
              },
              "_glide_action": "INSERT",
              "_source_object": {
                "sys_id": "afc4528bdce0aa10f877720033b5d0d0",
                "table": "sn_quote_mgmt_core_quote_line_item"
              },
              "characteristics": [],
              "lineItems": [
                {
                  "sys_id": "-1",
                  "table": "sn_ind_tmt_orm_order_line_item",
                  "attributes": {
                    "short_description": {
                      "value": "Door Sensor"
                    },
                    "account": {
                      "value": "9e2fd2ee11b43110f877366201dea674"
                    }
                  },
                  "_glide_action": "INSERT",
                  "_source_object": {
                    "sys_id": "77c4528bdce0aa10f877720033b5d0d5",
                    "table": "sn_quote_mgmt_core_quote_line_item"
                  },
                  "characteristics": [],
                  "lineItems": [],
                  "pricingAdjustments": [
                    {
                      "sys_id": "-1",
                      "table": "sn_ind_tmt_orm_pricing_adjustment",
                      "attributes": {
                        "name": {
                          "value": "door sensor bundle discount"
                        }
                      },
                      "_glide_action": "INSERT",
                      "_source_object": {
                        "sys_id": "f3c4928bdce0aa10f877720033b5d02f",
                        "table": "sn_quote_mgmt_core_pricing_adjustment"
                      },
                      "_commitObjectInfo": {
                        "sys_id": "e6955acbdce0aa10f877720033b5d082",
                        "status": "success"
                      }
                    }
                  ],
                  "coveredProducts": [],
                  "attributeAdjustment": [],
                  "_commitObjectInfo": {
                    "sys_id": "26955acbdce0aa10f877720033b5d07d",
                    "status": "success"
                  }
                }
              ],
              "pricingAdjustments": [],
              "coveredProducts": [],
              "attributeAdjustment": [],
              "_commitObjectInfo": {
                "sys_id": "22955acbdce0aa10f877720033b5d078",
                "status": "success"
              }
            }
          ],
          "_commitObjectInfo": {
            "status": "success"
          }
        },
        "headerID": "a6f4568bdce0aa10f877720033b5d069",
        "rootLineIDs": [
          "22955acbdce0aa10f877720033b5d078"
        ]
      },
      "status": "success",
      "error": "",
      "target": "a6f4568bdce0aa10f877720033b5d069"
    }

    IBQConfigBase – setExecuteAfterRequest(Object ibqParams)

    Define o. execute_after valor e atualizações estado Para Pendente no registro de solicitação de entrada atual para configurar a ordem em que os registros são processados na tabela Solicitação de entrada.

    . SetExecuteAfterRequest() o método pode ser substituído para derivar o. execute_aftervalor de outros parâmetros. Por padrão, este método consulta a tabela Solicitação de entrada [sn_tmt_core_inbound_queue] para encontrar o registro mais recente com correspondência source_record_ids, record_ide resourcevalores. Em seguida, este método atualiza os registros atuais execute_after campo com o sys_id do registro consultado, marcando o registro atual a ser processado após o registro consultado. Como resultado, SetExecuteAfterRequest() estabelece a ordem na qual os registros são processados.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    IbqParams Objeto Objeto JSON que contém os detalhes dos registros de solicitação de entrada a serem definidos. Esses parâmetros incluem o sys_id do registro a ser processado antes do registro atual e o nome do fluxo de trabalho a ser filtrado na tabela Solicitação de entrada [sn_tmt_core_inbound_queue].
    {
      "account": "String",
      "consumer": "String",
      "contact": "String",
      "execute_after": "String",
      "payload": {Object},
      "record_id": "String",
      "requested_flow": "String",
      "resource": "String",
      "source_record_ids": [Array],
      "source_table": "String",
      "table": "String"
    }
    conta Cadeia de caracteres Opcional. Informações sobre a conta associada ao registro.

    Tabela: Conta [customer_account]

    cliente Cadeia de caracteres Opcional. Informações sobre o consumidor associado ao registro.

    Tabela: Consumidor [csm_consumer]

    contato Cadeia de caracteres Opcional. Informações sobre o contato associado ao registro.

    Tabela: Contato [customer_contact]

    IbqParams.execute_after Cadeia de caracteres Opcional. Sys_id da solicitação de entrada a ser processada antes da solicitação atual.

    Tabela: Solicitação de entrada [sn_tmt_core_inbound_queue]

    carga Objeto Opcional. Objeto JSON necessário para processar a solicitação usando PrimitiveUtil() API. Para obter informações de uso, consulte LeadToCasCore .
    "payload": {
      "additionalParams": {Object},
      "context": {Object},
      "inputParams": {Object}
      "source": [Array of Objects],
      "target": [Array of Objects]
    }
    Payload.additionalParams Objeto Opcional. Parâmetros adicionais a serem usados.
    "additionalParams": {
      "action": "String",
      "actionReason": "String"
      "endDate": "Date",
      "skipLines": "Boolean",
      "startDate": "Date"
    }
    Carga.Parâm.additionalParams.action Cadeia de caracteres Opcional. Especifica o tipo de ação declarativa que está sendo executada. Para obter mais informações, consulte Customer Life Cycle Management Workflows.
    Valores possíveis:
    • desconectar
    • modificar
    • resume
    • suspender
    Parâmetosadicionais.actionReason Cadeia de caracteres Opcional. Propriedade usada em fluxos que usam ações declarativas. Motivo da ação.
    Parâmetrosadicionais.endDate Cadeia de caracteres Opcional. Data de término necessária para executar fluxos usando ações declarativas.

    Formato: aaaa-MM-dd HH:mm:ss

    Payload.additionalParams.skipLines Booliano Opcional. Sinalizador que indica se itens de linha devem ser obtidos para a entidade especificada.
    Valores válidos:
    • Verdadeiro: Ignore o retorno de informações de itens de linha para a entidade.
    • Falso: Retorna informações de itens de linha da entidade.
    Padrão: falso
    Carga.Parâm.additionalData.StartDate Cadeia de caracteres Opcional. Data de início para executar fluxos usando ações declarativas.

    Formato: aaaa-MM-dd HH:mm:ss

    contexto.carga Objeto Opcional. Opções de parâmetro adicionais para exibir valores de atributo e invocar mais de uma instância por vez.
    "context": {
      "isMultiSelect": "Boolean",
      "sourceToTargetConfigID": "String"
    }
    Context.isMultiSelect Booliano Opcional. Sinalizador que indica se várias entidades devem ser aprovadas como entrada para criar a instância.
    Valores válidos:
    • Verdadeiro: Permite passar vários itens de linha em uma lista separada por vírgulas.
    • Falso: Somente um item de entrada pode ser passado no script.
    Padrão: falso
    Payload.context.sourceToTargetConfigID Cadeia de caracteres Opcional. ID de configuração de mapeamento para o mapeamento de origem para destino.

    Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping]

    payload.inputParams Objeto Opcional. Este objeto é um espaço reservado para todos os parâmetros de entrada necessários para invocar o uso de um fluxo específico.
    "inputParams": {}
    carga.source Matriz Opcional. Objeto JSON que contém detalhes da entidade de origem da qual recuperar dados.
    "source": [
      {
        "headerId": "String",
        "lineIds": []
      }
    ]
    Load.source.headerId Cadeia de caracteres Opcional. Cabeçalho sys_id da entidade de origem da qual recuperar dados.
    • Necessário se você não fornecer lineIdsparâmetro.
    • Passe nulo se você não estiver passando nenhum sys_ids de cabeçalho.
    Payload.source.lineIds Matriz Opcional. Matriz que contém sys_id(s) do item de linha de origem de uma entidade da qual recuperar dados da entidade.

    Obrigatório se você não fornecer o ID do cabeçalho e se a estrutura da entidade começar com itens de linha, como produto vendido.

    carga.target Matriz Opcional. Objeto JSON que contém detalhes da entidade de destino.
    "target": [
      {
        "headerId": "String",
        "lineIds": []
      }
    ]
    Payload.target.headerId Cadeia de caracteres Opcional. Cabeçalho sys_id da entidade de destino da qual recuperar dados. Necessário se você não fornecer lineIdsparâmetro. Passe nulo se você não estiver passando nenhum sys_ids de cabeçalho.
    Payload.target.lineIds Matriz Opcional. Matriz que contém sys_id(s) do item de linha de destino de uma entidade da qual recuperar dados da entidade. Obrigatório se você não fornecer o ID do cabeçalho e se a estrutura da entidade começar com itens de linha, como produto vendido.
    record_id Cadeia de caracteres Opcional. Sys_id do registro de destino, se já estiver presente.
    requested_flow Cadeia de caracteres Opcional. ID de configuração de mapeamento para mapeamento de origem a destino. Esta propriedade é necessária para fluxos usando Entity configuration and mapping.

    Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping]

    IbqParams.resource Cadeia de caracteres Nome do fluxo que cria o registro na tabela Solicitação de entrada (por exemplo, uma cotação ou pedido). Este valor é usado para encontrar registros dependentes do mesmo tipo para determinar a ordem de processamento de registro.
    source_record_ids Matriz Matriz que contém os sys_ids dos registros de origem.
    source_table Cadeia de caracteres Nome da tabela que contém o registro de origem do fluxo.
    tabela Cadeia de caracteres Nome da tabela que contém o registro de destino do fluxo.
    Tabela 8. Retornos
    Tipo Descrição
    Nenhum(a)

    No exemplo a seguir, o script consulta a tabela Solicitação de entrada [sn_tmt_core_inbound_queue] para encontrar o registro mais recente com valores source_record_ids, record_id e resource correspondentes. Em seguida, o script chama o. SetExecuteAfterRequest() método para atualizar o valor execute_after do registro atual com o sys_id do registro obtido e define seu estado como pendente. Como resultado, o registro atual será executado após o registro especificado no campo execute_after.

    var ibqParams = { 
      "source_record_ids": "e32e29fd28d26a14f8775b8f954723b8",
      "record_id":"b9be293128166a14f8775b8f9547239f", 
      "requested_flow": "0feb6d9da36271105c24939ef31e61dc", 
      "initiated_by": "admin", 
      "source_table": "sn_quote_mgmt_core_quote", 
      "table": "sn_ind_tmt_orm_order", 
      "payload": {
      "context": {}}, 
      "resource": "quote_to_order" 
     }; 
    
    new sn_tmt_core.IBQConfigBase().setExecuteAfterRequest(ibqParams);

    Este método não retorna nenhuma saída.