Senhores Boa Noite,
Adicionei uma fórmula no relatório FATR050, onde gostaria que ele trouxesse o nome do vendedor.
POSICIONE("SA3",2,xFilial("SA3")+( cAliasSCT )->CT_VEND ,"A3_NOME")
Mas infelizmente está retornando dizendo que a variável cAliasSCT não existe?
Poderiam me ajudar?
Valeu.
Bom dia Fernando,
O erro ocorre pois a variável cAliasSCT tem escopo local no relatório, portanto ao chamar a fórmula ela não é encontrada gerando a exceção.
Se o alias SCT estiver posicionamento corretamente, você pode utilizar dele da seguinte forma:
Posicione( "SA3" , 2 , xFilial("SA3") + SCT->CT_VEND , "A3_NOME" )
Daniel Bom Dia,
Primeiramente obrigado pela resposta, dessa forma não retorna o erro, mas não traz os dados ficando em branco.
Obrigado.
Fernando, nesse caso é interessante analisar o restante do fonte, esse erro está acusando que não houve definição da variável cAliasSCT antes dessa fórmula.
Uma tentativa interessante é do modo abaixo que usará a tabela SCT do modo que já estiver posicionada, vai parar de dar erro mas precisa ver se os dados ficam coerentes em cada linha do relatório:
POSICIONE("SA3",2,xFilial("SA3")+SCT->CT_VEND ,"A3_NOME")
Josué Bom Dia,
Primeiramente obrigado pela resposta, dessa forma não retorna o erro, mas não traz os dados ficando em branco. Obrigado.
Como o Josué Danich Prestes disse, é interessante avaliar o restante do código (dá próxima vez anexa ele), mas se você quiser apenas que essa sintaxe funcione, você pode fazer da seguinte forma:
aArea := GetArea() // ARMAZENA A ÁREA ANTERIOR
// REMOVE A NECESSIDADE DE PONTEIRAR OS CAMPOS
DbSelectArea(cAliasSCT)
// RECEBE O CONTEÚDO DE A3_NOME
cNome := Posicione("SA3", 2, FwXFilial("SA3") + CT_VEND, "A3_NOME")
RestArea(aArea)
Guilherme Bom Dia,
Adicionei o fonte do relatório.
Obrigado.
Pessoal, infelizmente não funcionou da forma que vocês falaram alterando o POSICIONE, ele agora retorna em branco.
Segue o fonte do relatório anexo.
Obrigado.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Bom dia Fernando, como você possui o relatório, seria mais fácil você editar a query e criar um join com a tabela de vendedores, criando também a célula (TRCell) na seção referente ao vendedor, você teria inclusive uma performance muito superior.
O posicione não funcionou, pois o relatório está sendo impresso via query, com isso a tabela SCT não está posicionada.
Ajusta sua query com um INNER JOIN e retorna os dados que você está tentando trazer com um Posicione().
Senhores consegui resolver da forma que falaram com TRCELL um Inner Join, muito obrigado.
Fernando Vernier, marca como resposta útil aquelas que te ajudaram a resolver o problema. Se possível, escreve uma resposta para marcar como SOLUÇÃO.
Como esse não é um relatório customizável,
terá que copiar o programa, renomear a função principal e nome e ajustar a query e as colunas do relatório