Jump to content
weverton dias

Erro formula visual - o índice estava fora dos limites da matriz.

Recommended Posts

Boa Tarde Pessoal tudo bem? Espero que sim!

Estou tentando criar a formula visual via código fonte para carregar os dados de pagamento do fornecedor, porém está retornando o erro: 

Ocorreu um erro ao efetuar a leitura da visão: 

Fórmula Visual: 'CRIAR COLUNA DADOS PAGAMENTO VISAO FLAN'.
O índice estava fora dos limites da matriz.

Preciso carregar os dados de pagamento Defalt: Código Banco , Tipo de Pagamento (Doc, TED, PIX e etc)...Já fiz a formula da forma tradiciona, porém esta travando muito a tela carregamento dos lançamentos e os usuários estão irritados, porém necessitam da informação para alguns processo....

Alguém saberia como resolver?

//------------------------------------------------------------------------------
// <auto-generated>
//     O código foi gerado por uma ferramenta.
//     Versão de Tempo de Execução:4.0.30319.42000
//
//     As alterações ao arquivo poderão causar comportamento incorreto e serão perdidas se
//     o código for gerado novamente.
// </auto-generated>
//------------------------------------------------------------------------------

using RM.Con.SourceCode.Intf;
using RM.Con.SourceCode.Server;
using RM.Fin.Lan;
using RM.Lib;
using RM.Lib.Data;
using RM.Lib.Server;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;


namespace RM.ClassesCustomizadas
{
  
  
  public class CodigoFonteCustomizado : SrcBase, ISrcDataServer, ISrcProcess, ISrcSubscriber, ISrcCommon
  {
    
    public void CustomDataServer(RM.Con.SourceCode.Intf.SrcDataServerParams dataServerParams)
    {
     // FinLAN FinLAN = ((FinLAN)(dataServerParams.DataSet));
     
     string strParametro ="0";
     
     foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
     {
     strParametro += " OR IDLAN=" + lancamento["IDLAN"].ToString();
    
     }
     
     RMSConsSQLExecServer query = new RMSConsSQLExecServer();
     
               string strSentenca="";
               strSentenca += "SELECT A.IDLAN,B.NUMEROBANCO FROM FLAN A ";
               strSentenca += "INNER JOIN FDADOSPGTO B ON B.CODCOLIGADA = A.CODCOLIGADA AND B.CODCFO = A.CODCFO AND B.IDPGTO = A.IDPGTO ";
               strSentenca += "WHERE A.IDLAN ="+strParametro;
               
               DataTable dtRetorno = query.ExecSQL(strSentenca,null);
               
               foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
               {
               DataRow[] rowRetorno = dtRetorno.Select("IDLAN = " + lancamento["IDLAN"].ToString());
                       
               lancamento["NUMEROBANCO"]=rowRetorno[0]["NUMEROBANCO"].ToString();
               
               }
    }
    
    public void CustomProcess(RM.Con.SourceCode.Intf.SrcProcessParams processParams)
    {
    }
    
    public void CustomSubscriber(RM.Con.SourceCode.Intf.SrcSubscriberParms subscriberParams)
    {
    }
    
    public void CustomCommon(RM.Con.SourceCode.Intf.SrcCommonParams commonParams)
    {
    }
  }
}
 

FV.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By weverton dias
      Boa Tarde Pessoal tudo bem? Espero que sim!
      Estou tentando criar a formula visual via código fonte para carregar os dados de pagamento do fornecedor, porém está retornando o erro: 
      Ocorreu um erro ao efetuar a leitura da visão: 
      Fórmula Visual: 'CRIAR COLUNA DADOS PAGAMENTO VISAO FLAN'.
      O índice estava fora dos limites da matriz.
      Preciso carregar os dados de pagamento Defalt: Código Banco , Tipo de Pagamento (Doc, TED, PIX e etc)...Já fiz a formula da forma tradiciona, porém esta travando muito a tela carregamento dos lançamentos e os usuários estão irritados, porém necessitam da informação para alguns processo....
      Alguém saberia como resolver?
      //------------------------------------------------------------------------------
      // <auto-generated>
      //     O código foi gerado por uma ferramenta.
      //     Versão de Tempo de Execução:4.0.30319.42000
      //
      //     As alterações ao arquivo poderão causar comportamento incorreto e serão perdidas se
      //     o código for gerado novamente.
      // </auto-generated>
      //------------------------------------------------------------------------------
      using RM.Con.SourceCode.Intf;
      using RM.Con.SourceCode.Server;
      using RM.Fin.Lan;
      using RM.Lib;
      using RM.Lib.Data;
      using RM.Lib.Server;
      using System;
      using System.Collections.Generic;
      using System.Data;
      using System.Linq;
      using System.Text;

      namespace RM.ClassesCustomizadas
      {
        
        
        public class CodigoFonteCustomizado : SrcBase, ISrcDataServer, ISrcProcess, ISrcSubscriber, ISrcCommon
        {
          
          public void CustomDataServer(RM.Con.SourceCode.Intf.SrcDataServerParams dataServerParams)
          {
           // FinLAN FinLAN = ((FinLAN)(dataServerParams.DataSet));
           
           string strParametro ="0";
           
           foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
           {
           strParametro += " OR IDLAN=" + lancamento["IDLAN"].ToString();
          
           }
           
           RMSConsSQLExecServer query = new RMSConsSQLExecServer();
           
                     string strSentenca="";
                     strSentenca += "SELECT A.IDLAN,B.NUMEROBANCO FROM FLAN A ";
                     strSentenca += "INNER JOIN FDADOSPGTO B ON B.CODCOLIGADA = A.CODCOLIGADA AND B.CODCFO = A.CODCFO AND B.IDPGTO = A.IDPGTO ";
                     strSentenca += "WHERE A.IDLAN ="+strParametro;
                     
                     DataTable dtRetorno = query.ExecSQL(strSentenca,null);
                     
                     foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
                     {
                     DataRow[] rowRetorno = dtRetorno.Select("IDLAN = " + lancamento["IDLAN"].ToString());
                             
                     lancamento["NUMEROBANCO"]=rowRetorno[0]["NUMEROBANCO"].ToString();
                     
                     }
          }
          
          public void CustomProcess(RM.Con.SourceCode.Intf.SrcProcessParams processParams)
          {
          }
          
          public void CustomSubscriber(RM.Con.SourceCode.Intf.SrcSubscriberParms subscriberParams)
          {
          }
          
          public void CustomCommon(RM.Con.SourceCode.Intf.SrcCommonParams commonParams)
          {
          }
        }
      }
       

    • By weverton dias
      Boa Tarde Pessoal tudo bem? Espero que sim!
      Estou tentando criar a formula visual via código fonte para carregar os dados de pagamento do fornecedor, porém está retornando o erro: 
      Ocorreu um erro ao efetuar a leitura da visão: 
      Fórmula Visual: 'CRIAR COLUNA DADOS PAGAMENTO VISAO FLAN'.
      O índice estava fora dos limites da matriz.
      Preciso carregar os dados de pagamento Defalt: Código Banco , Tipo de Pagamento (Doc, TED, PIX e etc)...Já fiz a formula da forma tradiciona, porém esta travando muito a tela carregamento dos lançamentos e os usuários estão irritados, porém necessitam da informação para alguns processo....
      Alguém saberia como resolver?
      //------------------------------------------------------------------------------
      // <auto-generated>
      //     O código foi gerado por uma ferramenta.
      //     Versão de Tempo de Execução:4.0.30319.42000
      //
      //     As alterações ao arquivo poderão causar comportamento incorreto e serão perdidas se
      //     o código for gerado novamente.
      // </auto-generated>
      //------------------------------------------------------------------------------
      using RM.Con.SourceCode.Intf;
      using RM.Con.SourceCode.Server;
      using RM.Fin.Lan;
      using RM.Lib;
      using RM.Lib.Data;
      using RM.Lib.Server;
      using System;
      using System.Collections.Generic;
      using System.Data;
      using System.Linq;
      using System.Text;

      namespace RM.ClassesCustomizadas
      {
        
        
        public class CodigoFonteCustomizado : SrcBase, ISrcDataServer, ISrcProcess, ISrcSubscriber, ISrcCommon
        {
          
          public void CustomDataServer(RM.Con.SourceCode.Intf.SrcDataServerParams dataServerParams)
          {
           // FinLAN FinLAN = ((FinLAN)(dataServerParams.DataSet));
           
           string strParametro ="0";
           
           foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
           {
           strParametro += " OR IDLAN=" + lancamento["IDLAN"].ToString();
          
           }
           
           RMSConsSQLExecServer query = new RMSConsSQLExecServer();
           
                     string strSentenca="";
                     strSentenca += "SELECT A.IDLAN,B.NUMEROBANCO FROM FLAN A ";
                     strSentenca += "INNER JOIN FDADOSPGTO B ON B.CODCOLIGADA = A.CODCOLIGADA AND B.CODCFO = A.CODCFO AND B.IDPGTO = A.IDPGTO ";
                     strSentenca += "WHERE A.IDLAN ="+strParametro;
                     
                     DataTable dtRetorno = query.ExecSQL(strSentenca,null);
                     
                     foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
                     {
                     DataRow[] rowRetorno = dtRetorno.Select("IDLAN = " + lancamento["IDLAN"].ToString());
                             
                     lancamento["NUMEROBANCO"]=rowRetorno[0]["NUMEROBANCO"].ToString();
                     
                     }
          }
          
          public void CustomProcess(RM.Con.SourceCode.Intf.SrcProcessParams processParams)
          {
          }
          
          public void CustomSubscriber(RM.Con.SourceCode.Intf.SrcSubscriberParms subscriberParams)
          {
          }
          
          public void CustomCommon(RM.Con.SourceCode.Intf.SrcCommonParams commonParams)
          {
          }
        }
      }
       

    • By auricleide_almeida
      Alguém pode me ajudar com um cubo que traga a os dados do contratos e as medições.
    • By vini.zambrotti
      Boa tarde a todos!
       
      Estou com uma situação em que na tela de Parâmetros para Finalizar Férias ao habilitar a flag Lança Movimento Próximo Mês por padrão no campo período vem com valor 1 porém fechamos nossas férias no período 2 e alguns usuários ao finalizar as férias para o movimento próximo mês acabam esquecendo de trocar o período para 2 e lançam no 1 e isso atrapalha no fechamento.
      Gostaria de saber se é possível mudar este valor Default de 1 para 2 e deixar fixo via formula visual ou se existe algum coisa no parametrizador?
      Segue anexo tela referente a situação citada acima.
       
       

    • By Cassius
      Prezados boa tarde.
       
      Gostaria de saber se existe uma maneira de obter o id do JOB em execução (que chamou aquela fórmula visual) no momento em que ela está sendo executada.
      Pensamos em usar via consulta, utilizando o código do usuário, porém se o usuário estiver com mais de um JOB sendo executado naquele momento (JOBs agendados) eu não saberia identificar qual o JOB que está chamando a Fórmula Visual em questão.
      Obrigado a todos.
    • By weverton dias
      Bom Dia Pessoal!
      Criei a setença abaixo para montar um rateio por seção e centro de custo, ocorre que um funcionário pode ter vários rateios e preciso trazer todos em colunas, quando removo o case da setença funciona, porém não tras os eventos separados por coluna, alguém poderia me ajudar?
      A sentença está duplicando várias linhas......... preciso que retorne somente os centro de custo que possuem rateio e seus respectivos valores.....
       
      SELECT FF.CODCOLIGADA,
             FF.CHAPA,
             P.NOME,
             P.CODSITUACAO,
             P.CODFILIAL,
             P.CODSECAO,
             RAT.CODCCUSTO,
             CUST.NOME AS 'NOME CENTRO DE CUSTO',
             FF.MESCOMP,
             FF.ANOCOMP,
             FF.NROPERIODO,
             SEC.DESCRICAO,
             FF.LIQUIDO,
             ( CASE
                 WHEN MOV.CODEVENTO IN ( '0075' ) THEN MOV.VALOR
                 ELSE 0
               END )   AS 'GRATIFICACAO E PREMIO' /*@Weverton GRATIFICACAO E PREMIO*/
      FROM   PFPERFF AS FF WITH (NOLOCK)
             INNER JOIN PFUNC AS P WITH (NOLOCK)
                     ON P.CODCOLIGADA = FF.CODCOLIGADA
                        AND P.CHAPA = FF.CHAPA
             INNER JOIN PFRATEIOFIXO AS RAT WITH (NOLOCK)
                     ON RAT.CODCOLIGADA = P.CODCOLIGADA
                        AND RAT.CHAPA = P.CHAPA
             INNER JOIN GCCUSTO AS CUST WITH (NOLOCK)
                     ON CUST.CODCOLIGADA = RAT.CODCOLIGADA
                        AND CUST.CODCCUSTO = RAT.CODCCUSTO
             INNER JOIN PFMOVCC MOV
                     ON FF.CODCOLIGADA = MOV.CODCOLIGADA
                        AND FF.CHAPA = MOV.CHAPA
                        AND FF.ANOCOMP = MOV.ANOCOMP
                        AND FF.MESCOMP = MOV.MESCOMP
                        AND FF.NROPERIODO = MOV.NROPERIODO
             LEFT OUTER JOIN PSECAO AS SEC
                          ON P.CODCOLIGADA = SEC.CODCOLIGADA
                             AND P.CODSECAO = SEC.CODIGO
      WHERE  ( FF.CODCOLIGADA = :COLIGADA )
             AND ( FF.MESCOMP = :MES )
             AND ( FF.ANOCOMP = :ANO )
             AND ( FF.NROPERIODO = :PERIODO )
      ORDER  BY P.NOME 
       
       
       
    • By Willi Ramalho
      Boa tarde senhores, não conseguir colocar no topico de sql, por isso coloquei aqui. Aqui na implantação do sistema, foi feito um relatório customizado com Consultor da época e o gerente do setor.
      Estou com problema em uma parte do codigo, consegui encontrar onde esta o erro, mais como não entendo muito ainda de SQL, não to conseguindo resolver.
      Da erro de "ORA-01427: single-row subquery returns more than one row"  nessa parte da consulta " , (SELECT REF FROM PFFINANC
                  where CODEVENTO = VC.CODEVENTO
                  AND CHAPA = VC.CHAPA
                  AND MESCOMP = VC.MESCOMP
                  AND ANOCOMP = VC.ANOCOMP
                  AND NROPERIODO =  VC.NROPERIODO) AS REFERENCIA,"
      Quando deixa essa parte comentada, a consulta funciona, mais eu preciso das referencias no contra cheque, alguém me da um luz? 
    • By L o nardo
      Estou iniciando minha carreira nos sistemas TOTVS, e estou tendo problemas em realizar as atividades que me são passadas, tenho que criar um campo complementar para os contratos e validar se ele esta preenchido, porém não consigo encontrar a opção de inserir um campo complementar para os contratos e não estou conseguindo criar uma fórmula visual que reconheça os campos ja existentes.
  • Recent

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.