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; } }
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; }