EXECUÇÃO AUTOMÁTICA DA ROTINA CONTRATO DO CLIENTE (TECA250)
Características do Requisito
Linha de Produto: | Microsiga Protheus® | ||||
Segmento: | Supply Chain - Logística | ||||
Módulo: | SIGATMS - Gestão de Transportes | ||||
Rotina: |
| ||||
Observação: | Rotina em MVC Poderá ser executado automaticamente. Para mais detalhes acesse o documento: Exemplo de rotina automática para aplicações MVC | ||||
País(es): | Todos | ||||
Banco(s) de Dados: | Todos | ||||
Tabelas Utilizadas: | AAM - Contrato Prestação de Serviço DDA - Negociação do Cliente DDC - Serviço no Contrato | ||||
Sistema(s) Operacional(is): | Windows® / Linux® |
Descrição
Executar a rotina automática para inserção de contrato de prestação de serviço.
A nova estrutura das tabelas de contrato do cliente são:
http://tdn.totvs.com/display/public/PROT/DT+PCREQ-141+VAR278+Contrato+de+Cliente
Execauto
Descrição: | Execauto de inservção de contrato de prestação de serviço. |
Localização: | TECA250.PRW |
Eventos: | 3 = "Incluir" |
Exemplo:
#Include 'Protheus.ch'
User Function INC_TABFRE()
#include "protheus.ch"
#include "fwmvcdef.ch"
#include "tbiconn.ch"
Local oMdlTeca250 := nil
Local oMdl250 := nil
Local oMdGridDDA := nil
Local oMdGridDDC := nil
Local aErro := {}
Local cContrato := ""
Private INCLUI := .T.
Private ALTERA := .F.
oMdlTeca250 := fwLoadModel("TECA250")
oMdlTeca250:setOperation(3)
oMdlTeca250:activate()
oMdl250 := oMdlTeca250:getModel("MdFieldCAAM")
oMdGridDDA := oMdlTeca250:getModel("MdGridIDDA")
oMdGridDDC := oMdlTeca250:getModel("MdGridIDDC")
cContrato := getSxeNum("AAM", "AAM_CONTRT")
rollBackSx8()
oMdl250:setValue("AAM_CONTRT" , cContrato )
oMdl250:setValue("AAM_CODCLI" , "000004" )
oMdl250:setValue("AAM_LOJA" , "01" )
oMdl250:setValue("AAM_TPCONT" , "2" )
oMdl250:setValue("AAM_CLASSI" , "001" )
oMdl250:setValue("AAM_ABRANG" , "1" )
oMdl250:setValue("AAM_STATUS" , "1" )
oMdl250:setValue("AAM_INIVIG" , sToD("20180501") )
oMdl250:setValue("AAM_FIMVIG" , sToD("20180510") )
oMdl250:setValue("AAM_CPAGPV" , "01" )
oMdl250:setValue("AAM_TIPFRE" , "3" )
oMdl250:setValue("AAM_NFCTR" , 1 )
M->DDA_CODNEG := "01"
M->DDA_NCONTR := cContrato
oMdGridDDA:setValue("DDA_ITEM" , strZero(1, tamSx3("DDA_ITEM")[1]) )
oMdGridDDA:setValue("DDA_TABFRE" , "001" )
oMdGridDDA:setValue("DDA_TIPTAB" , "01" )
oMdGridDDA:setValue("DDA_SERVIC" , "SNE" )
M->DDC_NCONTR := cContrato
oMdGridDDC:setValue("DDC_ITEM" , strZero(1, tamSx3("DDC_ITEM")[1]) )
oMdGridDDC:setValue("DDC_CODNEG" , "01" )
oMdGridDDC:setValue("DDC_INIVIG" , sToD("20180501") )
oMdGridDDC:setValue("DDC_FIMVIG" , sToD("20180510") )
If oMdlTeca250:vldData()
If oMdlTeca250:commitData()
conOut("Processo executado com sucesso (TECA250)" + "Contrato : " + AAM→AAM_CONTRT)
Else
aErro := oMdlTeca250:getErrorMessage()
VarInfo("Erro durante o commit (TECA250)", aErro)
EndIf
Else
aErro := oMdlTeca250:getErrorMessage()
VarInfo("Erro durante a validacao (TECA250)", aErro)
EndIf
Return