Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Execauto OMSA010

Dúvida
Como realizar Alteração ou Exclusão na ExecAuto da rotina OMSA010 

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80

Solução

Para Alteração e exclusão de um item da rotina automática deve-se utilizar LINPOS e AUTDELETA

Quando existir a necessidade de alterar um item especifico da Getdados, existem dois campos que podem ser utilizados, os campos são: LINPOS e AUTDELETA. O primeiro deve ser utilizado para localizar o item do aCols que sofrerá alteração, o segundo instruí a rotina automática para deletar a linha. Caso não seja utilizado o LINPOS esta função irá reconstruir todo o aCols.

#include 'protheus.ch'
#include 'parmtype.ch'
#INCLUDE "TBICONN.CH"

user function EOSA010()

local aCab := {}
local aItem := {}
local nOpc := 4
local i
local cCodTab := "007"
local cNomeTab := "TESTE2 "
local cHoraDe := "00:00"
local cHoraAte := "23:59"
local cTpHorario := "1"
local cTabAtiv := "1"
local cItem := "0003"
local cProduto := "TB0000000000001"
local nPrcVen := 22
local nPrcVen2 := 20
local cAtivo := "1"
local aItens :={}
PRIVATE lMsErroAuto := .F.

 

PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01'

aAdd(aCab, {"DA0_CODTAB" , cCodTab , NIL})
aAdd(aCab, {"DA0_DESCRI" , cNomeTab , NIL})
aAdd(aCab, {"DA0_DATDE" , dDatabase , NIL})
aAdd(aCab, {"DA0_HORADE" , cHoraDe , NIL})
aAdd(aCab, {"DA0_TPHORA" , cTpHorario, NIL})
aAdd(aCab, {"DA0_ATIVO" , cTabAtiv , NIL})

//aItem:={}

aAdd(aItem,{ {"DA1_ITEM" , cItem , NIL},;
{"DA1_CODPRO" , cProduto , NIL},;
{"DA1_PRCVEN" , nPrcVen , NIL}})

// Para incluir um unico item não é necessario os itens LINPOS e AUTDELETA usa-se somente na Alteração ou exclusão

{"LINPOS","DA1_ITEM" ,'0001'},;
{"AUTDELETA","N" ,Nil}})

//aadd(aItens, aItem)
//aItem:={}
/* aAdd(aItem,{ {"DA1_ITEM" , "0004" , NIL},;
{"DA1_CODPRO" , "TB0000000000002" , NIL},;
{"DA1_PRCVEN" ,nPrcVen2 , NIL}})

// Para excluir um unico item é os itens LINPOS e AUTDELETA sendo que o Autdeleta receberá o valor "N"

//{"LINPOS","DA1_ITEM" ,'0002'},;
//{"AUTDELETA","S" ,Nil}})*/

//aadd(aItens, aItem)

Omsa010(aCab,aItem,nOpc)

If lMsErroAuto

DisarmTransaction()
Mostraerro()
Else
conout("ALterado com sucesso.")
EndIf
RESET ENVIRONMENT
Return(.T.)

Obs Verifique nOpc := 4 - Alteração / 3 - Inclusão

 

Saiba Mais

MsGetDAuto

OMSA010 rotina automática da tabela de preços

 

 

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

4 Comentários

  • Avatar
    GIANLUCA MOREIRA

    Onde lê-se

    Para Alteração e exclusão de um item da rotina automática deve-se utilizar LINPOS e AUTODELETA

    Considerar

    Para Alteração e exclusão de um item da rotina automática deve-se utilizar LINPOS AUTDELETA

    0
    Ações de comentário Permalink
  • Avatar
    GIVANILDO ANDRADE LOPES (Editado )

    Prezado Gian

    Obrigado pela observação já efetuamos a correção.

    0
    Ações de comentário Permalink
  • Avatar
    Ti Astral

    Se eu já tenho uma tabela de preço com registros e quero acrescentar somente mais um registro nesta tabela já existente o sistema apresenta a mensagem de erro:

    Tabela DA0 08/02/2021 17:10:59

    Cod. Tabela - DA0_CODTAB := 003 < -- Invalido

    Descricao - DA0_DESCRI := SUPERMERCADO MOC

    Data Inicial - DA0_DATDE := 01/01/2014

    Hora Inicial - DA0_HORADE := 00:00

    Tipo horario - DA0_TPHORA := 1

    Tab. Ativa - DA0_ATIVO := 1

    Erro -->

    --------------------------------------------------------------------------------

    Id do formulario de erro: [DA0MASTER]

    Id do campo de erro: [DA0_CODTAB]

    Id do erro: [JAGRAVADO ]

    Mensagem do erro: [ Já existe registro com esta informação.]

    Mensagem da solucao: [Troque a chave principal deste registro.

    ]

    Conteudo atribuido: [003]

    2
    Ações de comentário Permalink
  • Avatar
    Adriano Diógenes de Almeida

    Olá,

    Estou com o mesmo problema. Ao tentar incluir um produto em uma tabela que já existe. No caso utilizei MVC:

    2023-12-08T15:22:36.323000-03:00 3844|     Erro[1] -> C (    0) []
    2023-12-08T15:22:36.323000-03:00 3844|     Erro[2] -> C (    0) []
    2023-12-08T15:22:36.323000-03:00 3844|     Erro[3] -> C (    9) [DA0MASTER]
    2023-12-08T15:22:36.323000-03:00 3844|     Erro[4] -> C (   10) [DA0_CODTAB]
    2023-12-08T15:22:36.323000-03:00 3844|     Erro[5] -> C (   10) [JAGRAVADO ]
    2023-12-08T15:22:36.323000-03:00 3844|     Erro[6] -> C (   40) [ Ja existe registro com esta informacao.]
    2023-12-08T15:22:36.323000-03:00 3844|     Erro[7] -> C (   42) [Troque a chave principal deste registro.]
    2023-12-08T15:22:36.324000-03:00 3844|     Erro[8] -> N (   15) [         1.0000]
    2023-12-08T15:22:36.324000-03:00 3844|     Erro[9] -> N (   15) [         0.0000]

     

    1
    Ações de comentário Permalink
Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _