01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|
Segmento: | Supply Chain - Logística |
---|
Módulo: | SIGAGFE |
---|
Função: | GFEA084 |
---|
Ticket: | 4613048 |
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGGFE-8422 |
---|
02. SITUAÇÃO/REQUISITO
Há a necessidade de gravar a Tabela do Cálculo de Frete (GWG) na rotina do Frete Combinado (GFEA084), quando executada de forma automática.
Atualmente, a rotina GFEA084 apenas suporta as tabelas GWF (Cálculo de Frete), GWI (Componente do Cálculo de Frete) e GWH (Documento do Cálculo de Frete).
03. SOLUÇÃO
A rotina foi alterada para permitir a inclusão de registros na tabela GWG de forma automática (apenas sem interface).
A inclusão é opcional, e essa tabela não é visível na tela de inclusão\alteração\visualização\exclusão.
Procedimentos para criação:
...
tabs | Passo 01, Passo 02, Passo 03, Passo 04 |
---|
ids | passo1,passo2,passo3 |
---|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | passo1 |
---|
|
Criar uma rotina automática no padrão MVC para incluir um Frete Combinado na rotina GFEA084. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo2 |
---|
|
Executar a rotina automática. A tela de confirmação de cálculo não deve ser exibida. |
...
default | no |
---|
referencia | passo3 |
---|
...
.
04. DEMAIS INFORMAÇÕES
...
As funcionalidades de tela não devem ser afetadas por essa alteração
...
.
...
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function XGFE003()
Local nInd
Local cNumCalc
Local cObsGwf
Local cCodCom
Local nTotFrt
Local cNUMDOC
Local cSerDoc
Local cTpDoc
Local dEmisDc
Local nTrecho
Local oModelGFE
Local aErro
Local cCDCLFR := ''
Local cCDTPOP := ''
Local cCDEMIT := ''
Local cNRTAB := ''
Local cNRNEG := ''
Local cCDFXTV := ''
Local cNRROTA := ''
oModelGFE := FWLoadModel("GFEA084")
oModelGFE:SetOperation( MODEL_OPERATION_INSERT )
oModelGFE:Activate()
aErro := {}
cNumCalc := '00002069'
cObsGwf := 'Observação teste'
cCodCom := 'FRETE PESO'
nTotFrt := 252.27
cNUMDOC := '20190228'
cSerDoc := 'UN'
cTpDoc := 'NFS'
dEmisDc := '77170'
nTrecho := '01'
// GWG - Tabela do Cálculo de Frete
cCDCLFR := '0001' // Classe de Frete
cCDTPOP := '1' // Tipo de Operação
cCDEMIT := '1' // Emissor
cNRTAB := '151003' // Tabela de Frete
cNRNEG := '800' // Negociação
cCDFXTV := '1' // Sequência Faixa
cNRROTA := '60' // Rota
oModelGFE:SetValue( 'GFEA084_GWF', 'GWF_FILIAL' , xFilial() )
oModelGFE:SetValue( 'GFEA084_GWF', 'GWF_NRCALC' , cNumCalc )
oModelGFE:SetValue( 'GFEA084_GWF', 'GWF_DTCRIA' , dDataBase )
oModelGFE:SetValue( 'GFEA084_GWF', 'GWF_HRCRIA' , SubStr(TIME(),1,5) )
oModelGFE:SetValue( 'GFEA084_GWF', 'GWF_USUCRI' , RetCodUsr() )
oModelGFE:SetValue( 'GFEA084_GWF', 'GWF_OBS' , cObsGwf )
oModelGFE:SetValue( 'GFEA084_GWI', 'GWI_FILIAL' , xFilial() )
oModelGFE:SetValue( 'GFEA084_GWI', 'GWI_CDCOMP' , cCodCom )
oModelGFE:SetValue( 'GFEA084_GWI', 'GWI_VLFRET' , nTotFrt )
oModelGFE:SetValue( 'GFEA084_GWH', 'GWH_FILIAL' , xFilial() )
oModelGFE:SetValue( 'GFEA084_GWH', 'GWH_NRDC' , cNUMDOC )
oModelGFE:SetValue( 'GFEA084_GWH', 'GWH_SERDC' , cSerDoc )
oModelGFE:SetValue( 'GFEA084_GWH', 'GWH_CDTPDC' , cTpDoc )
oModelGFE:SetValue( 'GFEA084_GWH', 'GWH_EMISDC' , dEmisDc )
oModelGFE:SetValue( 'GFEA084_GWH', 'GWH_TRECHO' , nTrecho )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_FILIAL' , xFilial() )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_NRCALC' , cNumCalc )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_CDCLFR' , cCDCLFR )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_CDTPOP' , cCDTPOP )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_CDEMIT' , cCDEMIT )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_NRTAB' , cNRTAB )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_NRNEG' , cNRNEG )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_CDFXTV' , cCDFXTV )
oModelGFE:SetValue( 'GFEA084_GWG', 'GWG_NRROTA' , cNRROTA )
//Valida os dados informados
If oModelGFE:VldData()
//Confirma
oModelGFE:CommitData()
ConfirmSX8()
MsgInfo("Frete combinado gerado com sucesso!", "Integração SIGAGFE")
Else
RollBackSXE()
aErro := oModelGFE:GetErrorMessage()
Aviso("Integração SIGAGFE","Erro na geração do calculo: "+aErro[4]+"-"+aErro[6],{"OK"},3)
EndIf
oModelGFE:Deactivate()
oModelGFE:Destroy()
...
05. ASSUNTOS RELACIONADOS
...