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"
/*
Versão V2 - Incluída tabela GWG -> [DLOGGFE-8422 - 26.03.2019]
*/
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:Destroy()
Return
05. ASSUNTOS RELACIONADOS
...
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;
}
</style>
|
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
/*
*** Ticket ***
Estou efetuando a customização para que a partir do faturamento da NF seja criado o Romaneio de forma automática,
bem como criado o Frete Combinado referente ao romaneio.
Ocorre que após criar o romaneio e efetuar a informação dos dados do Frete Combinado (conforme trecho abaixo),
é apresentada a tela para efetuar a confirmação da inclusão deste calculo.
Existe uma forma de fazer com que não seja necessário confirmar a inclusão?
Versão V2 - Incluída tabela GWG -> [DLOGGFE-8422 - 26.03.2019]
*/
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()
...