예제 #1
0
 private void bb_conexao_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(txtServidor.Text))
     {
         MessageBox.Show("Obrigatorio informar servidor para testar conexão.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         txtServidor.Focus();
         return;
     }
     if (string.IsNullOrEmpty(txtBancoDados.Text))
     {
         MessageBox.Show("Obrigatorio informar banco dados para testar conexão.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         txtBancoDados.Focus();
         return;
     }
     try
     {
         BancoDados.TObjetoBanco banco = new BancoDados.TObjetoBanco();
         banco.CriarConexao(Login.Trim(), txtServidor.Text, txtBancoDados.Text);
         banco.Conexao.Open();
         if (banco.Conexao.State == ConnectionState.Open)
         {
             MessageBox.Show("Conexão aberta com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             banco.Conexao.Close();
         }
         else
         {
             MessageBox.Show("Erro abrir conexão. Verifique nome do servidor ou banco de dados.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     catch (Exception ex)
     { MessageBox.Show("Erro teste conexão: " + ex.Message.Trim()); }
 }
예제 #2
0
 public string GravarOrcamento(TRegistro_Orcamento val)
 {
     if (val == null)
     {
         return("Parametro com valor NULL");
     }
     BancoDados.TObjetoBanco banco = new BancoDados.TObjetoBanco();
     try
     {
         //TConexao.BuscarParametros();
         banco.CriarConexao("MASTER", "localhost", "ALIANCE_PRMUDANCA");
         banco.CriarComando();
         banco.Conexao.Open();
         banco.Start_Tran(System.Data.IsolationLevel.ReadUncommitted);
         banco.Comando.Transaction = banco.Transac;
         //Gravar mudanca
         val.Cd_empresa      = "0001";
         val.St_registro     = "0";//Orcamento
         val.Dt_orcamento    = DateTime.Now;
         val.Id_orcamentostr = CamadaDados.TDataQuery.getPubVariavel(new CamadaDados.Mudanca.TCD_Orcamento(banco).Gravar(val), "@P_ID_ORCAMENTO");
         //Gravar itens mudanca
         if (val.lItens != null)
         {
             val.lItens.ForEach(p =>
             {
                 p.Cd_empresa   = val.Cd_empresa;
                 p.Id_orcamento = val.Id_orcamento;
                 new CamadaDados.Mudanca.TCD_Orcamento_X_Itens(banco).Gravar(p);
             });
         }
         ////Gravar itens encaixotamento
         if (val.lEnc != null)
         {
             val.lEnc.ForEach(p =>
             {
                 p.Cd_empresa   = val.Cd_empresa;
                 p.Id_orcamento = val.Id_orcamento;
                 new CamadaDados.Mudanca.TCD_Encaixotamento(banco).Gravar(p);
             });
         }
         banco.Transac.Commit();
         return("Orçamento Gravado com Sucesso");
     }
     catch (Exception ex)
     {
         banco.Transac.Rollback();
         throw new Exception("Erro: " + ex.Message.Trim());
     }
     finally
     {
         if (banco.Conexao.State == System.Data.ConnectionState.Open)
         {
             banco.Conexao.Close();
         }
         banco = null;
     }
 }
예제 #3
0
        public static void GravarDevAquisicao(TRegistro_DevAquisicao val,
                                              BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;

            if (banco == null)
            {
                banco = new BancoDados.TObjetoBanco();
                banco.CriarConexao(Parametros.pubLogin, Parametros.pubNM_Servidor, Parametros.pubNM_BancoDados);
                banco.CriarComando();
                banco.Conexao.Open();
                banco.Start_Tran(System.Data.IsolationLevel.ReadCommitted);
                banco.Comando.Transaction = banco.Transac;
                st_transacao = true;
            }
            try
            {
                #region Nota_Fiscal_Origem
                val.rNfOrigem.Nr_pedido            = val.Contrato_devolucao[0].Nr_pedido;
                val.rNfOrigem.Cd_clifor            = val.Contrato_Origem.Cd_clifor;
                val.rNfOrigem.Cd_cmi               = val.Contrato_Origem.Pedido_Fiscal[0].Cd_cmi;
                val.rNfOrigem.Cd_cmistring         = val.Contrato_Origem.Pedido_Fiscal[0].Cd_cmistring;;
                val.rNfOrigem.Cd_condfiscal_clifor = string.Empty;
                val.rNfOrigem.Cd_condpgto          = val.Contrato_Origem.CD_CondPGTO;
                val.rNfOrigem.Cd_empresa           = val.Contrato_Origem.Cd_empresa;
                val.rNfOrigem.Cd_endereco          = val.Contrato_Origem.Cd_endereco;
                val.rNfOrigem.Cd_modelo            = val.Contrato_Origem.Pedido_Fiscal[0].Cd_modelo;
                val.rNfOrigem.Cd_movimentacao      = val.Contrato_Origem.Pedido_Fiscal[0].Cd_movto;

                if (val.Duplicata_Origem.Count > 0)
                {
                    val.rNfOrigem.Duplicata = val.Duplicata_Origem;
                }

                //Criar itens da nota fiscal
                TRegistro_LanFaturamento_Item Reg_Itens_Nota = new TRegistro_LanFaturamento_Item();
                Reg_Itens_Nota.Cd_produto    = val.Contrato_devolucao[0].Cd_produto;
                Reg_Itens_Nota.lNfcompdev    = val.Devolucao;
                Reg_Itens_Nota.Quantidade    = val.Quantidade;
                Reg_Itens_Nota.Vl_unitario   = val.Vl_unit_origem;
                Reg_Itens_Nota.Cd_local      = val.Contrato_devolucao[0].CD_Local;
                Reg_Itens_Nota.Vl_subtotal   = val.Vl_subtotal_origem;
                Reg_Itens_Nota.Id_pedidoitem = val.Contrato_Origem.Id_pedidoitem.Value;
                Reg_Itens_Nota.Nr_pedido     = val.Contrato_Origem.Nr_pedido.Value;
                CamadaDados.Fiscal.TRegistro_CadCFOP rCfop = null;
                if (CamadaNegocio.Fiscal.TCN_Mov_X_CFOP.BuscarCFOP(val.rNfOrigem.Cd_movimentacaostring,
                                                                   val.Contrato_devolucao[0].Cd_condfiscal_produto,
                                                                   val.Contrato_Origem.CD_UFClifor.Trim().Equals("99") ? "I" :
                                                                   val.Contrato_Origem.CD_UFClifor.Trim().Equals(val.Reg_Empresa_Origem.rEndereco.Cd_uf.Trim()) ? "D" : "F",
                                                                   val.Reg_Empresa_Origem.rEndereco.Cd_uf,
                                                                   val.Contrato_Origem.CD_UFClifor,
                                                                   val.rNfOrigem.Tp_movimento,
                                                                   val.Reg_Clifor_Origem.Cd_condfiscal_clifor,
                                                                   val.Reg_Empresa_Origem.Cd_empresa,
                                                                   ref rCfop,
                                                                   banco))
                {
                    Reg_Itens_Nota.Cd_cfop        = rCfop.CD_CFOP;
                    Reg_Itens_Nota.Ds_cfop        = rCfop.DS_CFOP;
                    Reg_Itens_Nota.St_bonificacao = rCfop.St_bonificacaobool;
                }
                else
                {
                    throw new Exception("Não existe CFOP " + (val.Contrato_Origem.CD_UFClifor.Trim().Equals("99") ? "internacional" :
                                                              val.Contrato_Origem.CD_UFClifor.Trim().Equals(val.Reg_Empresa_Origem.rEndereco.Cd_uf.Trim()) ? "dentro estado" : "fora estado") + " configurado para a Movimentação " + val.rNfOrigem.Cd_movimentacaostring + " condição fiscal do produto " + val.Contrato_devolucao[0].Cd_condfiscal_produto);
                }

                Reg_Itens_Nota.Cd_unidade = val.Contrato_Origem.Cd_unidade;
                Reg_Itens_Nota.Cd_unidEst = val.Contrato_Origem.Cd_unid_produto;
                //Procurar Impostos Estaduais para o Item
                string           vObsFiscal = string.Empty;
                TList_ImpostosNF lImpostos  = TCN_LanFaturamento_Item.procuraImpostosPorUf(val.Reg_Empresa_Origem.Cd_empresa,
                                                                                           val.Reg_Empresa_Origem.rEndereco.Cd_uf,
                                                                                           val.Contrato_Origem.CD_UFClifor,
                                                                                           val.Contrato_Origem.Pedido_Fiscal[0].Cd_movtostring,
                                                                                           val.rNfOrigem.Tp_movimento,
                                                                                           val.Reg_Clifor_Origem.Cd_condfiscal_clifor,
                                                                                           val.Reg_Produto_Origem.CD_CondFiscal_Produto,
                                                                                           val.Vl_subtotal_origem,
                                                                                           val.Quantidade,
                                                                                           ref vObsFiscal,
                                                                                           val.rNfOrigem.Dt_emissao,
                                                                                           val.Reg_Produto_Origem.CD_Produto,
                                                                                           val.rNfOrigem.Tp_nota,
                                                                                           val.rNfOrigem.Nr_serie,
                                                                                           banco);
                if (lImpostos.Count > 0)
                {
                    TCN_LanFaturamento_Item.PreencherICMS(lImpostos[0], Reg_Itens_Nota);
                    val.rNfOrigem.Obsfiscal += string.IsNullOrEmpty(val.rNfOrigem.Obsfiscal) ? vObsFiscal.Trim() : "\r\n" + vObsFiscal.Trim();
                }
                else if (TCN_LanFaturamento_Item.ObrigImformarICMS(val.Reg_Produto_Destino.CD_Produto, val.rNfOrigem.Nr_serie, banco))
                {
                    throw new Exception("Não existe condição fiscal para o imposto ICMS: \r\n" +
                                        "Tipo Movimento: " + (val.rNfOrigem.Tp_movimento.Trim().ToUpper().Equals("E") ? "ENTRADA" : "SAIDA") + "\r\n" +
                                        "Movimentação Comercial: " + val.Contrato_Origem.Pedido_Fiscal[0].Cd_movtostring + " - " + val.Contrato_Origem.Pedido_Fiscal[0].Ds_movimentacao + "\r\n" +
                                        "Condição Fiscal Clifor: " + val.Reg_Clifor_Origem.Cd_condfiscal_clifor + "\r\n" +
                                        "Condição Fiscal Produto: " + val.Reg_Produto_Origem.CD_CondFiscal_Produto + "\r\n" +
                                        "UF Origem: " + val.Reg_Empresa_Origem.rEndereco.Cd_uf + "\r\n" +
                                        "UF Destino: " + val.Contrato_Origem.CD_UFClifor);
                }

                //Procurar impostos sobre os itens da nota fiscal de origem
                TCN_LanFaturamento_Item.PreencherOutrosImpostos(
                    TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(val.Reg_Clifor_Origem.Cd_condfiscal_clifor,
                                                                          val.Reg_Produto_Origem.CD_CondFiscal_Produto,
                                                                          val.Contrato_Origem.Pedido_Fiscal[0].Cd_movtostring,
                                                                          val.rNfOrigem.Tp_movimento,
                                                                          val.Reg_Clifor_Origem.Tp_pessoa,
                                                                          val.Contrato_devolucao[0].CD_Empresa,
                                                                          val.Contrato_Origem.Pedido_Fiscal[0].Nr_serie,
                                                                          val.Reg_Clifor_Origem.Cd_clifor,
                                                                          val.Reg_Produto_Origem.CD_Unidade,
                                                                          val.Dt_lancto,
                                                                          Reg_Itens_Nota.Quantidade,
                                                                          Reg_Itens_Nota.Vl_subtotal,
                                                                          val.rNfOrigem.Tp_nota,
                                                                          string.Empty,
                                                                          banco), Reg_Itens_Nota, val.rNfOrigem.Tp_movimento);
                //Gerar observacao para o item
                //Observação do Item com os dados das notas de origem
                string obsitem = string.Empty;
                val.Devolucao.ForEach(p =>
                {
                    obsitem += (p.Nr_notafiscal_origem.ToString() + "/" + p.Nr_serie_origem).FormatStringDireita(21, ' ') +
                               (p.Qtd_lancto.ToString("N3", new System.Globalization.CultureInfo("en-US", true)) +
                                Reg_Itens_Nota.Sigla_unidade_estoque.Trim()).FormatStringDireita(15, ' ') +
                               p.Vl_lancto.ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringDireita(12, ' ') + "\r\n";
                });
                Reg_Itens_Nota.Observacao_item += "NF/Serie Origem      Quantidade     Valor(R$)\r\n" + obsitem;
                //Adicionar item a nota fiscal de origem
                val.rNfOrigem.ItensNota.Add(Reg_Itens_Nota);
                //Gravar nota fiscal de origem
                TCN_LanFaturamento.GravarFaturamento(val.rNfOrigem, null, banco);
                val.Contrato_devolucao[0].NR_LanctoFiscal = val.rNfOrigem.Nr_lanctofiscal.Value;
                #endregion

                #region Nota_Fiscal_Destino
                val.rNfDestino.Nr_pedido       = val.Contrato_compra[0].Nr_pedido;
                val.rNfDestino.Cd_clifor       = val.Contrato_Destino.Cd_clifor;
                val.rNfDestino.Cd_cmi          = val.Contrato_Destino.Pedido_Fiscal[0].Cd_cmi;
                val.rNfDestino.Cd_cmistring    = val.Contrato_Destino.Pedido_Fiscal[0].Cd_cmistring;;
                val.rNfDestino.Cd_condpgto     = val.Contrato_Destino.CD_CondPGTO;
                val.rNfDestino.Cd_empresa      = val.Contrato_Destino.Cd_empresa;
                val.rNfDestino.Cd_endereco     = val.Contrato_Destino.Cd_endereco;
                val.rNfDestino.Cd_modelo       = val.Contrato_Destino.Pedido_Fiscal[0].Cd_modelo;
                val.rNfDestino.Cd_movimentacao = val.Contrato_Destino.Pedido_Fiscal[0].Cd_movto;
                if (val.Duplicata_Destino.Count > 0)
                {
                    val.rNfDestino.Duplicata = val.Duplicata_Destino;
                }

                //Registro item da nota fiscal de destino
                TRegistro_LanFaturamento_Item Reg_Itens_Nota_Destino = new TRegistro_LanFaturamento_Item();
                if (val.Contrato_compra[0].CD_Unidade_Est.Equals(val.Contrato_devolucao[0].CD_Unidade_Est))
                {
                    Reg_Itens_Nota_Destino.Quantidade = val.Quantidade;
                }
                else
                {
                    Reg_Itens_Nota_Destino.Quantidade = TCN_CadConvUnidade.ConvertUnid(val.Contrato_compra[0].CD_Unidade_Est, val.Contrato_devolucao[0].CD_Unidade_Est, val.Quantidade, 3, banco);
                }
                Reg_Itens_Nota_Destino.Cd_produto    = val.Contrato_compra[0].Cd_produto;
                Reg_Itens_Nota_Destino.Vl_unitario   = val.Vl_unit_destino;
                Reg_Itens_Nota_Destino.Cd_local      = val.Contrato_compra[0].CD_Local;
                Reg_Itens_Nota_Destino.Vl_subtotal   = val.Vl_subtotal_destino;
                Reg_Itens_Nota_Destino.Id_pedidoitem = val.Contrato_Destino.Id_pedidoitem;
                Reg_Itens_Nota_Destino.Nr_pedido     = val.Contrato_Destino.Nr_pedido.Value;
                rCfop = null;
                if (CamadaNegocio.Fiscal.TCN_Mov_X_CFOP.BuscarCFOP(val.rNfDestino.Cd_movimentacaostring,
                                                                   val.Contrato_compra[0].Cd_condfiscal_produto,
                                                                   val.Contrato_Destino.CD_UFClifor.Trim().Equals("99") ? "I":
                                                                   val.Contrato_Destino.CD_UFClifor.Trim().Equals(val.Reg_Empresa_Destino.rEndereco.Cd_uf.Trim()) ? "D" : "F",
                                                                   val.Reg_Empresa_Destino.rEndereco.Cd_uf,
                                                                   val.Contrato_Destino.CD_UFClifor,
                                                                   val.rNfDestino.Tp_movimento,
                                                                   val.Reg_Clifor_Destino.Cd_condfiscal_clifor,
                                                                   val.Reg_Empresa_Destino.Cd_empresa,
                                                                   ref rCfop,
                                                                   banco))
                {
                    Reg_Itens_Nota_Destino.Cd_cfop        = rCfop.CD_CFOP;
                    Reg_Itens_Nota_Destino.Ds_cfop        = rCfop.DS_CFOP;
                    Reg_Itens_Nota_Destino.St_bonificacao = rCfop.St_bonificacaobool;
                }
                else
                {
                    throw new Exception("Não existe CFOP " + (val.Contrato_Destino.CD_UFClifor.Trim().Equals("99") ? "internacional" : val.Contrato_Destino.CD_UFClifor.Trim().Equals(val.Reg_Empresa_Destino.rEndereco.Cd_uf.Trim()) ? "dentro estado" : "fora estado") + " configurado para a Movimentação " + val.rNfDestino.Cd_movimentacaostring + " condição fiscal do produto " + val.Contrato_compra[0].Cd_condfiscal_produto);
                }
                Reg_Itens_Nota_Destino.Cd_unidade = val.Contrato_Destino.Cd_unidade;
                Reg_Itens_Nota_Destino.Cd_unidEst = val.Contrato_Destino.Cd_unid_produto;
                //Procurar Impostos Estaduais para o Item
                vObsFiscal = string.Empty;
                TList_ImpostosNF lImpUf = TCN_LanFaturamento_Item.procuraImpostosPorUf(val.Reg_Empresa_Destino.Cd_empresa,
                                                                                       val.Reg_Empresa_Destino.rEndereco.Cd_uf,
                                                                                       val.Contrato_Destino.CD_UFClifor,
                                                                                       val.Contrato_Destino.Pedido_Fiscal[0].Cd_movtostring,
                                                                                       val.rNfDestino.Tp_movimento,
                                                                                       val.Reg_Clifor_Destino.Cd_condfiscal_clifor,
                                                                                       val.Reg_Produto_Destino.CD_CondFiscal_Produto,
                                                                                       val.Vl_subtotal_destino,
                                                                                       val.Quantidade,
                                                                                       ref vObsFiscal,
                                                                                       val.rNfDestino.Dt_emissao,
                                                                                       val.Reg_Produto_Destino.CD_Produto,
                                                                                       val.rNfDestino.Tp_nota,
                                                                                       val.rNfDestino.Nr_serie,
                                                                                       banco);
                if (lImpUf.Exists(v => v.Imposto.St_ICMS))
                {
                    TCN_LanFaturamento_Item.PreencherICMS(lImpUf.Find(v => v.Imposto.St_ICMS), Reg_Itens_Nota_Destino);
                    val.rNfDestino.Obsfiscal += string.IsNullOrEmpty(val.rNfDestino.Obsfiscal) ? vObsFiscal.Trim() : "\r\n" + vObsFiscal.Trim();
                }
                else if (TCN_LanFaturamento_Item.ObrigImformarICMS(val.Reg_Produto_Destino.CD_Produto, val.rNfDestino.Nr_serie, banco))
                {
                    throw new Exception("Não existe configuração fiscal para o imposto ICMS: \r\n" +
                                        "Tipo Movimento: " + (val.rNfDestino.Tp_movimento.Trim().ToUpper().Equals("E") ? "ENTRADA" : "SAIDA") + "\r\n" +
                                        "Movimentação Comercial: " + val.Contrato_Destino.Pedido_Fiscal[0].Cd_movtostring + " - " + val.Contrato_Destino.Pedido_Fiscal[0].Ds_movimentacao + "\r\n" +
                                        "Condição Fiscal Clifor: " + val.Reg_Clifor_Destino.Cd_condfiscal_clifor + "\r\n" +
                                        "Condição Fiscal Produto: " + val.Reg_Produto_Destino.CD_CondFiscal_Produto + "\r\n" +
                                        "UF Origem: " + val.Reg_Empresa_Destino.rEndereco.Cd_uf + "\r\n" +
                                        "UF Destino: " + val.Contrato_Destino.CD_UFClifor);
                }

                //Procurar impostos sobre os itens da nota fiscal de destino
                TCN_LanFaturamento_Item.PreencherOutrosImpostos(
                    TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(val.Reg_Clifor_Destino.Cd_condfiscal_clifor,
                                                                          val.Reg_Produto_Destino.CD_CondFiscal_Produto,
                                                                          val.Contrato_Destino.Pedido_Fiscal[0].Cd_movtostring,
                                                                          val.rNfDestino.Tp_movimento,
                                                                          val.Reg_Clifor_Destino.Tp_pessoa,
                                                                          val.Contrato_compra[0].CD_Empresa,
                                                                          val.Contrato_Destino.Pedido_Fiscal[0].Nr_serie,
                                                                          val.Reg_Clifor_Destino.Cd_clifor,
                                                                          val.Reg_Produto_Destino.CD_Unidade,
                                                                          val.Dt_lancto,
                                                                          Reg_Itens_Nota_Destino.Quantidade,
                                                                          Reg_Itens_Nota_Destino.Vl_subtotal,
                                                                          val.rNfDestino.Tp_nota,
                                                                          string.Empty,
                                                                          banco), Reg_Itens_Nota_Destino, val.rNfDestino.Tp_movimento);
                val.rNfDestino.ItensNota.Add(Reg_Itens_Nota_Destino);
                //Gravar Nota Fiscal Destino
                TCN_LanFaturamento.GravarFaturamento(val.rNfDestino, null, banco);
                val.Contrato_compra[0].NR_LanctoFiscal = val.rNfDestino.Nr_lanctofiscal.Value;
                #endregion

                if (st_transacao)
                {
                    banco.Transac.Commit();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    banco.Transac.Rollback();
                }
                throw new Exception("Erro gravar devolução/aquisição: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    if (banco.Conexao.State == System.Data.ConnectionState.Open)
                    {
                        banco.Conexao.Close();
                    }
                    banco = null;
                }
            }
        }