Árvore de páginas

Versões comparadas

Chave

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

...

Portuguese

Pagetitle
Rotina Automática ATFA010 - Atualização de Ativos Imobilizados
Rotina Automática ATFA010 - Atualização de Ativos Imobilizados

Função: Rotina Automática ATFA010 - Atualização de Ativos Imobilizados

 

Abrangências:Microsiga Protheus 11 , Protheus 10
Versões:Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Português (Brasil) , Português (Portugal) , Espanhol , Inglês

 

Descrição:
Esta rotina permite a inclusão de bens de forma automática.
Programa Fonte:
atfa010.prw
Sintaxe:

MSExecAuto( {|X,Y,Z,W| ATFA010(X,Y,Z,W)} ,aCab ,aItens, nOpc,aParamAuto)

Parâmetros:

 

NomeTipoDescrição
aCabecArrayArray contendo os campos do cabeçalho (SN1).
aItensArrayArray contendo os campos dos itens (SN3).
nOpcArray

3- Inclusão

4- Alteração é necessário o uso do campo LINPOS para localizar o bem

5- Exclusão é necessário o uso do campo LINPOS para localizar o bem e o AUTDELETA para que seja deletado

aParamAutoArrayArray contendo as respostas para a Pergunta(SX1) da rotina

 
Exemplos

Exemplo de Inclusão

User Function Myatfa010Inc()
Local aItens

#Include 'Protheus.ch'

 

User Function  Myatfa010()

 

Local aItens     := {}
Local aDadosAuto := {}          // Array com os dados a serem enviados pela MsExecAuto() para gravação automática gravacao automatica dos itens do ativo Local aParamAuto := {}
Local aCab := { {'N1_FILIAL' ,'01' ,NIL},;
     {'N1_CBASE' ,'13 ' ,NIL},;
     {'N1_ITEM' ,'01' ,NIL},;
     {'N1_AQUISIC' ,dDataBase ,NIL},;
     {'N1_DESCRIC' ,'MS EXEC AUTO' ,NIL},;
     {'N1_QUANTD' , 1 ,NIL},;
     {'N1_CHAPA' ,'1987' ,NIL} }                                                                                                       
// Array com os dados a serem enviados pela MsExecAuto() para gravação automática gravacao automatica da capa do bem
Private lMsHelpAuto := .f.      // Determina se as mensagens de help devem ser direcionadas para o arq. de log
Private lMsErroAuto := .f.      // Determina se houve alguma inconsistência inconsistencia na execução da rotina em relação aos parâmetros informadosexecucao da rotina
aAdd(aItens,{ {'N3_TIPO' ,'01' , NIL},;
{'N3_HISTOR' ,"INCLUSAOTIPO 01 " , NIL},;
{'N3_TPSALDO' ,'1' , NIL},;
{'N3_TPDEPR' ,'1' , NIL},;
{'N3_CCONTAB' ,'11101001 ' , NIL},;
{'N3_VORIG1' , 10000 , NIL},;
{'N3_VORIG2' , 20000 , NIL},;
{'N3_VORIG3' , 30000 , NIL},;
{'N3_VMXDEPR' , 0 , NIL},;
{'N3_VLSALV1' , 0 , NIL},;
{'N3_PERDEPR' , 0 , NIL},;
{'N3_PRODMES' , 0 , NIL},;
{'N3_PRODANO' , 0 , NIL},;
{'N3_DINDEPR' ,dDataBase ,NIL} } )  
//array com os dados a serem enviados pela MsExecAuto() para gravação automática gravacao automatica do item tipo 01
aAdd(aItens,{   {'N3_TIPO'   ,'0110'    , NIL},;
     {'N3_HISTOR'   ,'MS EXEC AUTO TIPO 01'   ,"INCLUSÃO TIPO 10 " , NIL},;
     {'N3_TPSALDO'   ,'1'    , NIL},;
     {'N3_TPDEPR'    ,'1'    , NIL},;
     {'N3_CCONTAB'   ,'4110111101001 ' , NIL},;
     {'N3_VORIG1'   , 10000 , NIL},;
     {'N3_VORIG2'   , 20000 , NIL},;
     {'N3_VORIG3'   , 30000 , , 30000 , NIL},;
{'N3_VMXDEPR' , 0 , NIL},;
{'N3_VLSALV1' , 0 , NIL},;
{'N3_PERDEPR' , 0 , NIL},;
{'N3_PRODMES' , 0 , NIL},;
     {'N3_PRODANO' , 0 , NIL},;
{'N3_DINDEPR'   ,dDataBase ,NIL} } )

 

//array com os dados a serem enviados pela MsExecAuto() para gravação automática do item tipo 10gravacao automatica do item tipo 10
MSExecAuto( {|X,Y,Z| ATFA010(X,Y,Z)} ,aCab ,aItens, 3)
If lMsErroAuto
lRetorno := .F.
MostraErro()
Else
lRetorno:=.T.
EndIf
Return

____________________________________________________________________________________________________________________________________________________________________________________

Exemplo de Alteração

User Function AltMyatfa010()
Local aItens := {}
Local aDadosAuto := {} // Array com os dados a serem enviados pela MsExecAuto() para gravacao automatica dos itens do ativo
Local cHistorico := "Histórico "+ time()
Local aCab := { {'N1_FILIAL' ,'01' ,NIL},;
{'N1_CBASE' ,'13 ' ,NIL},;
{'N1_ITEM' ,'01 ' ,NIL},;
{'N1_DESCRIC' ,cHistorico ,NIL},;
{'N1_CHAPA' ,'987' ,NIL} }
// Array com os dados a serem enviados pela MsExecAuto() para gravacao automatica da capa do bem
Private lMsHelpAuto := .f. // Determina se as mensagens de help devem ser direcionadas para o arq. de logPrivate
lMsErroAuto := .f. // Determina se houve alguma inconsistencia na execucao da rotina
aAdd(aItens,{   {'N3_TIPO'   ,'1001'    , NIL},;
     {'N3_HISTOR'   ,'MS EXEC AUTO TIPO 10'   "TIPO 01 "+cHistorico , NIL},;
     {'N3_TPSALDO'   ,'1'    , NIL},;
     {'N3_TPDEPR'    ,'1'    , NIL},;
     {'N3_CCONTAB'   ,'4110111101001 ' , NIL},;
     {'N3_VORIG1'   , 10000 , NIL},;
     {'N3_VORIG2'   , 20000 , NIL},;
     {'N3_VORIG3'   , 30000 , NIL},;
     {'N3_VMXDEPR' , 0 , NIL},;
{'N3_DINDEPRVLSALV1'   , dDataBase 0 , NIL} } )

 

// Parametros das perguntas da rotina atfa010

aAdd( aParamAuto, {"MV_PAR01", 2} ) //Pergunta 01 - Mostra Lanc.Contab ? 1 = Sim   ; 2 = Não

aAdd( aParamAuto, {"MV_PAR02", 1} ) //Pergunta 02 - Repete Chapa ?       1 = Sim   ; 2 = Não

aAdd( aParamAuto, {"MV_PAR03", 2} ) //Pergunta 03 - Descrição estendida? 1 = Sim   ; 2 = Não

aAdd( aParamAuto, {"MV_PAR04", 1} ) //Pergunta 04 - Copiar Valores ?     1 = Todos ; 2 = Sem Acumulados

,;
{'N3_PERDEPR' , 0 , NIL},;
{'N3_PRODMES' , 0 , NIL},;
{'N3_PRODANO' , 0 , NIL},;
{'N3_DINDEPR' ,dDataBase ,NIL} ,;
{"LINPOS","N3_TIPO","01"} })

//array com os dados a serem enviados pela MsExecAuto() para gravacao automatica do item tipo 01
aAdd(aItens,{ {'N3_TIPO' ,'10' , NIL},;
{'N3_HISTOR' ,"TIPO 10 "+cHistorico , NIL},;
{'N3_TPSALDO' ,'1' , NIL},;
{'N3_TPDEPR' ,'1' , NIL},;
{'N3_CCONTAB' ,'11101001 ' , NIL},;
{'N3_VORIG1' , 10000 , NIL},;
{'N3_VORIG2' , 20000 , NIL},;
{'N3_VORIG3' , 30000 , NIL},;
{'N3_VMXDEPR' , 0 , NIL},;
{'N3_VLSALV1' , 0 , NIL},;
{'N3_PERDEPR' , 0 , NIL},;
{'N3_PRODMES' , 0 , NIL},;
{'N3_PRODANO' , 0 , NIL},;
{'N3_DINDEPR' ,dDataBase ,NIL} ,;
{"LINPOS","N3_TIPO","10"} }) 

MSExecAuto( {|X,Y,Z,W| ATFA010(X,Y,Z,W)} ,aCab ,aItens, 3,aParamAuto4)  
If lMsErroAuto
    lRetorno lRetorno := .F.
    MostraErro MostraErro()
Else
    lRetorno lRetorno:=.T.
EndIf
Return


 Return