Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Senhores, preciso de uma ajuda. Sou iniciante e estou desenvolvendo minhas primeiras aplicações. Estou com uma situação em que eu tenho uma tabela de lançamentos financeiros, e esses lançamentos são originados de contratos com os fornecedores. Ao selecionar um contrato na lista, a aplicação mostra todos os dados referente a este contrato, tais como: o nome do fornecedor, o valor do contrato, valores pago desse contrato. Acontece que ao selecionar um contrato o sistema apresenta todos os dados corretamente, porém, se não selecionar nenhum contrato disponível na lista, ele soma todos os valores. Como faço para que ele não some os valores caso nenhum contrato esteja selecionado.
obs: é um campo do tipo texto que soma os valores da tabela de lançamentos financeiro.
Vagner
Você pode colocar, no seu objeto de texto, algo como:
If((GetSelectedCount(<campo do contrato>) = 1, <sua formula>, 0)
A função GetSelectedCount retorna a quantidade de valores selecionados em um campo.
=if(GetSelectedCount(VALORCONTRATO) >0,Money(sum(VALORCONTRATO)),0)
=if(GetSelectedCount(VALORCONTRATO) >1,Money(sum(VALORCONTRATO)),0)
=if(GetSelectedCount(VALORCONTRATO) >=1,Money(sum(VALORCONTRATO)),0)
Tentei das 3 formas, porém, agora não soma mais os valores, fica mostrando 0
Amigo
Dentro da função GetSelectedCount(), você coloca a dimensão que gostaria de definir como condição;
Ex.: [CAMPOCIDADE], e quando o usuário selecionar o campo, a função GetSelectedCount() irá contar a quantidade de registros selecionados.
Muito obrigado, era isso mesmo, coloquei o Campo CODIGOCONTRATO, e ao selecionar um contrato pelo código, passou a apresentar as somas corretamente. Só que funcionou para os objetos do campo texto, na mesma tela tenho um objeto do tipo tabela, que tem o mesmo comportamento, se não tiver nenhum contrato selecionado, ela apresenta dados de todos os contratos, tem como tirar isso também?
Segue;
Para as dimensões:
If(GetSelectedCount([CODIGOCONTRATO]) >0,[CAMPO1])
//Altera cada dimensão da tabela, substituindo [CAMPO1] apresentado acima.
Para as Medidas/Expressões da tabela:
=Money(sum(If(GetSelectedCount([CODIGOCONTRATO]) >0,[VALORCONTRATO],0)))
//Substitui o campo [VALORCONTRATO] por cada expressões.
Mário fiquei confuso de onde colocar a fórmula. Teste no campo Expressão, não deu certo, coloquei tambem no campo condicional, porém, nada.
Não sei se fui claro na minha explicação anterior, só para facitar o entendimento, desta vez o meu objeto é do tipo tabela, que esta recebendo vários detalhes do contrato, então, gostaria que os campos fossem preenchidos apenas, se algum contrato estiver selecionado. Desde já, grato pela ajuda.
Isso mesmo amigo;
Publique um print de sua tabela;
É para substituir o nome da dimensão, com a função acima, o mesmo para a expressão, alterando os campos claro.
Ao carregar a aplicação, o sistema já trás a tabela conforme abaixo, e eu gostaria que ela não apresentasse dado nenhum, visto que, não tem nenhum contrato selecionado:
Após selecionar um contrato, ela apresenta os dados desse contrato corretamente, conforme abaixo:
Amigo, para facilitar sua vida;
Use só:
GetSelectedCount([CODIGOCONTRATO])>0
Na parte de condicional