| ♥ 0 | Às vezes os utilizadores duplicam registos existentes (Compras, Clientes, Artigos etc), existe alguma tag nativa que identifique este novo registo como resultado de uma duplicação? Marked as spam |
| Private answer Boa Tarde , pode dar o exemplo da regra ou facultar o codigo obrigado Marked as spam Criado há 2 dias e 1 hora imbatvelenigma-informticaunipessoallda | |
| Private answer Se o objetivo for por exemplo um valor por defeito ao introduzir, nem sempre é possível, mas uma alternativa será verificar se determinado campo que seja de preenchimento obrigatório está ou não vazio na execução do valor por defeito. Tanto quanto sei, não fica associado ao registo nenhuma informação se o mesmo teve origem por introdução direta ou por duplicação. Apenas tenho conhecimento da chamada que podemos realizar programaticamente se quisermos introduzir um novo registo ou duplicar um existente:
Marked as spam | |
| Private answer Não sei se percebi bem o problema, mas ficam aqui as minhas sugestões. Duplicação de artigosSe não há qualquer procedimento, é muito fácil 2 utilizadores distintos introduzir o mesmo artigo com descrições e códigos distintos. Uma possível solução é a de limitar a criação de artigos a uns poucos utilizadores. Esses utilizadores terem um procedimento extremamente claro sobre como criar uma descrição e o processo de codificação do artigo ser o mais automático possível. Se trabalham com códigos de barras, usem-no. Se os artigos têm outros identificadores, criem campos personalizados para eles. No fim, criar uma regra Ao Gravar que implemente todas as validações possíveis, particularmente a verificar códigos de barras, EAN, do fabricante, etc. Duplicação de clientesObrigue ao preenchimento do NIF e não permita a duplicação de códigos. Duplicação de comprasMesmo com os controlos do PHC de não permitir duplicação de fornecedor, data e número de compra, é possível duplicar compras se o número de compra for ligeiramente distinto (ex. o fornecedor emite o documento FT 2026A1/123 e um escreve o código completo e outro usa só 123). Isso é uma questão de organização: o segundo utilizador deveria saber que o documento em causa já foi processado e não precisa de registo (se for em papel, podem usar um carimbo a dizer "registado" ou usar uma marca especial com uma caneta, se for digital, podem mover o documento para uma outra pasta). Por outro lado, podem implementar uma regra Ao Gravar que valida se já existe um registo para o mesmo fornecedor, na mesma data e com os mesmos valores totais de compra e a dizer "Já existe o documento XXXXX para este fornecedor e data com os mesmos valores. Quer gravar na mesma?"
Marked as spam Comments Resposta completamente fora do contexto da pergunta e claramente gerada por IA sem qualquer menção a esse facto. Sr Filipe Lima, o seu comentário está completamente fora de lugar e o que diz é falso. Eu criei a resposta baseada na minha experiência e no facto de o texto da mensagem referir "Às vezes os utilizadores duplicam registos existentes". Isso pode ter várias interpretações e por esse motivo eu aviso logo de entrada que poderei não ter percebido bem o problema (faltam-me dados) e essa é a minha versão. Boa Tarde, pode dar um exemplo da uma regra , ou facultar o codigo da regra para aplicar no phc?
obrigado Depois de reler a pergunta original, vejo que a minha resposta não era aquilo que se pretendia.
Mesmo assim, se quiser validar, por ex., que não existam 2 artigos com o mesmo código de barras, poderia criar uma Regra de Utilizador associada à tabela ST e criar a expressão XBase
`
local m.SQL, m.Ref, m.Resultado, m.Codigo, Cur
m.Ref=Trim(st.ref)
m.Codigo=Trim(st.codigo)
text to m.SQL textmerge noshow
DECLARE @Ref AS NVARCHAR(18)=’< >’
DECLARE @Codigo AS NVARCHAR(40)=’< >’
SELECT ref FROM st WITH (NOLOCK) WHERE codigo=@Codigo AND NOT ref=@Ref
endtext
m.Resultado=.f.
if (u_SQLExec(m.SQL, ”Cur”) AND RecCount(”Cur”)>0)
** Foi encontrado um registo já com esse código
m.Resultado=.t.
select Cur
go top
Mensagem(”Já existe a referência ’” + Trim(Cur.ref) + ”’ com o mesmo código de barras.”)
endif
Fecha(”Cur”)
return m.Resultado
`
Já agora, se alguém souber qual a forma correta de inserir código nestas publicações, pf partilhe. | |
| Private answer Boa tarde, Marked as spam | |
| Private answer Bom Dia, na configuração do documento tem a opção para alertar na inserção da referencia externa do documento. Abraço. Marked as spam Comments Bom dia, Nas Compras, o PHC não deixa gravar dois documentos com o mesmo numero, do mesmo fornecedor e do mesmo ano, alerta para o facto de já existir. Nos documentos de faturação, há duplicação de documentos, como assim? Pode explicar melhor Desculpe Helder, estava a referir ao Primavera. |