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