---
sourceDocument: Yokohama Finanças e cadeia de suprimentos
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/source-to-pay-operations

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Yokohama Finanças e cadeia de suprimentos

ft:clusterId :

    - stpop

bundleId :

    - stpop

workflow :

    - Creator


---

# Execute o script de correção para Operações de contas a pagar

# Execute o script de correção para Operações de contas a pagar {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Execute o script de correção para instalação bem-sucedida de Operações de contas a pagar.

## Antes de Iniciar

* Instalar `Processamento de fatura de contas a pagar `plug-in.
* Execute o script de correção para a exceção de fundos insuficientes (variação do valor do cabeçalho) para funcionar.
* Defina o. Escopo da aplicação para Arquitetura comum da origem ao pagamento .
* Todas as faturas associadas à ordem de compra devem estar disponíveis no sistema para que a exceção de fundos insuficientes (variação do valor do cabeçalho) funcione.
* Certifique-se de que as faturas tenham a mesma moeda de associada à moeda da ordem de compra para que a exceção seja executada com sucesso.
* Você pode executar o script de correção em lotes adicionando o comando `gr.setLimit(100000) `após a linha de comando `AddEncodedQuery("IN_PROCESS_Fatured_AMOUNTISEMPTY" `. Execute o script em lotes de 100k ou 200k.
* Certifique-se de que os POs estejam atualizados com Valor da fatura em processo e. Valor da fatura campos.  
  Nota:  
  Se o script de correção não for executado para POs, a exceção de fundos insuficientes (variação do valor do cabeçalho) associada a uma fatura não funcionará.

{#run-fix-script-for-apo__ul_gyr_r44_dzb}

Função necessária: administrador

## Procedimento

1. Navegar até TudoDefinição do SistemaScripts de correção.
2. Clique em Novo.  
   Um novo registro de script de correção é aberto.
3. Em Nome insira o nome como `Atualizar valores faturados da OC para APO `.
4. Em Script copie e cole o script mencionado abaixo.

    updatePOInvoicedAmounts();

    function updatePOInvoicedAmounts() {
        var sessionCurrency = new sn_currency.GlideCurrencyConfig().getSessionCurrency();
        var gr = new GlideRecord("sn_shop_purchase_order");
        gr.addEncodedQuery('in_process_invoiced_amountISEMPTY');
        gr.query();
        while (gr.next()) {
            var poSysID = gr.getValue('sys_id');
            var inProcessInvoiceAmt = getInProcessInvoicedAmount(poSysID);
            var invoicedAmount = getInvoicedAmount(poSysID);
            var poCurrency = !gs.nil(gr.total_amount) ? gr.total_amount.currency : sessionCurrency;
            var amtUpdated = false;
            if (!gs.nil(inProcessInvoiceAmt)) {
                inProcessInvoiceAmt = poCurrency + ';' + inProcessInvoiceAmt;
                gr.getElement('in_process_invoiced_amount').setDisplayValue(inProcessInvoiceAmt);
                amtUpdated = true;
            }
            if (!gs.nil(invoicedAmount)) {
                invoicedAmount = poCurrency + ';' + invoicedAmount;
                gr.getElement('invoiced_amount').setDisplayValue(invoicedAmount);
                amtUpdated = true;
            }
            if (amtUpdated)
                gr.update();
        }
    }
     
    function getInProcessInvoicedAmount(poSysId) {
        var query = 'invoice_amountISNOTEMPTY,^invoice_amount.amount!=0^stateINpo_matching_completed,exceptions_found,no_exceptions_found,pending_approval,approval_recalled,approved';
        var gr = new GlideAggregate('sn_shop_invoice');
        gr.addNotNullQuery('purchase_order');
        gr.addQuery('purchase_order', poSysId);
        gr.addEncodedQuery(query);
        gr.addAggregate('SUM', 'invoice_amount.amount');
        gr.groupBy('purchase_order');
        gr.query();
        if (gr.next()) {
            var inProcessInvoicedAmt = gr.getAggregate('SUM', 'invoice_amount.amount');
            return inProcessInvoicedAmt;
        }
        return 0;
    }
     
    function getInvoicedAmount(poSysId) {
        var query = 'invoice_amountISNOTEMPTY,^invoice_amount.amount!=0^stateINpending_payment,paid';
        var gr = new GlideAggregate('sn_shop_invoice');
        gr.addNotNullQuery('purchase_order');
        gr.addQuery('purchase_order', poSysId);
        gr.addEncodedQuery(query);
        gr.addAggregate('SUM', 'invoice_amount.amount');
        gr.groupBy('purchase_order');
        gr.query();
        if (gr.next()) {
            var invoicedAmt = gr.getAggregate('SUM', 'invoice_amount.amount');
            return invoicedAmt;
        }
        return 0;
    }

5. Clique em Enviar.
6. Na exibição da lista de scripts de correção, pesquise e selecione `Atualizar valores faturados da OC para APO `script de correção.  
   . `Atualizar valores faturados da OC para APO `o script de correção é aberto.
7. Selecione Executar script de correção .  
   Uma janela pop-up é exibida com opções para Cancelar , Prosseguir e. Prosseguir em segundo plano .
8. Clique em Prosseguir em segundo plano .

