Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsInclusão, Alteração, Exclusão
idsInclusao,Alteracao,Exclusao
Totvs custom tabs box items
defaultyes
referenciaInclusao

Exemplo básico para a execução de Inclusão de Metas de Venda via Rotina Automática:

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFATA050

Local cDescri 	:= "META DE VENDA"
Local cVend1	:= "Vend01"
Local nQtd1     := 1
Local nValor1   := 100
Local cVend2	:= "Vend02"
Local nQtd2     := 2
Local nValor2   := 200
Local nOpcX     := 3
Local nCount    := 0
Local aErroAuto := {}

Private lMsErroAuto    := .F.
Private lAutoErrNoFile := .F.

//* Abertura do ambiente
ConOut("Inicio: " + Time())
 
ConOut(Repl("-",80))
ConOut(PadC("Inclusao de Meta de Venda", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3"

//* Inclusao - INÍCIO
aCabec  := {}
aGrid   := {}
aLinha  := {}

//--- Informando os dados do Cabeçalho
//****************************************************************
//* Por default da rotina o código da meta de venda é gerado de forma automática
//* Caso queira informar um código  especifico adicione o campo CT_DOC na array aCabec
//* Exemplo: aadd(aCabec, {"CT_DOC",     "Meta00001",     Nil})
//****************************************************************
aadd(aCabec, {"CT_DESCRI",  cDescri,   Nil})


//--- Informando os dados da Grid
aLinha := {}
aadd(aLinha,{"CT_SEQUEN",   '001',     Nil})
aadd(aLinha,{"CT_VEND",     cVend1,    Nil})
aadd(aLinha,{"CT_QUANT",    nQtd1,     Nil})
aadd(aLinha,{"CT_VALOR",    nValor1,   Nil})
aadd(aGrid, aLinha)

aLinha := {}
aadd(aLinha,{"CT_SEQUEN",   '002',     Nil})
aadd(aLinha,{"CT_VEND",     cVend2,    Nil})
aadd(aLinha,{"CT_QUANT",    nQtd2,     Nil})
aadd(aLinha,{"CT_VALOR",    nValor2,   Nil})
aadd(aGrid, aLinha)


//--- Commit da rotina
MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX)

If !lMsErroAuto
    ConOut("Incluida com sucesso!)
Else
    ConOut("Erro na inclusao!")
    aErroAuto := GetAutoGRLog()
    For nCount := 1 To Len(aErroAuto)
        cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " "
        ConOut(cLogErro)
    Next nCount
EndIf

RESET ENVIRONMENT
Return(.T.)
Totvs custom tabs box items
defaultno
referenciaAlteracao

Exemplo básico para a execução de Alteração de Metas de Venda via Rotina Automática:

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFATA050

Local cMeta  	:= "Meta00001" //Meta a ser alterada
Local cDescri 	:= "META DE VENDA ALT"
Local nOpcX     := 4
Local nCount    := 0
Local cSequen   := "002"
Local aErroAuto := {}

Private lMsErroAuto    := .F.
Private lAutoErrNoFile := .F.

//* Abertura do ambiente
ConOut("Inicio: " + Time())
 
ConOut(Repl("-",80))
ConOut(PadC("Alteracao de Meta de Venda", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3"

// Verifica se o registro que sera alterado existe
SCT->(DBSetOrder(1))
If SCT->(! MsSeek(xFilial("SCT") + cMeta + cSequen))
   cMsgLog += "Não foi localizada a Meta de Venda: " + cB1Cod + ",Sequencia: " + cSequen + CRLF
   lOk     := .F.
EndIf

//* Alteracao - INÍCIO
aCabec  := {}
aGrid   := {}
aLinha  := {}

//************************************************************************************************
//*** Neste exemplo estamos alterando a descrição no cabeçalho e a quantidade da sequencia 002 ***
//************************************************************************************************

//--- Informando os dados do Cabeçalho
aadd(aCabec, {"CT_DOC",     cMeta,     Nil})
aadd(aCabec, {"CT_DESCRI",  cDescri,   Nil})


//--- Informando os dados da Grid
aLinha := {}
aadd(aLinha,{"LINPOS",		"CT_SEQUEN" ,	'002'}) // Para alterar um item da grid é necessario informar sua sequencia com "LIMPOS"
aadd(aLinha,{"AUTDELETA",	"N" ,			Nil})
aadd(aLinha,{"CT_QUANT",    5,     			Nil})
aadd(aGrid, aLinha)


//--- Commit da rotina
MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX)

If !lMsErroAuto
    ConOut("Alterada com sucesso! " + cMeta)
Else
    ConOut("Erro na alteração!")
    aErroAuto := GetAutoGRLog()
    For nCount := 1 To Len(aErroAuto)
        cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " "
        ConOut(cLogErro)
    Next nCount
EndIf

RESET ENVIRONMENT
Return(.T.)
Totvs custom tabs box items
defaultno
referenciaExclusao

Exemplo básico para a execução de Exclusão de Metas de Venda via Rotina Automática:

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFATA050

Local cMeta  	:= "Meta00001"
Local nOpcX     := 5
Local nCount    := 0
Local aErroAuto := {}

Private lMsErroAuto    := .F.
Private lAutoErrNoFile := .F.

//* Abertura do ambiente
ConOut("Inicio: " + Time())
 
ConOut(Repl("-",80))
ConOut(PadC("Exclusão de Meta de Venda", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3"

// Verifica se o registro que sera alterado existe
SCT->(DBSetOrder(1))
If SCT->(! MsSeek(xFilial("SCT") + cMeta))
   cMsgLog += "Não foi localizada a Meta de Venda: " + CRLF
   lOk     := .F.
EndIf

//* Exclusão - INÍCIO
aCabec  := {}

//--- Informando os dados do Cabeçalho
aadd(aCabec, {"CT_DOC",     cMeta,     Nil})

//--- Commit da rotina
MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, , nOpcX)

If !lMsErroAuto
    ConOut("Excluida com sucesso! ")
Else
    ConOut("Erro na exclusão!")
    aErroAuto := GetAutoGRLog()
    For nCount := 1 To Len(aErroAuto)
        cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " "
        ConOut(cLogErro)
    Next nCount
EndIf

RESET ENVIRONMENT
Return(.T.)