Descripción

Función utilizada para generar la previsión de ventas a través de la rutina automática (ExecAuto)

Ejemplos


#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MATA700()

    Local lOk := .T.
    Local aDados := {}
    Local nOpcao := 4 // Inclusión = 3 // Modificación = 4 // Borrado = 5

    PRIVATE lMsErroAuto := .F.
    PRIVATE lAutoErrNoFile := .T.


    //===============================================================//
    //                     Apertura del entorno                      //
    //===============================================================//

    ConOut(Repl("-",80))

    PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FAT" TABLES "SB1","SC4"

    //===============================================================//
    //              Verificación del entorno para prueba             //
    //===============================================================//

    dbSelectArea("SB1")
    dbSetOrder(1)
	
	//Campo B1_COD - Verifica se o produto existe.
    If !SB1->(MsSeek(xFilial("SB1")+"Cod_Produto"))
        lOk := .F.
        ConOut("Necesario registrar producto: Cod_Produto")
    EndIf
    
    ConOut("Inicio: "+Time())
    
    //===============================================================//
    //                          INCLUSIÓN                             //
    //===============================================================//  

    If lOk .and. nOpcao == 3
        ConOut(PadC("Prueba de inclusión de la previsión de ventas",80))

        aadd(aDados,{"C4_PRODUTO"  ,"Cod_Produto"       ,Nil})  //Campo B1_COD
        aadd(aDados,{"C4_LOCAL"    ,"01"                ,Nil})
        aadd(aDados,{"C4_DOC"      ,"Desc_Produto"      ,Nil})  //Campo B1_DESC
        aadd(aDados,{"C4_QUANT"    ,1                   ,Nil})
        aadd(aDados,{"C4_VALOR"    ,1                   ,Nil})
		//Se puede utilizar de la siguiente manera [ Date() +10 ] para sumar la fecha actual hasta alcanzar la deseada
        aadd(aDados,{"C4_DATA"     ,Date()              ,Nil})  .
        aadd(aDados,{"C4_OBS"      ,"TESTE"             ,Nil})

        MATA700(aDados,3)
        
        If !lMsErroAuto
            ConOut("¡Inclusión realizada con éxito!")
        Else
            aErro := GetAutoGRLog()
            cErro := "No se pudo realizar la inclusión"
            Conout( cErro )
        EndIf

    //==================================================================//
    //                          MODIFICACIÓN                            //
    //==================================================================// 

    ElseIf lOk .and. nOpcao == 4
        aDados := {}
        ConOut(PadC("Prueba de cambio de previsión de ventas",80))

		//No se puede cambiar la fecha, es necesario que la fecha sea igual a la fecha de inclusión.

		//Es necesario que el campo sea exactamente igual al de la base.
        aadd(aDados,{"C4_PRODUTO"   ,"Cod_Produto"     ,Nil})  //Campo B1_COD
        aadd(aDados,{"C4_LOCAL"     ,"01"              ,Nil})
		//Es necesario que el campo sea exactamente igual al de la base.
        aadd(aDados,{"C4_DOC"       ,"Desc_Produto"    ,Nil})  //Campo B1_DESC
        aadd(aDados,{"C4_QUANT"     ,20                ,Nil})
        aadd(aDados,{"C4_VALOR"     ,20                ,Nil})
		//Es necesario que la fecha sea igual al de la inclusión.
        aadd(aDados,{"C4_DATA"      ,Date()            ,Nil})  
        aadd(aDados,{"C4_OBS"       ,"TESTE"           ,Nil})

        MATA700(aDados,4)

        If !lMsErroAuto
            ConOut("¡Cambio realizado con éxito! ")
        Else
            aErro := GetAutoGRLog()
            cErro := "¡No se pudo realizar la modificación!"
            Conout( cErro )
        EndIf

    //===============================================================//
    //                            BORRADO                            //
    //===============================================================//  

    ElseIf lOk .and. nOpcao == 5
        aDados := {}
        ConOut(PadC("Prueba de eliminación de la previsión de ventas",80))

		//Es necesario que el campo esté exactamente igual al de la base.
        aadd(aDados,{"C4_PRODUTO"   ,"Cod_Produto"     ,Nil})   //Campo B1_COD
		//Es necesario colocar fecha, porque pueden existir varias previsiones de venta del mismo producto con fechas diferentes.
        aadd(aDados,{"C4_DATA"      ,Date()            ,Nil})    
																
        MATA700(aDados,5)

        If !lMsErroAuto
            ConOut("¡Eliminación realizada con éxito! ")
        Else
            aErro := GetAutoGRLog()
            cErro := "¡No se pudo realizar la eliminación!"
            Conout( cErro )
        EndIf
    EndIf

    ConOut("Fim : "+Time())

    RESET ENVIRONMENT

Return(.T.)


Tablas utilizadas

SB1 e SC4

Idioma

Portugués(Brasil)

Versiones

Protheus 12 e Protheus 11

Sistemas operativos compatibles

Todos

Compatible con las bases de datos

TOTVSDBAccess

Programa fuente

MATA700.PRW