Árvore de páginas

Versões comparadas

Chave

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

...

Descrição

Função utilizada para geração da Previsão de Vendas via rotina automática (ExecAuto)

Exemplos


Bloco de código
languagephp
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function 

...

MATA700()

...

    Local lOk := .T.
    Local aDados 

...

:= {}
    Local 

...

nOpcao :

...

= 4 // Inclusão = 3 // Alteração = 4 // Exclusão = 5

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

...


    //===============================================================//
    //                     Abertura do ambiente                      

...

//
    //===============================================================//

    ConOut(Repl("-",80))

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

...

    //===============================================================//
    //              Verificação do ambiente para teste               

...

//
    //===============================================================//

    dbSelectArea("SB1")
    dbSetOrder(1)
	
	//Campo B1_COD - Verifica se o produto existe.
    If !SB1->(MsSeek(xFilial("SB1")+"

...

Cod_Produto"))

...

        lOk := .F.

...

        ConOut("

...

Necessario cadastrar Produto: 

...

Cod_Produto")
    EndIf

...

    
    ConOut("Inicio: "+Time())

...

    
    //===============================================================//
    //                          INCLUSÃO                             //
    //===============================================================//  

    If lOk .and. nOpcao == 3
        ConOut(PadC("Teste de Inclusao da Previsao de Vendas",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

...

}

...

)
		//Pode ser utilizado da seguinte forma [ Date() +10 ] para somar a data atual até chegar a desejada
        aadd(aDados,

...

{

...

"C4_DATA"     ,Date()              ,Nil

...

})

...

  .
        aadd(aDados,

...

{

...

"C4_OBS"      ,"TESTE"             ,Nil

...

}

...

)

...

        MATA700(aDados,3)

...

        
        If !lMsErroAuto

...

            ConOut("

...

Inclusão realizada com sucesso!

...

")

...

        Else
            aErro := GetAutoGRLog()

...

            cErro := "

...

Nao foi possivel realizar inclusao"
            Conout( cErro )
        EndIf

    //===============================================================//
    //                          ALTERAÇÃO                            //
    //===============================================================// 

    ElseIf lOk .and. nOpcao == 4
        aDados := {}

...

        ConOut(PadC("Teste de 

...

Alteracao da Previsao de Vendas",80))

		//NÃO é possível fazer alteração de data, é necessário que a data esteja igual a de inclusão.

		//Necessário que o campo esteja exatamente igual ao banco.
        aadd(aDados,

...

{

...

"C4_PRODUTO"   ,"

...

Cod_Produto"     ,Nil

...

}

...

)  //Campo B1_COD
        aadd(aDados,

...

{

...

"C4_LOCAL"     ,"01"              ,Nil

...

}

...

)
		//Necessário que o campo esteja exatamente igual ao banco.
        aadd(aDados,

...

{

...

"C4_DOC"       ,"

...

Desc_Produto"    ,Nil

...

}

...

)  //Campo B1_DESC
        aadd(aDados,

...

{

...

"C4_QUANT"

...

     ,20                ,Nil})
        aadd(aDados,

...

{

...

"C4_VALOR"

...

     ,20                ,Nil})
		//É necessário que a data esteja igual a de inclusão.
        aadd(aDados,

...

{

...

"C4_DATA"      ,Date()            ,Nil

...

}

...

)

...

  
        aadd(aDados,

...

{

...

"C4_OBS"       ,"TESTE

...

"           ,Nil

...

}

...

)

...

        MATA700(aDados,4)

...


        If !lMsErroAuto

...

            ConOut("Alteracao realizada com sucesso! ")

...

        Else
            aErro := GetAutoGRLog()

...

            cErro := "

...

Nao foi possivel realizar alteracao!"
            Conout( cErro )
        EndIf

    //===============================================================//
    //                           EXCLUSÃO                            //
    //===============================================================//  

    ElseIf lOk .and. nOpcao == 5
        aDados := {}

...

        ConOut(PadC("Teste de Exclusao da 

...

Previsão de Vendas",80))

		//Necessário que o campo esteja exatamente igual ao banco.
        aadd(aDados,

...

{

...

"C4_PRODUTO"   ,"

...

Cod_Produto"     ,Nil

...

}

...

)   //Campo B1_COD
		//Necessário colocar data, pois podem existir varias previsões de venda do mesmo produto com datas diferentes.
        aadd(aDados,{"C4_DATA"      ,Date()            ,Nil})    
																
        MATA700(aDados,5)

...


        If !lMsErroAuto

...

            ConOut("Exclusao realizada com sucesso! ")

...

        Else
            aErro := GetAutoGRLog()

...

            cErro := "Nao foi possivel realizar exclusao!"

...

   

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

Conout( cErro )

...

        EndIf
    EndIf

...

    ConOut("Fim 

...

: "+Time())

...


...

    RESET ENVIRONMENT

Return(.T.)

...


Tabelas utilizadasSB1 e SC4

Idioma

Português(Brasil)

...

Versões

Protheus 12 e Protheus 11

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

TOTVSDBAccess

Programa Fonte

MATA700.PRW