CONTEÚDO
01. VISÃO GERAL
Esta rotina permite o cadastro de centro de custo de forma automática.
02. EXEMPLO DE UTILIZAÇÃO
Abaixo mostraremos exemplos de utilização.
Inclusão:
user function myCtb030()
Local aDadosAuto := {} // Array com os dados a serem enviados pela MsExecAuto() para gravacao automatica
Private lMsHelpAuto := .f. // Determina se as mensagens de help devem ser direcionadas para o arq. de log
Private lMsErroAuto := .f. // Determina se houve alguma inconsistencia na execucao da rotina em relacao aos
aDadosAuto:= { {'CTT_CUSTO' , "05700002 " , Nil},; // Especifica qual o Código do Centro de Custo.
{'CTT_CLASSE' , "2" , Nil},; // Especifica a classe do Centro de Custo, que poderá ser: - Sintética: Centros de Custo totalizadores dos Centros de Custo Analíticos - Analítica: Centros de Custo que recebem os valores dos lançamentos contábeis
{'CTT_NORMAL' , " " , Nil},; // Indica a classificação do centro de custo. 1-Receita ; 2-Despesa
{'CTT_DESC01' , "CENTRO CUSTO SQA TESTE MAPA METAL " , Nil},; // Indica a Nomenclatura do Centro de Custo na Moeda 1
{'CTT_BLOQ' , "2" , Nil},; // Indica se o Centro de Custo está ou não bloqueado para os lançamentos contábeis.
{'CTT_DTEXIS' , CTOD("01/01/80") , Nil},; // Especifica qual a Data de Início de Existência para este Centro de Custo
{'CTT_DTEXSF' , CTOD("31/12/29") , Nil},; // Especifica qual a Data final de Existência para este Centro de Custo.
{'CTT_CCLP' , "05700002 " , Nil},; // Indica o Centro de Custo de Apuração de Resultado.
{'CTT_CCPON' , " " , Nil},; // Indica o Centro de Custo Ponte de Apuração de Resultado.
{'CTT_BOOK' , " " , Nil},; // Este é o elo de ligação entre o Cadastro Configuração de Livros e a Centro de Custo
{'CTT_CCSUP' , "057 " , Nil},; // Indica qual é o Centro de Custo superior ao que está sendo cadastrado (dentro da hierarquia dos Centros de Custo).
{'CTT_RES' , " " , Nil}} // Indica um “apelido” para o Centro de Custo (que poderá conter letras ou números) e que poderá ser utilizado na digitação dos lançamentos contábeis, facilitando essa digitação.
MSExecAuto({|x, y| CTBA030(x, y)},aDadosAuto, 3)
If lMsErroAuto
MostraErro()
EndIf
return
Alteração:
#INCLUDE 'Protheus.ch'
user function mCtb030Alt()
Local aDadosAuto := {}
Local cCusto := "000001"
Private lMsHelpAuto := .F.
Private lMsErroAuto := .F.
DBSelectArea("CTT")
CTT->(DBSetOrder(1)) //CTT_FILIAL+CTT_CUSTO
If CTT->(DbSeek(xFilial("CTT")+cCusto))
aDadosAuto:= {{'CTT_CUSTO' , cCusto, Nil},; //Necessário passar o centro de custo para posicionamento do execauto
{'CTT_DESC01' , "DESCRICAO ALTERADA" , Nil}} //Descrição na moeda 01 -- Campo que será alterado
MSExecAuto({|x, y| CTBA030(x, y)},aDadosAuto, 4)
If lMsErroAuto
MostraErro()
EndIf
EndIf
return
Exclusão:
#INCLUDE 'Protheus.ch'
user function mCtb030Exc()
Local aDadosAuto := {}
Local cCusto := "1234"
Private lMsHelpAuto := .F.
Private lMsErroAuto := .F.
DBSelectArea("CTT")
CTT->(DBSetOrder(1)) //CTT_FILIAL+CTT_CUSTO
If CTT->(DbSeek(xFilial("CTT")+cCusto))
aDadosAuto:= {{'CTT_CUSTO' , cCusto, Nil}}//Necessário passar o centro de custo para posicionamento do execauto
MSExecAuto({|x, y| CTBA030(x, y)},aDadosAuto, 5)
If lMsErroAuto
MostraErro()
EndIf
EndIf
return
03. TABELAS UTILIZADAS