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 |
Esta rutina permite incluir bienes de manera automática.
atfa010.prw
MSExecAuto( {|X,Y,Z,W| ATFA010(X,Y,Z,W)} ,aCab ,aItens, nOpc,aParamAuto)
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 |
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