Á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 nX := 0
    Local aErronX := ""
    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"))
    //Campo B1_COD - Verifica se o produto existe.
        lOk := .F.
        ConOut("NecessárioNecessario cadastrar Produto: Cod_Produto")
    EndIf
    
    ConOut("Inicio: "+Time())
    
    //===============================================================//
    //                          INCLUSÃO                             //
    //===============================================================//  

    If lOk .and. nOpcao == 3
        ConOut(PadC("Teste de InclusãoInclusao da PrevisãoPrevisao 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 [  aadd(aDados,{"C4_DATA"     ,Date()      Date() +10 ] para somar a data atual até chegar a desejada
        ,Nil})  //Pode ser utilizado da seguinte forma [ Date() +10 ] para somar a data atual até chegar a desejadaaadd(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 := "NãoNao foi possívelpossivel realizar inclusãoinclusao"
            For nX := 1 To Len(aErro)
                cErro += aErronX + Chr(13)+Chr(10Conout( cErro )
        EndIf

    Next nX
            Conout( cErro )
        EndIf

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

    ElseIf lOk .and. nOpcao == 4
        aDados := {}
        ConOut(PadC("Teste de Alteracao da PrevisãoPrevisao de Vendas",80))

		//NÃO é possível fazer alteração de data,  aaddé 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})  //NÃO
 é possível fazer alteração de data, é necessário que a data esteja igual a de inclusão.
        aadd aadd(aDados,{"C4_OBS"       ,"TESTE"           ,Nil})

        MATA700(aDados,4)

        If !lMsErroAuto
            ConOut("Alteracao realizada com sucesso! ")
        Else
            aErro := GetAutoGRLog()
            cErro := "NãoNao foi possívelpossivel realizar alteraçãoalteracao!"
            For nX := 1 To Len(aErroConout( cErro )
        EndIf

        cErro := aErronX + Chr(13)+Chr(10)
            Next nX
            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    aadd(aDados,{"C4_PRODUTO"   ,"Cod_Produto"     ,Nil})   //Campo B1_CODexatamente igual ao banco.
        aadd(aDados,{"C4_DATAPRODUTO"      ,Date()    ,"Cod_Produto"        ,Nil})   //Campo B1_COD
		//Necessário colocar data, pois podem existir varias previsões de 
																// previsões de venda do mesmo produto com datas diferentes.
        MATA700aadd(aDados,5)

{"C4_DATA"        If !lMsErroAuto
            ConOut("Exclusão realizada com sucesso! ")
,Date()          Else
  ,Nil})    
																
      aErro := GetAutoGRLogMATA700(aDados,5)

        If  !lMsErroAuto
  cErro := "Não foi possível realizar exclusão!"
     ConOut("Exclusao realizada com sucesso! ")
   For nX := 1 To Len(aErro)Else
            aErro := GetAutoGRLog()
  cErro += aErronX + Chr(13)+Chr(10)
       cErro := "Nao foi possivel Nextrealizar nXexclusao!"
            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