Situação
- Ao abrir a rotina Declaração DIRBI, na aba Empresas e clicar em "Incluir" ocorre a falha:
Ocorreu uma exceção sem tratamento no aplicativo. Se você clicar em Continuar o aplicativo ignorará esse erro e tentará continuar. Se clicar em Encerrar, o aplicativo será encerrado imediatamente.
A cadeia de caracteres de entrada não estava em um formato correto.
Consulte o final desta mensagem para obter detalhes sobre como chamar a
depuração just-in-time (JIT) em vez desta caixa de diálogo.
************** Texto de Exceção **************
System.FormatException: A cadeia de caracteres de entrada não estava em um formato correto.
em System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
em System.Number.ParseUInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
em System.Convert.ToUInt64(String value)
em Prosoft.OnPremises.Dirbi.PrgDirbi.Formulario.Parametro.EmpresasSelecionar.PopularGrid(String dadosPesquisa)
em Prosoft.OnPremises.Dirbi.PrgDirbi.Formulario.Parametro.EmpresasSelecionar..ctor(CamposParametros parametros, IEnumerable`1 objDados)
em Prosoft.OnPremises.Dirbi.PrgDirbi.Formulario.Principal.CarregarTelaCriar()
em Prosoft.OnPremises.Dirbi.PrgDirbi.Formulario.Principal.btnIncluir_Click(Object sender, EventArgs e)
em System.Windows.Forms.Control.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ButtonBase.WndProc(Message& m)
em System.Windows.Forms.Button.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Resolução
É necessário fazer a busca de informações sobre as empresas que estão no banco de dados para identificar se existe algum campo em branco, como por exemplo o CPNJ/CPF.
Isso pode ocorrer de bases que vieram do DOS, onde não eram obrigatórios os preenchimentos.
- Faça a busca no banco de dados, na tabela prg_empresas_btr se existem empresas com campo em branco.
select * from "prg_empresa_btr" where cnpjcpf = ''
Caso existam empresas com campo vazio, deve ser feito a correção, preenchendo no cadastro da empresa, ou se for empresas desabilitadas de uso (que provavelmente sejam) considerar a exclusão do Prosoft ou remover a permissão no GGU dos usuários.