Descripción

Función utilizada para generar apuntes de visitas a través de la rutina automática (ExecAuto).

Ejemplos

Function MyFata310()

Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local nX     := 0
Local nY     := 0
Local lOk    := .T.
PRIVATE lMsErroAuto := .F.

ConOut(Repl("-",80))
ConOut(PadC("Prueba de inclusión de 10 apuntes de venta con 1 ítem cada uno",80))
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FAT"

dbSelectArea("SA3")
dbSetOrder(1)
If !SA3->(DbSeek(xFilial("SA3")+"V00001"))
    lOk := .F.
    ConOut("Registrar vendedor: V00001")
EndIf
If !SB1->(DbSeek(xFilial("SB1")+"PA001"))
    lOk := .F.
    ConOut("Registrar producto: PA001")
EndIf
dbSelectArea("SA1")
dbSetOrder(1)
If !SA1->(DbSeek(xFilial("SA1")+"CL000101"))
    lOk := .F.
    ConOut("Registrar cliente: CL000101")
EndIf

If lOk
    ConOut("Inicio: "+Time())
    For nY := 1 To 10
        aCabec := {}
        aItens := {}
        aadd(aCabec,{"AD5_VEND"   ,"V00001",Nil})
        aadd(aCabec,{"AD5_DATA"   ,dDataBase,Nil})
        aadd(aCabec,{"AD5_SEQUEN" ,StrZero(nY,2),Nil})
        aadd(aCabec,{"AD5_CODCLI",SA1->A1_COD,Nil})
        aadd(aCabec,{"AD5_LOJA",SA1->A1_LOJA,Nil})

        For nX := 1 To 30
            aLinha := {}
            aadd(aLinha,{"AD6_ITEM",StrZero(nX,2),Nil})
            aadd(aLinha,{"AD6_CODPRO",SB1->B1_COD,Nil})
            aadd(aLinha,{"AD6_QUANT",1,Nil})
            aadd(aLinha,{"AD6_VLUNIT",100,Nil})
            aadd(aLinha,{"AD6_TOTAL",100,Nil})
            aadd(aItens,aLinha)
        Next nX

        //Prueba de
      inclusión
        FATA310(aCabec,aItens,3)

        If !lMsErroAuto
            ConOut("Incluido con éxito! ")    
        Else
            ConOut("¡Error al incluir!")
        EndIf
    Next nY

    ConOut("Final: "+Time())

    //Prueba de modificación

    //Modificar el último apunte realizado
    nY := nY - 1

    aCabec := {}
    aItens := {}
    aadd(aCabec,{"AD5_VEND"   ,"V00001",Nil})
    aadd(aCabec,{"AD5_DATA"   ,dDataBase,Nil})
    aadd(aCabec,{"AD5_SEQUEN" ,StrZero(nY,2),Nil})
    aadd(aCabec,{"AD5_CODCLI",SA1→A1_COD,Nil})
    aadd(aCabec,{"AD5_LOJA",SA1->A1_LOJA,Nil})

    For nX := 1 To 30
        aLinha := {}
        aadd(aLinha,{"LINPOS","AD6_ITEM",StrZero(nX,2)})
        aadd(aLinha,{"AD6_CODPRO",SB1->B1_COD,Nil})
        aadd(aLinha,{"AD6_QUANT",2,Nil})
        aadd(aLinha,{"AD6_VLUNIT",100,Nil})
        aadd(aLinha,{"AD6_TOTAL",200,Nil})
        aadd(aItens,aLinha)
    Next nX    

    ConOut(PadC("Prueba de modificación",80))
    ConOut("Inicio: "+Time())

    aItens := {}
    FATA310(aCabec,aItens,4)

    ConOut("Final: "+Time())
    ConOut(Repl("-",80))    

    //Teste de Exclusao
    ConOut(PadC("Prueba de eliminación",80))
    ConOut("Inicio: "+Time())

    FATA310(aCabec,aItens,5)

    If !lMsErroAuto
        ConOut("¡Eliminación con éxito! ")    
        Else
            ConOut("¡Error al eliminar!")
    EndIf

    ConOut("Final: "+Time())
    ConOut(Repl("-",80))
EndIf

RESET ENVIRONMENT

Return(.T.)

Idioma

Portugués (Brasil)

Versiones

Microsiga Protheus 10 e Microsiga Protheus11

Sistemas operativos compatibles

Todos

Compatible con las bases de datos

Todos

Parámetros

ACabec - Array qua contiene campos de encabezado.
AItems - Array que contiene campos de ítems.
NOpcAuto - 3- Incluir / 4- Modificar / 5- Eliminar

Eventos de llamada del Punto de Entrada

FATA310(aCabec,aItens,nOpcAuto)

Programa fuente

FATA310.PRW