[CrystalReports] VB C#- Dificuldade com ToText retornando True =/

13 respostas
T

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 =/

shared numberVar x;  

"Demonstrativo dos Maiores Clientes de " + " ( " +

(IF {?Grupo de Produto} = '*' 
then 'TODOS OS GRUPOS DE PRODUTO' ELSE
{CVH_TIP_DEFINICAO_GROUP.DESCRICAO})  + " ) - " + 

"Divisão: (" +
(if {?P_Divisão} = 'Klok Virtual'
THEN 'KLOK'
ELSE 
    if {?P_Divisão} = 'Intermediacao'
    THEN 'INTERMEDIAÇÃO'
    ELSE 
        if {?P_Divisão} = 'Exportacao'
        THEN 'EXPORTAÇÃO'
        ELSE
            if {?P_Divisão} = '*'
            THEN ' GERAL CVH '    
            else 'OUTROS') + ") - " + 
            
"Fornecedor: " +
(IF {?FORNECEDOR} = '*'
    THEN 'TODOS OS FORNECEDORES'
    ELSE {?FORNECEDOR} )   + " - " + 

"SubGrupo: " +
(if {?SUBGRUPO} = '*'
    then 'Todos os Subgrupos'
    else 
ToText(
(for x :=1 to ubound({?SUBGRUPO})-1 do

    ({?SUBGRUPO}[x] + ", "))))

13 Respostas

J

Olá

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

O meu problema é só aqui...

"SubGrupo: " +  
(if {?SUBGRUPO} = '*'  
    then 'Todos os Subgrupos'  
    else   
ToText(  
(for x :=1 to ubound({?SUBGRUPO})-1 do  
  
    ({?SUBGRUPO}[x] + ", "))))

Esta parte do código esta me retornando TRUE...

E era pra retornar os valores do array....

J
Tiago_KA:
O meu problema é só aqui...
"SubGrupo: " +  
(if {?SUBGRUPO} = '*'  
    then 'Todos os Subgrupos'  
    else   
ToText(  
(for x :=1 to ubound({?SUBGRUPO})-1 do  
  
    ({?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

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: ' +


(for x :=1 to ubound({?SUBGRUPO})-1 do

{?SUBGRUPO}[x].ToString() + ", "))

Dessa forma, ele ainda reclama que quer uma String

"Subgrupo: " + 

(if {?SUBGRUPO} = '*'
then 'Todos os Subgrupos'
else 'SubGrupo: ' +

(for x :=1 to ubound({?SUBGRUPO})-1 do

ToText({?SUBGRUPO}[x]) + ", "))
J

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

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

Olha aí, continua retornando TRUE

shared numberVar x;  


if {?SUBGRUPO} = '*'
then 'Todos os Subgrupos'
else 

ToText(
    (for x :=1 to ubound({?SUBGRUPO}) do
    {?SUBGRUPO}[x] + ", ")
)
J
Tiago_KA:
Olha aí, continua retornando TRUE
shared numberVar x;  


if {?SUBGRUPO} = '*'
then 'Todos os Subgrupos'
else 

ToText(
    (for x :=1 to ubound({?SUBGRUPO}) do
    {?SUBGRUPO}[x] + ", ")
)

o trecho:

ToText(
    (for x :=1 to ubound({?SUBGRUPO}) do
    {?SUBGRUPO}[x] + ", ")
)

está retornando o resultado da comparação do for. você não poderia :

(for x :=1 to ubound({?SUBGRUPO}) do
    strSubGrupos := strSubGrupos + {?SUBGRUPO}[x] + ", ")
)

e depois adicioná-la à condição?

shared numberVar x;  


if {?SUBGRUPO} = '*'
then 'Todos os Subgrupos'
else strSubGrupos

)
T

Tentei isso aí, não funcionou…

Não sei o que fazer…

lucasvvasconcelos

Galera estou com uma Dúvida o Crystal Reports Só pega se Baixar ele junto com o Visual Studio ???

Se Baixar ele Sozinho não consigo fazer nada ?

T

Alguém sabe algum lugar que tenha curso de CRYSTAL REPORTS?

lucasvvasconcelos

Na boa vou mexer com isso aqui na empresa agora =X

E não tem videos no youtube to lascado AIAIA…

Alguem sabe de alguma apostila ou curso ?

T

lucasvvasconcelos:
Na boa vou mexer com isso aqui na empresa agora =X

E não tem videos no youtube to lascado AIAIA…

Alguem sabe de alguma apostila ou curso ?

Então eu também estou atrás, eu trampo com isso faz 3 anos, mas quero fazer um curso avançado

Criado 27 de março de 2014
Ultima resposta 25 de abr. de 2014
Respostas 13
Participantes 3