Función: Rutina automática ATFA010 - Actualización de activos inmovilizados


Alcances:

Microsiga Protheus 11 , Protheus 10

Versiones:

Protheus 10

Compatible países:

Todos

Sistemas operativos:

Todos

Compatible con las bases de datos:

Todos

Nivel de acceso:

Nivel 1 (Acceso clientes)

Idiomas:

Portugués (Brasil) , Portugués (Portugal) , Español , Inglés


Descripción
Esta rutina permite incluir bienes de manera automática.
Programa fuente:
atfa010.prw
Sintaxis:

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

Parámetros:


Nombre

Tipo

Descripción

aCabec

Array

Array con los campos del encabezado (SN1).

aItens

Array

Array que contiene los campos de los ítems (SN3).

nOpc

Array

3- Inclusión

4- Es necesario modificar el uso del campo LINPOS para ubicar el bien

5- Es necesario eliminar el uso del campo LINPOS para ubicar el bien y el AUTDELETA para que sea eliminado

aParamAuto

Array

Array con las respuestas para la Pregunta(SX1) de la rutina



Ejemplos

Ejemplo de inclusión

User Function Myatfa010Inc()
Local aItens := {}
Local aDadosAuto := {} // Array con los datos que serán enviados por la MsExecAuto() para grabación automática de los ítems del activo
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' ,'987' ,NIL} }
// Array con los datos que serán enviados por la MsExecAuto() para grabación automática de la envoltura del bien
Private lMsHelpAuto := .f. // Determina si los mensajes de help se deben orientar al arch. de log
Private lMsErroAuto := .f. // Determina si hubo alguna inconsistencia al ejecutar la rutina
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 con los datos que serán enviados por la MsExecAuto() para grabación automática del ítem tipo 01
aAdd(aItens,{ {'N3_TIPO' ,'10' , NIL},;
{'N3_HISTOR' ,"INCLUSÃO TIPO 10 " , 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 con los datos que serán enviados por la MsExecAuto() para grabación automática del ítem tipo 10
MSExecAuto( {|X,Y,Z| ATFA010(X,Y,Z)} ,aCab ,aItens, 3)
If lMsErroAuto
lRetorno := .F.
MostraErro()
Else
lRetorno:=.T.
EndIf
Return

____________________________________________________________________________________________________________________________________________________________________________________

Ejemplo de modificación

User Function AltMyatfa010()
Local aItens := {}
Local aDadosAuto := {} // Array con los datos que serán enviados por la MsExecAuto() para grabación automática de los ítems del activo
Local cHistorico := "Historial "+ time()
Local aCab := { {'N1_FILIAL' ,(PADR('01',Len(SN1->N1_FILIAL)," ")) ,NIL},;
{'N1_CBASE' ,(PADR('13',Len(SN1->N1_CBASE)," ")) ,NIL},;
{'N1_ITEM' ,(PADR('01',Len(SN1->N1_ITEM)," ")) ,NIL},;
{'N1_DESCRIC' ,cHistorico ,NIL},;
{'N1_CHAPA' ,'987' ,NIL} }
// Array con los datos que serán enviados por la MsExecAuto() para grabación automática de la envoltura del bien
Private lMsHelpAuto := .f. // Determina si los mensajes de help se deben orientar al arch. de logPrivate
lMsErroAuto := .f. // Determina si hubo alguna inconsistencia al ejecutar la rutina
aAdd(aItens,{ {'N3_TIPO' ,'01' , NIL},;
{'N3_HISTOR' ,"TIPO 01 "+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","01"} })

//array con los datos que serán enviados por la MsExecAuto() para grabación automática del ítem 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| ATFA010(X,Y,Z)} ,aCab ,aItens, 4)
If lMsErroAuto
lRetorno := .F.
MostraErro()
Else
lRetorno:=.T.
EndIf
Return