예제 #1
0
 private void afterGrava()
 {
     if (pDadosNota.validarCampoObrigatorio() && pDadosFrete.validarCampoObrigatorio())
     {
         if (nr_notafiscal.Focused)
         {
             if (nr_notafiscal.TextOld.Trim() != nr_notafiscal.Text.Trim())
             {
                 if (CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.existeNumeroNota(nr_notafiscal.Text,
                                                                                              NR_Serie.Text,
                                                                                              rFaturamento.Cd_empresa,
                                                                                              rFaturamento.Cd_clifor,
                                                                                              rFaturamento.Insc_estadualclifor,
                                                                                              rFaturamento.Tp_nota,
                                                                                              null) != null)
                 {
                     MessageBox.Show("Numero Nota Fiscal ja existe no sistema.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     nr_notafiscal.Text = nr_notafiscal.TextOld;
                     nr_notafiscal.Focus();
                     return;
                 }
             }
         }
         //Verificar se e NFe de Terceiro
         if ((bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_modelo.Trim().Equals("55") &&
             (bsNotaFiscal.Current as TRegistro_LanFaturamento).Tp_nota.Trim().ToUpper().Equals("T"))
         {
             if (ChaveAcessoNFE.Text.Trim().Length.Equals(44))
             {
                 if (Estruturas.Mod11(ChaveAcessoNFE.Text.Trim().Substring(0, 43), 9, false, 0).ToString() != ChaveAcessoNFE.Text.Trim().Substring(43, 1))
                 {
                     MessageBox.Show("Chave acesso NFe invalida, verifique e informe novamente.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     ChaveAcessoNFE.Focus();
                     return;
                 }
                 //Validar UF do Emitente
                 if ((bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_uf_clifor.Trim() != ChaveAcessoNFE.Text.Trim().Substring(0, 2))
                 {
                     MessageBox.Show("Estado do Fornecedor <" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_uf_clifor.Trim() + ">" +
                                     "diferente do estado informado na chave de acesso da NFe<" + ChaveAcessoNFE.Text.Trim().Substring(0, 2) + ".\r\n" +
                                     "Necessario corrigir o cadastro do fornecedor para gravar a NFe.", "Mensagem",
                                     MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Validar CNPJ
                 if ((bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_cgc_cpf.Trim().SoNumero() != ChaveAcessoNFE.Text.Trim().Substring(6, 14))
                 {
                     MessageBox.Show("CNPJ/CPF do Fornecedor<" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_cgc_cpf.Trim() + ">" +
                                     "diferente do CNPJ/CPF informado na chave de acesso da NFe<" + ChaveAcessoNFE.Text.Trim().Substring(6, 14) + ".\r\n" +
                                     "Necessario corrigir o cadastro do fornecedor para gravar a NFe.", "Mensagem",
                                     MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Validar Modelo Documento Fiscal
                 if ((bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_modelo.Trim().FormatStringEsquerda(2, '0') != ChaveAcessoNFE.Text.Trim().Substring(20, 2))
                 {
                     MessageBox.Show("Modelo Documento Fiscal<" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_modelo.Trim().FormatStringEsquerda(2, '0') + ">" +
                                     "diferente do modelo informado na chave acesso NFe<" + ChaveAcessoNFE.Text.Trim().Substring(20, 2) + ".\r\n" +
                                     "Necessario corrigir modelo informado para gravar NFe.", "Mensagem",
                                     MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Validar serie NFe
                 if ((bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_serie.Trim().FormatStringEsquerda(3, '0') != ChaveAcessoNFE.Text.Trim().Substring(22, 3))
                 {
                     MessageBox.Show("Numero serie NFe<" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_serie.Trim().FormatStringEsquerda(3, '0') + ">" +
                                     "diferente da serie informada na chave acesso NFe<" + ChaveAcessoNFE.Text.Trim().Substring(22, 3) + ".\r\n" +
                                     "Obrigatorio informar serie correta para gravar NFe.", "Mensagem",
                                     MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Validar numero da NFe
                 if ((bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_notafiscal.ToString().FormatStringEsquerda(9, '0') != ChaveAcessoNFE.Text.Trim().Substring(25, 9))
                 {
                     MessageBox.Show("Numero da NFe<" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_notafiscal.ToString().FormatStringEsquerda(9, '0') + ">" +
                                     "diferente do numero da NFe informado na chave de acesso<" + ChaveAcessoNFE.Text.Trim().Substring(25, 9) + ".\r\n" +
                                     "Obrigatorio informar numero da NFe correto para gravar nota.", "Mensagem",
                                     MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
             }
             else
             {
                 MessageBox.Show("Chave de acesso imcompleta. A chave de acesso deve conter 44 caracteres.<Total Caracteres: " + ChaveAcessoNFE.Text.Trim().Length.ToString() + ">",
                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 ChaveAcessoNFE.Focus();
                 return;
             }
         }
         this.DialogResult = DialogResult.OK;
     }
 }
예제 #2
0
        private void BB_Gravar_Click(object sender, EventArgs e)
        {
            if (pSt_servico && string.IsNullOrEmpty(cd_municipioexecservico.Text))
            {
                MessageBox.Show("Obrigatorio informar municipio execução do serviço.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cd_municipioexecservico.Focus();
                return;
            }
            if (nr_serie.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("Obrigatorio informar serie da nota fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                nr_serie.Focus();
                return;
            }
            if ((!pSt_sequenciaauto) && string.IsNullOrEmpty(nr_nota.Text))
            {
                MessageBox.Show("Obrigatorio informar numera da nota fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                nr_nota.Focus();
                return;
            }
            if (dt_emissao.Enabled && (dt_emissao.Text.Trim().Equals(string.Empty) || dt_emissao.Text.Trim().Equals("/  /")))
            {
                MessageBox.Show("Obrigtorio informar data de emissão da nota fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                dt_emissao.Focus();
                return;
            }
            if (dt_saient.Enabled && (dt_saient.Text.Trim().Equals(string.Empty) || dt_emissao.Text.Trim().Equals("/  /")))
            {
                MessageBox.Show("Obrigatorio informar data de entrada/saida.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                dt_saient.Focus();
                return;
            }
            if (tp_nota.SelectedValue == null)
            {
                MessageBox.Show("Obrigatorio informar tipo nota.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tp_nota.Focus();
                return;
            }
            //Verificar se e NFe de Terceiro
            if (cd_modelo.Text.Trim().Equals("55") && tp_nota.SelectedValue.ToString().Trim().ToUpper().Equals("T"))
            {
                if (ChaveAcessoNFE.Text.Trim().Length.Equals(44))
                {
                    if (Estruturas.Mod11(ChaveAcessoNFE.Text.Trim().Substring(0, 43), 9, false, 0).ToString() != ChaveAcessoNFE.Text.Trim().Substring(43, 1))
                    {
                        MessageBox.Show("Chave acesso NFe invalida, verifique e informe novamente.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ChaveAcessoNFE.Focus();
                        return;
                    }
                    //Validar serie NFe
                    if (nr_serie.Text.Trim().FormatStringEsquerda(3, '0') != ChaveAcessoNFE.Text.Trim().Substring(22, 3))
                    {
                        MessageBox.Show("Numero serie NFe<" + nr_serie.Text.Trim().FormatStringEsquerda(3, '0') + ">" +
                                        "diferente da serie informada na chave acesso NFe<" + ChaveAcessoNFE.Text.Trim().Substring(22, 3) + ".\r\n" +
                                        "Obrigatorio informar serie correta para gravar NFe.", "Mensagem",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    //Validar numero da NFe
                    if (nr_nota.Text.FormatStringEsquerda(9, '0') != ChaveAcessoNFE.Text.Trim().Substring(25, 9))
                    {
                        MessageBox.Show("Numero da NFe<" + nr_nota.Text.FormatStringEsquerda(9, '0') + ">" +
                                        "diferente do numero da NFe informado na chave de acesso<" + ChaveAcessoNFE.Text.Trim().Substring(25, 9) + ".\r\n" +
                                        "Obrigatorio informar numero da NFe correto para gravar nota.", "Mensagem",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Chave de acesso imcompleta. A chave de acesso deve conter 44 caracteres.<Total Caracteres: " + ChaveAcessoNFE.Text.Trim().Length.ToString() + ">",
                                    "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ChaveAcessoNFE.Focus();
                    return;
                }
            }
            pNr_serie         = nr_serie.Text;
            pDs_serie         = ds_serie.Text;
            pCd_modelo        = cd_modelo.Text;
            pNr_notafiscal    = nr_nota.Text;
            pChave_Acesso_NFe = ChaveAcessoNFE.Text;
            pCd_cmi           = cd_cmi.Text;
            try
            {
                pDt_emissao = Convert.ToDateTime(dt_emissao.Text);
            }
            catch
            { pDt_emissao = CamadaDados.UtilData.Data_Servidor(); }
            try
            {
                pDt_saient = Convert.ToDateTime(dt_saient.Text);
            }
            catch
            { pDt_saient = pDt_emissao; }
            pDs_dadosadic         = ds_DadosAdicionais.Text.Trim();
            pDs_obsfiscal         = ds_ObservacaoFiscal.Text.Trim();
            pCd_transportadora    = CD_Transp.Text;
            pCd_endtransportadora = cd_enderecotransp.Text;
            pNm_transportadora    = NM_RazaoSocialTransp.Text;
            pCnpjCpfTransp        = CPF_Transp.Text;
            pPlacaVeiculo         = PlacaVeiculo.Text;
            pTp_frete             = freteporconta.SelectedValue != null?freteporconta.SelectedValue.ToString() : "9";

            pEspecie    = Especie.Text;
            pQuantidade = Quantidade.Value;
            pPsbruto    = PesoBruto.Value;
            pPsliquido  = PesoLiquido.Value;
            pVl_frete   = VL_Frete.Value;
            pCd_municipioexecservico = cd_municipioexecservico.Text;
            pNm_municipioexecservico = ds_municipioexecservico.Text;
            pCd_ufsaidaex            = cd_ufsaidaex.Text;
            pDs_ufsaidaex            = ds_ufsaidaex.Text;
            pUf_saidaex = uf_saidaex.Text;
            pDs_localex = ds_localex.Text;

            DialogResult = DialogResult.OK;
        }