Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS Logística Frete Embarcador

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Datasul

Segmento:

Segmentos_totvs
SegmentoLogística

Módulo:TOTVS
Logística
Frete Embarcador - Gestão de Frete Embarcador (SIGAGFE)
Função:CDF601/CDAPI800 - Integração Datasul x GFE
Ticket:
Não há
-
Requisito/Story/Issue (informe o requisito relacionado) :DLOGGFE-13112


02. SITUAÇÃO/REQUISITO

Permitir o envio de informações específicas para a realização da simulação de frete no SIGAGFE.

03. SOLUÇÃO

Foi necessário a abertura de dois pontos upcsUPCs:

1)

...

 Gerado ponto

...

UPC no programa cdf601, na procedure MessageWS que

...

gera a mensagem que será enviada ao GFE.

  • Código Evento =

...

  • MessageWSCódigo Parâmetro = nota-fiscal-tr
  • Valor Parâmetro = handle da tabela temporária tt-nota-fiscal-tr.

Caso o específico identifique informações específicas que devem ser enviadas para integração, deverá retornar na tabela temporária "tt tt-epc".

  • Código Evento = MessageWS
  • Código Parâmetro = InfAdicional 

...

Segue abaixo exemplo da utilização:

...



Bloco de código
titleExemplo de Utilização
collapsetrue
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.

2)

...

 Gerado ponto

...

UPC no programa

...

CDAPI800, na procedure pi-grava-simulacao.

  • Código Evento = after-create-simul-nota-fisc
  • Código Parâmetro = handle-tt-notas-gerradas
  • Valor Parâmetro = handle da tabela temporária tt-notas-geradas

Não é retornada nenhuma informação ao programa cdapi800.

Segue abaixo exemplo da utilização:

...



Bloco de código
titleExemplo de Utilização
collapsetrue
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.

04. DEMAIS INFORMAÇÕES

Não se aplica.

05. ASSUNTOS RELACIONADOS

...

05. ASSUNTOS RELACIONADOS

  • Não há.



Templatedocumentos


HTML
<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>