Árvore de páginas

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:

Rotina

Nome Técnico

TECA250

Contrato de Prestação de Serviços

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