Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | TOTVS Frete Embarcador - Gestão de Frete Embarcador (SIGAGFE) |
Função: | CDF601/CDAPI800 - Integração Datasul x GFE |
Ticket: | - |
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGGFE-13112 |
Permitir o envio de informações específicas para a realização da simulação de frete no SIGAGFE.
Foi necessário a abertura de dois pontos UPCs:
Caso o específico identifique informações específicas que devem ser enviadas para integração, deverá retornar na tabela temporária tt-epc.
IF p-ind-event = "MessageWs":U THEN DO: FIND FIRST tt-epc NO-LOCK WHERE tt-epc.cod-event = p-ind-event AND tt-epc.cod-parameter = "nota-fiscal-tr":U NO-ERROR. IF AVAIL tt-epc THEN DO: ASSIGN htt1 = WIDGET-HANDLE(tt-epc.val-parameter) NO-ERROR. IF ERROR-STATUS:ERROR THEN NEXT. CREATE BUFFER hBTTNotaFiscalTR FOR TABLE htt1 BUFFER-NAME "tt-nota-fiscal-tr". CREATE QUERY hQTTNotaFiscalTR. hQTTNotaFiscalTR:SET-BUFFERS(hBTTNotaFiscalTR). IF VALID-HANDLE(hQTTNotaFiscalTR) THEN ASSIGN hQTTNotaFiscalTR:FORWARD-ONLY = YES. hQTTNotaFiscalTR:QUERY-PREPARE("FOR EACH tt-nota-fiscal-tr"). hQTTNotaFiscalTR:QUERY-OPEN. hQTTNotaFiscalTR:GET-FIRST. DO WHILE NOT(hQTTNotaFiscalTR:QUERY-OFF-END): ASSIGN h-nota-fiscal-tr-char-1 = hBTTNotaFiscalTR:BUFFER-FIELD("char-1"). CREATE tt-epc. ASSIGN tt-epc.cod-event = p-ind-event tt-epc.cod-parameter = "InfAdicional" tt-epc.val-parameter = h-nota-fiscal-tr-char-1:BUFFER-VALUE. hQTTNotaFiscalTR:GET-NEXT. END. END. END. |
Não é retornada nenhuma informação ao programa cdapi800.
IF p-ind-event = "after-create-simul-nota-fisc" THEN DO: FIND FIRST tt-epc WHERE tt-epc.cod-event = "after-create-simul-nota-fisc" AND tt-epc.cod-parameter = "handle-tt-notas-geradas" NO-LOCK NO-ERROR. IF AVAIL tt-epc THEN DO: ASSIGN htt1 = WIDGET-HANDLE(tt-epc.val-parameter) NO-ERROR. IF ERROR-STATUS:ERROR THEN NEXT. CREATE BUFFER hBTTNotasGeradas FOR TABLE htt1 BUFFER-NAME "tt-notas-geradas". CREATE QUERY hQTTNotasGeradas. hQTTNotasGeradas:SET-BUFFERS(hBTTNotasGeradas). IF VALID-HANDLE(hQTTNotasGeradas) THEN ASSIGN hQTTNotasGeradas:FORWARD-ONLY = YES. hQTTNotasGeradas:QUERY-PREPARE("FOR EACH tt-notas-geradas"). hQTTNotasGeradas:QUERY-OPEN. hQTTNotasGeradas:GET-FIRST. DO WHILE NOT(hQTTNotasGeradas:QUERY-OFF-END): ASSIGN h-rw-nota-fiscal = hBTTNotasGeradas:BUFFER-FIELD("rw-nota-fiscal"). FIND FIRST nota-fiscal EXCLUSIVE-LOCK WHERE rowid(nota-fiscal) = h-rw-nota-fiscal:BUFFER-VALUE NO-ERROR. IF AVAIL nota-fiscal THEN DO: ASSIGN i-c = 0 cDesObs = "". FOR EACH simul-nota-fisc NO-LOCK WHERE simul-nota-fisc.cod-estab = nota-fiscal.cod-estabel AND simul-nota-fisc.cod-ser-nf = nota-fiscal.serie AND simul-nota-fisc.cod-nota-fisc = nota-fiscal.nr-nota-fis : ASSIGN i-aux = 1 n-valor-pedagio = 0. DO i-cont = 1 to 8: IF TRIM(SUBSTRING(simul-nota-fisc.cod-livre-3,i-aux,20)) <> '' AND trim(SUBSTRING(simul-nota-fisc.cod-livre-3,i-aux + 20,15)) <> '' THEN /*IF TRIM(SUBSTRING(simul-nota-fisc.cod-livre-3,i-aux,20)) = "PEDAGIO" THEN*/ IF TRIM(SUBSTRING(simul-nota-fisc.cod-livre-3,i-aux,20)) MATCHES ("*PEDAGIO*") THEN ASSIGN n-valor-pedagio = decimal(SUBSTRING(simul-nota-fisc.cod-livre-3,i-aux + 20,15)). ASSIGN i-aux = i-aux + 35. END. ASSIGN i-c = i-c + 1. FIND FIRST transporte NO-LOCK WHERE transporte.cgc = simul-nota-fisc.cod-cgc-clien NO-ERROR. IF AVAIL transporte THEN DO: ASSIGN c-nome = transporte.nome-abrev. END. IF i-c = 1 THEN DO: ASSIGN cDesObs = "Transportador: " + c-nome + " Valor do Frete: " + STRING(simul-nota-fisc.val-combin-clien). END. IF i-c > 1 THEN DO: ASSIGN cDesObs = cDesObs + "Transportador: " + c-nome + " Valor do Frete: " + STRING(simul-nota-fisc.val-combin-clien). END. IF n-valor-pedagio <> 0 THEN DO: ASSIGN cDesObs = cDesObs + "Valor do Ped gio: " + STRING(n-valor-pedagio). END. END. IF not nota-fiscal.observ-nota MATCHES "*" + cDesObs + "*" THEN DO: ASSIGN nota-fiscal.observ-nota = nota-fiscal.observ-nota + cDesObs. END. END. hQTTNotasGeradas:GET-NEXT. END. END. |
Não se aplica.
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |