Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
vagner_analista
Contributor III
Contributor III

Carregamento automático de soma

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.

18 Replies
Marcio_Campestrini
Specialist
Specialist

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.

Márcio Rodrigo Campestrini
vagner_analista
Contributor III
Contributor III
Author

=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

mario_sergio_ti
Partner - Specialist
Partner - Specialist

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.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
vagner_analista
Contributor III
Contributor III
Author

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?

mario_sergio_ti
Partner - Specialist
Partner - Specialist

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.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
vagner_analista
Contributor III
Contributor III
Author

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.

mario_sergio_ti
Partner - Specialist
Partner - Specialist

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.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
vagner_analista
Contributor III
Contributor III
Author

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:

print.PNG

Após selecionar um contrato, ela apresenta os dados desse contrato corretamente, conforme abaixo:

print2.PNG

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, para facilitar sua vida;

Use só:

GetSelectedCount([CODIGOCONTRATO])>0

Na parte de condicional

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti