private void inserirCpons() { blDlBt(false); FbConnection fbConn = new FbConnection(conectaBD.stringConexao()); FbCommand comm; FbCommand fbComm = new FbCommand(); FbCommand fbComm2 = new FbCommand(); //bloco para deletar os registros das tabelas ECFCUPOM, ECFCUPOM_ITENS e ECFREDUCAOZ try { fbConn.Open(); comm = new FbCommand(); comm.Connection = fbConn; comm.CommandText = "DELETE FROM ECFCUPOM"; comm.ExecuteNonQuery(); comm.Connection = fbConn; comm.CommandText = "DELETE FROM ECFCUPOM_ITENS"; comm.ExecuteNonQuery(); comm.Connection = fbConn; comm.CommandText = "DELETE FROM ECFREDUCAOZ"; comm.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { fbConn.Close(); } int numeroCupons = 0; string qtdCupons = string.Empty; qtdCupons = txtQuantidadeCupons.Text; numeroCupons = int.Parse(qtdCupons); try { fbConn.Open(); transacao = fbConn.BeginTransaction(); fbComm.Transaction = transacao; fbComm.Connection = fbConn; fbComm.CommandText = "INSERT INTO ECFCUPOM (ID, ECF_CX, COD_SIT, NUM_DOC, DT_DOC, VL_DOC, CPFCNPJ, NOM_ADQ) VALUES (@ID, @ECF_CX, @COD_SIT, @NUM_DOC, @DT_DOC, @VL_DOC, @CPFCNPJ, @NOM_ADQ)"; int id = 1; for (int i = 0; i < numeroCupons; ++i) { fbComm.Parameters.Clear(); fbComm.Parameters.AddWithValue("@ID", id); //ID fbComm.Parameters.AddWithValue("@ECF_CX", 3); //ECF_CX Número do caixa atribuído ao ECF fbComm.Parameters.AddWithValue("@COD_SIT", "00"); //COD_SIT Código da situação do documento fiscal fbComm.Parameters.AddWithValue("@NUM_DOC", id); //NUM_DOC Número do documento fiscal fbComm.Parameters.AddWithValue("@DT_DOC", "01.01.2011"); //DT_DOC Data da emissão do documento fiscal(MM/DD/YYYY) fbComm.Parameters.AddWithValue("@VL_DOC", 78.00); //VL_DOC Valor total do documento fiscal fbComm.Parameters.AddWithValue("@CPFCNPJ", "02060533000194"); //CPFCNPJ CPF ou CNPJ do adquirente fbComm.Parameters.AddWithValue("@NOM_ADQ", "A MOVELAR - ALTAMIRA"); //NOM_ADQ Nome do adquirente fbComm.ExecuteNonQuery(); fbComm2.Connection = fbConn; fbComm2.Transaction = transacao; fbComm2.CommandText = "INSERT INTO ECFCUPOM_ITENS (ID, ECFCUPOM_ID, COD_ITEM, DESCRICAO, QTD, QTD_CANC, UNID, VL_ITEM, VL_DESCONTO, CFOP, ALIQ_ICMS, VL_PIS, VL_COFINS, CST_ICMS, COD_TOT_PARC, NCM) VALUES (@ID, @ECFCUPOM_ID, @COD_ITEM, @DESCRICAO, @QTD, @QTD_CANC, @UNID, @VL_ITEM, @VL_DESCONTO, @CFOP, @ALIQ_ICMS, @VL_PIS, @VL_COFINS, @CST_ICMS, @COD_TOT_PARC, @NCM)"; fbComm2.Parameters.Clear(); fbComm2.Parameters.AddWithValue("@ID", id); //ID fbComm2.Parameters.AddWithValue("@ECFCUPOM_ID", id); //ECFCUPOM_ID REFERE-SE AO [ECFCUPOM].[ID], VINCULANDO OS DADOS. fbComm2.Parameters.AddWithValue("@COD_ITEM", 0000000011236); //COD_ITEM Codigo do Item fbComm2.Parameters.AddWithValue("@DESCRICAO", "LIQUID. MALLORY EXPART"); //DESCRICAO Descricao do Item fbComm2.Parameters.AddWithValue("@QTD", 1000); //QTD Quantidade do Item fbComm2.Parameters.AddWithValue("@QTD_CANC", 1000); //QTD_CANC Quantidade cancelado fbComm2.Parameters.AddWithValue("@UNID", "UN"); //UNID Unidade fbComm2.Parameters.AddWithValue("@VL_ITEM", 70.00); //VL_ITEM Valor do item (quantidade * unitario), COM desconto. fbComm2.Parameters.AddWithValue("@VL_DESCONTO", 8.00); //VL_DESCONTO Valor do desconto dado para este item (desconto_unitario * quantidade). fbComm2.Parameters.AddWithValue("@CFOP", 5102); //cfop Código Fiscal de Operações e Prestações. Utilizar Tabela de CFOP. fbComm2.Parameters.AddWithValue("@ALIQ_ICMS", 17.00); //ALIQ_ICMS Percentual de Aliquota fbComm2.Parameters.AddWithValue("@VL_PIS", 0.46); //VL_PIS Valor total do PIS para este registro. fbComm2.Parameters.AddWithValue("@VL_COFINS", 2.10); //VL_COFINS Valor total do COFINS para este registro. fbComm2.Parameters.AddWithValue("@CST_ICMS", "000"); //CST_ICMS CODIGO DE SITUACAO TRIBUTARIA. fbComm2.Parameters.AddWithValue("@COD_TOT_PARC", "01T1700"); //COD_TOT_PARC 4.4.6 - Tabela de Códigos dos Totalizadores Parciais da REDUÇÃO Z fbComm2.Parameters.AddWithValue("@NCM", null); //NCM não tem descrição fbComm2.ExecuteNonQuery(); id++; } fbComm2.Connection = fbConn; fbComm2.Transaction = transacao; fbComm2.CommandText = "INSERT INTO ECFREDUCAOZ (ID, ECF_CX, DT_DOC, CRO, CRZ, NUM_COO_FIN, GT_FIN, COD_MOD, ECF_MOD, ECF_SERIE) VALUES (@ID, @ECF_CX, @DT_DOC, @CRO, @CRZ, @NUM_COO_FIN, @GT_FIN, @COD_MOD, @ECF_MOD, @ECF_SERIE)"; fbComm2.Parameters.Clear(); fbComm2.Parameters.AddWithValue("@ID", 1); //ID fbComm2.Parameters.AddWithValue("@ECF_CX", 3); //Número do caixa atribuído ao ECF fbComm2.Parameters.AddWithValue("@DT_DOC", "01/01/2011"); //Data do movimento a que se refere a Redução Z fbComm2.Parameters.AddWithValue("@CRO", 3); //Posição do Contador de Reinício de Operação fbComm2.Parameters.AddWithValue("@CRZ", numeroCupons); //Posição do Contador de Redução Z fbComm2.Parameters.AddWithValue("@NUM_COO_FIN", numeroCupons); //Número do Contador de Ordem de Operação do último documento emitido no dia. fbComm2.Parameters.AddWithValue("@GT_FIN", (numeroCupons * 78)); //Valor do Grande Total final fbComm2.Parameters.AddWithValue("@COD_MOD", "BE"); //Código do modelo do equipamento fbComm2.Parameters.AddWithValue("@ECF_MOD", "MP-2100 TH FI"); //Modelo do equipamento fbComm2.Parameters.AddWithValue("@ECF_SERIE", "BE050769200007013427"); //Número de série de fabricação do ECF fbComm2.ExecuteNonQuery(); transacao.Commit(); MessageBox.Show("Cupons inseridos com sucesso!"); } catch (Exception ex) { transacao.Rollback(); throw ex; } finally { if (fbConn != null) fbConn.Close(); blDlBt(true); } }