Árvore de páginas

Versões comparadas

Chave

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

...

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

SIGAEST - Estoque e Custos

Função:

MATA200 - Estruturas

Situação/Requisito:

Problemas na gravação da rotina Estruturas quando é realizada via ExecAuto. O campo Índice de perda (G1_PERDA) é gravado com o valor do componente anterior caso seja informado o valor 0 (zero)  na criação da rotina automática.

Solução/Implementação:

Ajuste realizado para gravar corretamente o campo Índice de perda (G1_PERDA) de acordo com o valor informado na criação da rotina automática.

Exemplo de ExecAuto utilizada:

Bloco de código
languagetext
#Include"Protheus.ch"
#Include"tbiconn.ch"

User Function xMata200()

Local aCabSG1   := {}
Local aIteSG1   := {}
Local aItem     := {}
Local cCodPrd   := Padr("PROD6648",15)
Local lExist    := .T. 

Private lMsErroAuto := .F.

//Inclusão de Estrutura

/*
Tem que configurar o grupo de perguntas do MATA200 para permitir
a manipulação de revisão.
*/

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"

//Monta cabeçalho

Aadd(aCabSG1,{"G1_FILIAL",xFilial("SG1"),NIL})
Aadd(aCabSG1,{"G1_COD",cCodPrd ,NIL})
Aadd(aCabSG1,{"G1_QUANT",1,NIL})
Aadd(aCabSG1,{"NIVALT","S",NIL})

//Monta item

aItem := {}

Aadd(aItem,{"G1_COD",cCodPrd,NIL})
Aadd(aItem,{"G1_COMP",Padr("COMP01",15),NIL})
Aadd(aItem,{"G1_QUANT",260,NIL})
Aadd(aItem,{"G1_PERDA",10,NIL})
Aadd(aItem,{"G1_INI",CTOD("0111/0804/18"),NIL})
Aadd(aItem,{"G1_FIM",CTOD("31/12/49"),NIL})
Aadd(aItem,{"G1_FIXVAR","V",NIL})

//Adiciona item no array de itens 

Aadd(aIteSG1,aItem)

//Monta novo item

aItem := {}

Aadd(aItem,{"G1_COD",cCodPrd,NIL})
Aadd(aItem,{"G1_COMP",Padr("COMP02",15),NIL})
Aadd(aItem,{"G1_QUANT",2000,NIL})
Aadd(aItem,{"G1_PERDA",0,NIL})
Aadd(aItem,{"G1_INI",CTOD("0111/0804/18"),NIL})
Aadd(aItem,{"G1_FIM",CTOD("31/12/2049"),NIL})
Aadd(aItem,{"G1_FIXVAR","V",NIL})

//Adiciona item no array de itens 

Aadd(aIteSG1,aItem)

//Monta novo item

aItem := {}

Aadd(aItem,{"G1_COD",cCodPrd,NIL})
Aadd(aItem,{"G1_COMP",Padr("COMP03",15),NIL})
Aadd(aItem,{"G1_QUANT",2000,NIL})
Aadd(aItem,{"G1_PERDA",0,NIL})
Aadd(aItem,{"G1_INI",CTOD("0111/0804/18"),NIL})
Aadd(aItem,{"G1_FIM",CTOD("31/12/2049"),NIL})
Aadd(aItem,{"G1_FIXVAR","V",NIL})

//Adiciona item no array de itens 

Aadd(aIteSG1,aItem)

SG1->(dbSetOrder(1))

lExist := SG1->(dbSeek(xFilial("SG1")+cCodPrd))

If !lExist
    MsExecAuto({|x,y,z| MATA200(x,y,z)},aCabSG1,aIteSG1,3)
EndIf

If lMsErroAuto
    MostraErro()
Else
    Alert("Estrutura incluida com sucesso!!!")
EndIf

Return NilNi