Pesquisa

terça-feira, 21 de fevereiro de 2023

BOTÃO DE AÇÃO - UPDATE / TGFITE (Por período/Vendedor(tabela)) 2

 

Script 1

O script abaixo faz um update com:

  • Período
  • Escolhe vendedor na tabela (neste caso ele pega o vendedor do cabeçalho ou do item
    • Está condição foi colocado no where da seguinte forma:

(CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND})

Foi posta entre parênteses

 

  • Atualiza a observação com os números dos pedidos envolvidos

 

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("CODVEND", getParam("CODVEND"));

query.setParam("DTNEG_IN", getParam("DTNEG_IN"));

query.setParam("DTNEG_TM", getParam("DTNEG_TM"));

query.setParam("NUNOTA", getParam("NUNOTA"));

 

query.update("update TGFITE set QTDNEG=(SELECT SUM(ITE.QTDNEG) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ORCAMENTO is null AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

query.update("update TGFCAB set VLRFRETE=(SELECT SUM(CAB.VLRFRETE) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ORCAMENTO is null AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

 

query.update("update TGFCAB set OBSERVACAO =(SELECT LISTAGG('/ Pedido n. único: '||CAB.NUNOTA) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ORCAMENTO is null AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

 

    mensagem = "Quantidade e valor do Frete Atualizados";

 

    query.close();

 

}

 

 

Nenhum comentário: