HENRIQUE CARVALHO Postado 31 de Maio de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 8 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 61 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Denunciar Compartilhar Postado 31 de Maio de 2019 Bom dia. Estou tentado criar uma expressão onde =se(X>0;X*0,34;0) Inseri essa expressão, mas ela retorna erro IF (DECIMAL(Relatório.Texto44) - DECIMAL (Relatório.Texto61) - DECIMAL(Relatório.Texto63) - DECIMAL(Relatório.Texto65) - DECIMAL(Relatório.Texto47) - DECIMAL(Relatório.Texto67) - DECIMAL(Relatório.Texto46) - DECIMAL(Relatório.Texto52) - DECIMAL(Relatório.Texto56)>DECIMAL(0);DECIMAL (Relatório.Texto44) - (DECIMAL(Relatório.Texto61) + DECIMAL(Relatório.Texto63) + DECIMAL(Relatório.Texto65) + DECIMAL(Relatório.Texto47) + DECIMAL(Relatório.Texto67) + DECIMAL(Relatório.Texto46) + DECIMAL(Relatório.Texto52) + DECIMAL(Relatório.Texto56)) *DECIMAL(0,34); DECIMAL(0) Erro ao executar relatório Erro ao executar relatório Erro ao gerar o relatório para memória Erro ao criar documento Parâmetros informados incorretamente. Parâmetros informados incorretamente. Parâmetros informados incorretamente. Usuário da execução: METROENG\MTPLAN02$ Aguem pode me ajudar com essa questão? Me solicitaram essa inclusão achando que seria simples como uma fórmula no excel. Poderia ser feio via SQL, mas a query para chegar nesse resultado seria enorme, causando uma redundância muito grande na execução do relatório que já está bastante lenta. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Filipeejc Postado 3 de Junho de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 35 Conteúdo/Dia: 0.01 Reputação: 11 Pontos/Conquistas: 212 Conteúdo Resolvido: 0 Dias Ganho: 7 Status: Offline Idade: 40 Denunciar Compartilhar Postado 3 de Junho de 2019 (editado) Em 31/05/2019 at 11:20, HENRIQUE CARVALHO disse: Bom dia. Estou tentado criar uma expressão onde =se(X>0;X*0,34;0) Inseri essa expressão, mas ela retorna erro IF (DECIMAL(Relatório.Texto44) - DECIMAL (Relatório.Texto61) - DECIMAL(Relatório.Texto63) - DECIMAL(Relatório.Texto65) - DECIMAL(Relatório.Texto47) - DECIMAL(Relatório.Texto67) - DECIMAL(Relatório.Texto46) - DECIMAL(Relatório.Texto52) - DECIMAL(Relatório.Texto56)>DECIMAL(0);DECIMAL (Relatório.Texto44) - (DECIMAL(Relatório.Texto61) + DECIMAL(Relatório.Texto63) + DECIMAL(Relatório.Texto65) + DECIMAL(Relatório.Texto47) + DECIMAL(Relatório.Texto67) + DECIMAL(Relatório.Texto46) + DECIMAL(Relatório.Texto52) + DECIMAL(Relatório.Texto56)) *DECIMAL(0,34); DECIMAL(0) Erro ao executar relatório Erro ao executar relatório Erro ao gerar o relatório para memória Erro ao criar documento Parâmetros informados incorretamente. Parâmetros informados incorretamente. Parâmetros informados incorretamente. Usuário da execução: METROENG\MTPLAN02$ Aguem pode me ajudar com essa questão? Me solicitaram essa inclusão achando que seria simples como uma fórmula no excel. Poderia ser feio via SQL, mas a query para chegar nesse resultado seria enorme, causando uma redundância muito grande na execução do relatório que já está bastante lenta. Bom dia Henrique, Tente assim: If(Decimal(Relatório.Texto44)-Decimal(Relatório.Texto61)-Decimal(Relatório.Texto63)-Decimal(Relatório.Texto65)-Decimal(Relatório.Texto47)-Decimal(Relatório.Texto67)-Decimal(Relatório.Texto46)-Decimal(Relatório.Texto52)-Decimal(Relatório.Texto56)>Decimal(0),(Decimal(Relatório.Texto44)-Decimal(Relatório.Texto61)-Decimal(Relatório.Texto63)-Decimal(Relatório.Texto65)-Decimal(Relatório.Texto47)-Decimal(Relatório.Texto67)-Decimal(Relatório.Texto46)-Decimal(Relatório.Texto52)-Decimal(Relatório.Texto56))*Decimal(0.34),0) Haviam três pequenos erros na sua expressão, sendo: 1 - Os parênteses, de modo que se separe a subtração da multiplicação. 2 - Os campos da expressão são separados com vírgula e não ponto e vírgula. 3 - A multiplicação deve ser realizada por (0.34) e não (0,34). Atenciosamente, Filipe Pimenta Editado 3 de Junho de 2019 por Filipeejc Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
HENRIQUE CARVALHO Postado 3 de Junho de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 8 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 61 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Autor Denunciar Compartilhar Postado 3 de Junho de 2019 Bom dia, brother Filipe. Realizei a alteração que você sugeriu. Agora tá trazendo esse erro. Erro ao executar relatório Erro ao executar relatório Erro ao gerar o relatório para memória Erro ao criar documento Uma exceção foi acionada pelo destino de uma chamada. Não é possível converter o tipo para decimal. Uma exceção foi acionada pelo destino de uma chamada. Não é possível converter o tipo para decimal. Uma exceção foi acionada pelo destino de uma chamada. Não é possível converter o tipo para decimal. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
HENRIQUE CARVALHO Postado 3 de Junho de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 8 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 61 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Autor Denunciar Compartilhar Postado 3 de Junho de 2019 1 hora atrás, Filipeejc disse: Bom dia Henrique, Tente assim: If(Decimal(Relatório.Texto44)-Decimal(Relatório.Texto61)-Decimal(Relatório.Texto63)-Decimal(Relatório.Texto65)-Decimal(Relatório.Texto47)-Decimal(Relatório.Texto67)-Decimal(Relatório.Texto46)-Decimal(Relatório.Texto52)-Decimal(Relatório.Texto56)>Decimal(0),(Decimal(Relatório.Texto44)-Decimal(Relatório.Texto61)-Decimal(Relatório.Texto63)-Decimal(Relatório.Texto65)-Decimal(Relatório.Texto47)-Decimal(Relatório.Texto67)-Decimal(Relatório.Texto46)-Decimal(Relatório.Texto52)-Decimal(Relatório.Texto56))*Decimal(0.34),0) Haviam três pequenos erros na sua expressão, sendo: 1 - Os parênteses, de modo que se separe a subtração da multiplicação. 2 - Os campos da expressão são separados com vírgula e não ponto e vírgula. 3 - A multiplicação deve ser realizada por (0.34) e não (0,34). Atenciosamente, Filipe Pimenta Bom dia, brother Filipe. Realizei a alteração que você sugeriu. Agora tá trazendo esse erro. Erro ao executar relatório Erro ao executar relatório Erro ao gerar o relatório para memória Erro ao criar documento Uma exceção foi acionada pelo destino de uma chamada. Não é possível converter o tipo para decimal. Uma exceção foi acionada pelo destino de uma chamada. Não é possível converter o tipo para decimal. Uma exceção foi acionada pelo destino de uma chamada. Não é possível converter o tipo para decimal. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Filipeejc Postado 3 de Junho de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 35 Conteúdo/Dia: 0.01 Reputação: 11 Pontos/Conquistas: 212 Conteúdo Resolvido: 0 Dias Ganho: 7 Status: Offline Idade: 40 Denunciar Compartilhar Postado 3 de Junho de 2019 Henrique, Pelo que entendi os campos desse relatório são do tipo texto, e você está convertendo para decimal. Já verificou se todos os campos estão preenchidos com números? Gerei um relatório aqui com essa expressão e deu certo. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
HENRIQUE CARVALHO Postado 3 de Junho de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 8 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 61 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Autor Denunciar Compartilhar Postado 3 de Junho de 2019 (editado) 1 hora atrás, Filipeejc disse: Henrique, Pelo que entendi os campos desse relatório são do tipo texto, e você está convertendo para decimal. Já verificou se todos os campos estão preenchidos com números? Gerei um relatório aqui com essa expressão e deu certo. Brother, muito obrigado pela sua ajuda. Verifiquei os campos, estão todos formatados como número (0;n2) Colei novamente a expressão que você enviou, e retornou o erro abaixo Erro ao executar relatório Erro ao executar relatório Erro ao gerar o relatório para memória Erro ao criar documento Uma exceção foi acionada pelo destino de uma chamada. O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. Nome do parâmetro: index Uma exceção foi acionada pelo destino de uma chamada. O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. Nome do parâmetro: index Uma exceção foi acionada pelo destino de uma chamada. O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. Nome do parâmetro: index EXPRESSÃO If(Decimal(Relatório.Texto44)-Decimal(Relatório.Texto61)-Decimal(Relatório.Texto63)-Decimal(Relatório.Texto65)-Decimal(Relatório.Texto47)-Decimal(Relatório.Texto67)-Decimal(Relatório.Texto46)-Decimal(Relatório.Texto52)-Decimal(Relatório.Texto56)>Decimal(0),(Decimal(Relatório.Texto44)-Decimal(Relatório.Texto61)-Decimal(Relatório.Texto63)-Decimal(Relatório.Texto65)-Decimal(Relatório.Texto47)-Decimal(Relatório.Texto67)-Decimal(Relatório.Texto46)-Decimal(Relatório.Texto52)-Decimal(Relatório.Texto56))*Decimal(0.34),0) Existe alguma restrição quanto à resultados negativos? Editado 3 de Junho de 2019 por HENRIQUE CARVALHO Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Filipeejc Postado 3 de Junho de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 35 Conteúdo/Dia: 0.01 Reputação: 11 Pontos/Conquistas: 212 Conteúdo Resolvido: 0 Dias Ganho: 7 Status: Offline Idade: 40 Denunciar Compartilhar Postado 3 de Junho de 2019 Em tese não deveria haver essa restrição. Se o valor é maior que 0 a expressão trás o valor da subtração multiplicado por 0.34. Se o valor é menor que 0, ou seja, negativo, a expressão deveria trazer 0. Você consegue alterar os valores desses campos? Caso consiga, sugiro alterar de modo que os valores fiquem positivos e você consiga testar. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.