Imprimi Página | Fechar janela

Posicione entre duas tabelas Protheus

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=42929
Data da Impressão: sexta-feira, 29 de março de 2024 at 06:42


Topico: Posicione entre duas tabelas Protheus

Postado por: JOSE.CRUZ
Assunto: Posicione entre duas tabelas Protheus
Data Postagem: sexta-feira, 4 de outubro de 2019 at 17:55

Boa noite!
Preciso fazer um gatilho que ao preencher o banco na tabela SE5(Movimentos bancários) preencha automaticamente com o nome do banco que tem origem na SA6 (A6_NOME) no campo criado E5_XNOBANC

Fiz esse posiciona no browser mas não traz dentro do Gatilho

Posicione("SA6",1,XFILIAL("SE5")+SE5->(E5_BANCO+E5_AGENCIA+E5_CONTA),"A6_NOME")

Podem me ajudar?



Respostas:

Postado Por: FBCTECH
Data Postagem: sexta-feira, 4 de outubro de 2019 at 22:11


José, boa noite.


No seu gatilho, você precisa checar duas coisas:

1 - a filial do cadastro de bancos tem o mesmo conteúdo da SE5 ?
Falo isso, pois em algumas empresas, o cadastro de banco é compartilhado (sem filial) e o SE5 é exclusivo (controlando filial).

Nesse caso o correto no posicione ou em qualquer busca (MSSEEK, DBSEEK ..)
É utilizar como pesquisa a propria filial da SA6.

Ex: Posicione("SA6",1,XFILIAL("SA6")+SE5->(E5_BANCO+E5_AGENCIA+E5_CONTA),"A6_NOME")

No trecho -> xFilial("SE5") substituir por xFilial("SA6")

2 - Outra coisa importante é checar se o índice "1" que você esta utilizadno condiz com essa chave E5_BANCO+E5_AGENCIA+E5_CONTA, dependendo da empresa, a chave 1 pode ser outra etc ...

Abra o APSDU, e a tabela SE5, verifique na coluna esquerda, qual a primeira chave que aparece (chave 1). Se for essa mesma passada no posicione, então esta correto sua pesquisa;

Sem mais, espero ter ajudado;

Att,

"Fabio B. Cardoso"
FcDigital Solutions - Obrigações legais, Suprimentos, Controladoria e Desenvolvimento.

fcdigitalsolutions@gmail.com
fbc.fabiocardoso@gmail.com



Postado Por: JOSE.CRUZ
Data Postagem: segunda-feira, 7 de outubro de 2019 at 10:38

Obrigado, Fábio!
Deu certo dessa forma,

Origem
E5_BANCO
Destino
E5_XNOBANC

Regra: POSICIONE(‘SA6‘,1,xFilial(‘SA6‘)+M->E5_BANCO+M->E5_AGENCIA+M->E5_CONTA,‘A6_NOME‘)



Postado Por: JOSE.CRUZ
Data Postagem: segunda-feira, 7 de outubro de 2019 at 10:38

Obrigado, Fábio!
Deu certo dessa forma,

Origem
E5_BANCO
Destino
E5_XNOBANC

Regra: POSICIONE(‘SA6‘,1,xFilial(‘SA6‘)+M->E5_BANCO+M->E5_AGENCIA+M->E5_CONTA,‘A6_NOME‘)




Imprimir Página | Fechar Janela