[CrystalReports] VB C#- Dificuldade com ToText retornando True =/
13 respostas
T
Tiago_KA
Minha última lógica, esta retornando TRUE... =/
Era pra retornar os valores que adicionei no {?SUBGRUPO}, porém RETORNA apenas TRUE...
Alguém pode me ajudar?
Se eu tirar o ToText, ele não retorna...pq ele pede uma string =/
sharednumberVarx;"Demonstrativo dos Maiores Clientes de "+" ( "+(IF{?GrupodeProduto}='*'then'TODOS OS GRUPOS DE PRODUTO'ELSE{CVH_TIP_DEFINICAO_GROUP.DESCRICAO})+" ) - "+"Divisão: ("+(if{?P_Divisão}='Klok Virtual'THEN'KLOK'ELSEif{?P_Divisão}='Intermediacao'THEN'INTERMEDIAÇÃO'ELSEif{?P_Divisão}='Exportacao'THEN'EXPORTAÇÃO'ELSEif{?P_Divisão}='*'THEN' GERAL CVH 'else'OUTROS')+") - "+"Fornecedor: "+(IF{?FORNECEDOR}='*'THEN'TODOS OS FORNECEDORES'ELSE{?FORNECEDOR})+" - "+"SubGrupo: "+(if{?SUBGRUPO}='*'then'Todos os Subgrupos'elseToText((forx:=1toubound({?SUBGRUPO})-1do({?SUBGRUPO}[x]+", "))))
Recomendo você separar cada regra em um método específico. No seu caso, “Fornecedor”, “SubGrupo”, “Divisão”. Separe cada regra de negócio em um método, para facilitar a compreensão e a manutenibilidade do seu código.
Sobre o ToText, o ideal seria você invocá-lo no objeto e não em todo o escopo. Você não poderia chamar um ToString() no objeto “?SUBGRUPO}[x]” ?
T
Tiago_KA
O meu problema é só aqui...
"SubGrupo: "+(if{?SUBGRUPO}='*'then'Todos os Subgrupos'elseToText((forx:=1toubound({?SUBGRUPO})-1do({?SUBGRUPO}[x]+", "))))
Esta parte do código esta me retornando TRUE...
E era pra retornar os valores do array....
J
JoaquimGM
Tiago_KA:
O meu problema é só aqui...
"SubGrupo: "+(if{?SUBGRUPO}='*'then'Todos os Subgrupos'elseToText((forx:=1toubound({?SUBGRUPO})-1do({?SUBGRUPO}[x]+", "))))
Esta parte do código esta me retornando TRUE...
E era pra retornar os valores do array....
"Sobre o ToText, o ideal seria você invocá-lo no objeto e não em todo o escopo. Você não poderia chamar um ToString() no objeto "
{?SUBGRUPO}[x]" ?
{SUBGRUPO}[x].ToString() ?
O método ToText provavelmente está retornando o resultado da comparação lógica do FOR.
edit: estes parênteses estão corretos? pode ser o mótivo do retorno ser "True"
T
Tiago_KA
Não funciona...
Não sei qual linguagem é essa do CrystalReports... Mas tentei isso e não foi...
"Subgrupo: "+(if{?SUBGRUPO}='*'then'Todos os Subgrupos'else'SubGrupo: '+(forx:=1toubound({?SUBGRUPO})-1do{?SUBGRUPO}[x].ToString()+", "))
Dessa forma, ele ainda reclama que quer uma String
"Subgrupo: "+(if{?SUBGRUPO}='*'then'Todos os Subgrupos'else'SubGrupo: '+(forx:=1toubound({?SUBGRUPO})-1doToText({?SUBGRUPO}[x])+", "))
J
JoaquimGM
edit: irei dar uma olhada sobre a sintaxe e ver se ela possui algo relacionado a casting ou build-in.
Desculpe não poder ajudar por enquanto.
J
JoaquimGM
sobre ele “esperar uma string”, provavelmente é pela contatenação feita em:
Você não pode armazenar a string gerada no laço, e concatenar depois este resultado com “SubGrupo” ?
T
Tiago_KA
Olha aí, continua retornando TRUE
sharednumberVarx;if{?SUBGRUPO}='*'then'Todos os Subgrupos'elseToText((forx:=1toubound({?SUBGRUPO})do{?SUBGRUPO}[x]+", "))
J
JoaquimGM
Tiago_KA:
Olha aí, continua retornando TRUE
sharednumberVarx;if{?SUBGRUPO}='*'then'Todos os Subgrupos'elseToText((forx:=1toubound({?SUBGRUPO})do{?SUBGRUPO}[x]+", "))