예제 #1
0
 private void cbEmpresa_SelectionChangeCommitted(object sender, EventArgs e)
 {
     if (cbEmpresa.SelectedItem != null)
     {
         object obj = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal().BuscarEscalar(
             new TpBusca[]
         {
             new TpBusca
             {
                 vNM_Campo = "a.cd_empresa",
                 vOperador = "=",
                 vVL_Busca = "'" + (cbEmpresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Cd_empresa.Trim() + "'"
             }
         }, "a.CD_TabelaPreco");
         if (obj != null)
         {
             pCd_tabelapreco = obj.ToString();
         }
     }
 }
예제 #2
0
 private void TabelaPreco()
 {
     if (cbEmpresa.SelectedValue != null)
     {
         //Buscar Tabela Preco
         object obj = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal().BuscarEscalar(
             new TpBusca[]
         {
             new TpBusca()
             {
                 vNM_Campo = "a.cd_empresa",
                 vOperador = "=",
                 vVL_Busca = "'" + cbEmpresa.SelectedValue + "'"
             }
         }, "a.cd_tabelapreco");
         if (obj != null)
         {
             Cd_tabelapreco = obj.ToString();
         }
     }
 }
예제 #3
0
 private void TFItensOrdem_Load(object sender, EventArgs e)
 {
     this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
     pDados.set_FormatZero();
     if (ritem != null)
     {
         bsItens.DataSource = new CamadaDados.PostoCombustivel.TList_ItensOrdemServico()
         {
             ritem
         };
         cd_produto.Enabled = false;
         bb_produto.Enabled = false;
     }
     else
     {
         bsItens.AddNew();
         //Buscar local armazenagem
         if (!string.IsNullOrEmpty(Cd_empresa))
         {
             object obj = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal().BuscarEscalar(
                 new Utils.TpBusca[]
             {
                 new Utils.TpBusca()
                 {
                     vNM_Campo = "a.cd_empresa",
                     vOperador = "=",
                     vVL_Busca = "'" + Cd_empresa.Trim() + "'"
                 }
             }, "a.cd_local");
             if (obj != null)
             {
                 cd_local.Text = obj.ToString();
                 cd_local_Leave(this, new EventArgs());
             }
         }
     }
 }
예제 #4
0
        private void ImprimirReduzido(TRegistro_PreVenda val, string porta, string Tp_impressora)
        {
            //Buscar dados da empresa
            CamadaDados.Diversos.TList_CadEmpresa lEmpresa =
                CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(val.Cd_empresa,
                                                            string.Empty,
                                                            string.Empty,
                                                            null);
            if (lEmpresa.Count < 1)
            {
                throw new Exception("Não foi possivel localizar empresa " + val.Cd_empresa);
            }
            if (!string.IsNullOrEmpty(Tp_impressora))
            {
                PDV.TGerenciarImpNaoFiscal.IniciarPorta(porta);
                try
                {
                    StringBuilder imp = new StringBuilder();
                    imp.AppendLine("  PRÉ-VENDA  N: " + val.Id_prevendastr + "  " + val.Dt_emissaostr);
                    imp.AppendLine(" =========================================");
                    imp.AppendLine("               DADOS EMPRESA              ");
                    imp.AppendLine(" =========================================");
                    imp.AppendLine("  " + lEmpresa[0].Nm_empresa.Trim().ToUpper());
                    imp.AppendLine("  " + lEmpresa[0].Ds_endereco.Trim().ToUpper() + "," + lEmpresa[0].rEndereco.Numero);
                    imp.AppendLine("  " + lEmpresa[0].rEndereco.Bairro.Trim().ToUpper());
                    imp.AppendLine(" -----------------------------------------");
                    imp.AppendLine("               DADOS CLIENTE              ");
                    imp.AppendLine(" -----------------------------------------");
                    imp.AppendLine("  " + val.Cd_clifor.Trim() + "-" + val.Nm_clifor.Trim().ToUpper());
                    //Buscar clifor config
                    object obj_clifor = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal().BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                        }
                    }, "a.cd_clifor");
                    if ((obj_clifor == null ? false : obj_clifor.ToString() != val.Cd_clifor) && (!string.IsNullOrEmpty(val.Cd_clifor)))
                    {
                        //Buscar dados cliente
                        CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor rCliente =
                            CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo(val.Cd_clifor, null);
                        if (!string.IsNullOrEmpty(rCliente.Nm_fantasia))
                        {
                            imp.Append("  " + rCliente.Nm_fantasia.Trim().ToUpper());
                        }
                        if (rCfg.St_impcpfcnpjbool)
                        {
                            if ((!string.IsNullOrEmpty(rCliente.Nr_cgc.SoNumero())) ||
                                (!string.IsNullOrEmpty(rCliente.Nr_cpf.SoNumero())))
                            {
                                imp.AppendLine("  CNPJ/CPF: " + (!string.IsNullOrEmpty(rCliente.Nr_cgc.SoNumero()) ? rCliente.Nr_cgc : rCliente.Nr_cpf));
                            }
                        }
                    }
                    imp.Append("  " + val.Ds_endereco.Trim().ToUpper());
                    if ((obj_clifor == null ? false : obj_clifor.ToString() != val.Cd_clifor) && (!string.IsNullOrEmpty(val.Cd_clifor)))
                    {
                        //Buscar Endereco do cliente
                        CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEndereco =
                            new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().Select(
                                new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_clifor",
                                vOperador = "=",
                                vVL_Busca = "'" + val.Cd_clifor.Trim() + "'"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_endereco",
                                vOperador = "=",
                                vVL_Busca = "'" + val.Cd_endereco.Trim() + "'"
                            }
                        }, 0, string.Empty);
                        if (lEndereco.Count > 0)
                        {
                            if (!string.IsNullOrEmpty(lEndereco[0].Numero))
                            {
                                imp.AppendLine(", " + lEndereco[0].Numero.Trim().ToUpper());
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Bairro))
                            {
                                imp.AppendLine("  " + lEndereco[0].Bairro.Trim().ToUpper());
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].DS_Cidade))
                            {
                                imp.AppendLine("  " + lEndereco[0].DS_Cidade.Trim().ToUpper() + " - " + lEndereco[0].UF);
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Fone.SoNumero()))
                            {
                                imp.AppendLine("  " + lEndereco[0].Fone.Trim().ToUpper() +
                                               (!string.IsNullOrEmpty(lEndereco[0].Celular.SoNumero()) ? "/" + lEndereco[0].Celular.Trim().ToUpper() : string.Empty));
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Cep.SoNumero()))
                            {
                                imp.AppendLine("  CEP: " + lEndereco[0].Cep);
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Proximo))
                            {
                                imp.AppendLine("  " + lEndereco[0].Proximo.Trim().ToUpper());
                            }
                        }
                    }
                    else
                    {
                        imp.AppendLine();
                        imp.AppendLine();
                    }
                    if (!string.IsNullOrEmpty(val.Nm_vendedor))
                    {
                        imp.AppendLine(("  VENDEDOR: " + val.Nm_vendedor.Trim()).FormatStringDireita(42, ' '));
                    }
                    imp.AppendLine(" -----------------------------------------");
                    imp.AppendLine("  PRODUTO  QTD      VAL.UNIT  SUBTOTAL");
                    imp.AppendLine(" -----------------------------------------");

                    val.lItens.ForEach(p =>
                    {
                        imp.AppendLine("  " + (p.Cd_produto.Trim() + "-" + p.Ds_produto.Trim().ToUpper()));
                        imp.Append(p.Quantidade.ToString("N3", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(13, ' ') + "x");
                        imp.Append(p.Vl_unitario.ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(14, ' '));
                        imp.Append(p.Vl_subtotal.ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(10, ' '));
                        imp.AppendLine();
                        if (p.Vl_desconto > decimal.Zero)
                        {
                            imp.AppendLine(" DESCONTO: " + p.Vl_desconto.ToString("N2", new System.Globalization.CultureInfo("en-US", true)));
                        }
                        if (p.Vl_acrescimo > decimal.Zero)
                        {
                            imp.AppendLine(" ACRESCIMO: " + p.Vl_acrescimo.ToString("N2", new System.Globalization.CultureInfo("en-US", true)));
                        }
                        if (p.Vl_juro_fin > decimal.Zero)
                        {
                            imp.AppendLine(" JURO FIN.: " + p.Vl_juro_fin.ToString("N2", new System.Globalization.CultureInfo("en-US", true)));
                        }
                    });

                    imp.Append(" -----------------------------------------------");
                    imp.Append("  ACRESCIMOS JUROS FIN.  FRETE DESCONTO  LIQUIDO");
                    imp.Append(val.lItens.Sum(p => p.Vl_acrescimo).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(12, ' '));
                    imp.Append(val.lItens.Sum(p => p.Vl_juro_fin).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(11, ' '));
                    imp.Append(val.lItens.Sum(p => p.Vl_frete).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(7, ' '));
                    imp.Append(val.lItens.Sum(p => p.Vl_desconto).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(9, ' '));
                    imp.AppendLine(val.lItens.Sum(p => p.Vl_liquido).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(9, ' '));
                    imp.AppendLine(" -------------------------------------------");
                    if (!string.IsNullOrEmpty(val.Cd_portador))
                    {
                        imp.AppendLine("  FORMA PGTO : " + val.Cd_portador.Trim() + "-" + val.Ds_portador.Trim());
                    }
                    //Buscar Parcelas
                    TList_PreVenda_DT_Vencto lParc =
                        CamadaNegocio.Faturamento.PDV.TCN_PreVenda_DT_Vencto.Buscar(val.Id_prevendastr,
                                                                                    val.Cd_empresa,
                                                                                    null);
                    if (lParc.Count > 0)
                    {
                        imp.AppendLine("  COND.PGTO  : " + val.Cd_condPgto.Trim() + "-" + val.Ds_condPgto.Trim());
                        imp.AppendLine("  VENCIMENTO          VALOR ");
                        lParc.OrderBy(p => p.Dt_vencto).ToList().ForEach(p =>
                                                                         imp.AppendLine("  " + p.Dt_vencto.ToString("dd/MM/yyyy").FormatStringDireita(20, ' ') + p.Vl_parcela.ToString("C2", new System.Globalization.CultureInfo("pt-BR"))));
                        imp.AppendLine();
                        imp.AppendLine();
                    }
                    imp.AppendLine();
                    imp.AppendLine();
                    imp.AppendLine(" -----------------------------------------");
                    imp.AppendLine("                Cliente               ");
                    imp.AppendLine();
                    imp.AppendLine();
                    //Imprimir observacao cupom
                    if (!string.IsNullOrEmpty(val.Ds_observacao))
                    {
                        string obs = val.Ds_observacao.Trim();
                        imp.AppendLine(" -----------------------------------------");
                        imp.AppendLine("              OBSERVAÇÕES                 ");
                        imp.AppendLine(" -----------------------------------------");
                        while (true)
                        {
                            if (obs.Length <= 40)
                            {
                                imp.AppendLine("  " + obs);
                                break;
                            }
                            else
                            {
                                imp.AppendLine("  " + obs.Substring(0, 40));
                                obs = obs.Remove(0, 40);
                            }
                        }
                    }
                    imp.AppendLine(" -----------------------------------------");
                    imp.AppendLine("      Este recibo nao tem valor Fiscal    ");
                    imp.AppendLine();
                    imp.AppendLine();
                    imp.AppendLine();
                    imp.AppendLine();
                    imp.AppendLine();

                    PDV.TGerenciarImpNaoFiscal.Texto(imp.ToString());
                    PDV.TGerenciarImpNaoFiscal.Guilhotina();
                }
                catch (Exception ex)
                { MessageBox.Show("Erro: " + ex.Message.Trim()); }
                finally
                { PDV.TGerenciarImpNaoFiscal.FecharPorta(); }
            }
            else
            {
                System.IO.FileInfo     f = null;
                System.IO.StreamWriter w = null;
                f = new System.IO.FileInfo(System.IO.Path.GetTempPath() + System.IO.Path.DirectorySeparatorChar + "Orcamento.txt");
                w = f.CreateText();
                try
                {
                    w.WriteLine("  PRÉ-VENDA  N: " + val.Id_prevendastr + "  " + val.Dt_emissaostr);
                    w.WriteLine(" =========================================");
                    w.WriteLine("               DADOS EMPRESA              ");
                    w.WriteLine(" =========================================");
                    w.WriteLine("  " + lEmpresa[0].Nm_empresa.Trim().ToUpper());
                    w.WriteLine("  " + lEmpresa[0].Ds_endereco.Trim().ToUpper() + "," + lEmpresa[0].rEndereco.Numero);
                    w.WriteLine("  " + lEmpresa[0].rEndereco.Bairro.Trim().ToUpper());
                    w.WriteLine(" -----------------------------------------");
                    w.WriteLine("               DADOS CLIENTE              ");
                    w.WriteLine(" -----------------------------------------");
                    w.WriteLine("  " + val.Cd_clifor.Trim() + "-" + val.Nm_clifor.Trim().ToUpper());
                    object obj_clifor = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal().BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                        }
                    }, "a.cd_clifor");
                    if ((obj_clifor == null ? false : obj_clifor.ToString() != val.Cd_clifor) && (!string.IsNullOrEmpty(val.Cd_clifor)))
                    {
                        //Buscar dados cliente
                        CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor rCliente =
                            CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo(val.Cd_clifor, null);
                        if (!string.IsNullOrEmpty(rCliente.Nm_fantasia))
                        {
                            w.WriteLine("  " + rCliente.Nm_fantasia.Trim().ToUpper());
                        }
                        if (rCfg.St_impcpfcnpjbool)
                        {
                            if ((!string.IsNullOrEmpty(rCliente.Nr_cgc.SoNumero())) ||
                                (!string.IsNullOrEmpty(rCliente.Nr_cpf.SoNumero())))
                            {
                                w.WriteLine("  CNPJ/CPF: " + (!string.IsNullOrEmpty(rCliente.Nr_cgc.SoNumero()) ? rCliente.Nr_cgc : rCliente.Nr_cpf));
                            }
                        }
                    }
                    w.Write("  " + val.Ds_endereco.Trim().ToUpper());
                    if ((obj_clifor == null ? false : obj_clifor.ToString() != val.Cd_clifor) && (!string.IsNullOrEmpty(val.Cd_clifor)))
                    {
                        //Buscar Endereco do cliente
                        CamadaDados.Financeiro.Cadastros.TList_CadEndereco lEndereco =
                            new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().Select(
                                new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_clifor",
                                vOperador = "=",
                                vVL_Busca = "'" + val.Cd_clifor.Trim() + "'"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_endereco",
                                vOperador = "=",
                                vVL_Busca = "'" + val.Cd_endereco.Trim() + "'"
                            }
                        }, 0, string.Empty);
                        if (lEndereco.Count > 0)
                        {
                            if (!string.IsNullOrEmpty(lEndereco[0].Numero))
                            {
                                w.WriteLine(", " + lEndereco[0].Numero.Trim().ToUpper());
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Bairro))
                            {
                                w.WriteLine("  " + lEndereco[0].Bairro.Trim().ToUpper());
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].DS_Cidade))
                            {
                                w.WriteLine("  " + lEndereco[0].DS_Cidade.Trim().ToUpper() + " - " + lEndereco[0].UF);
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Fone.SoNumero()))
                            {
                                w.WriteLine("  " + lEndereco[0].Fone.Trim().ToUpper() +
                                            (!string.IsNullOrEmpty(lEndereco[0].Celular.SoNumero()) ? "/" + lEndereco[0].Celular.Trim().ToUpper() : string.Empty));
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Cep.SoNumero()))
                            {
                                w.WriteLine("  CEP: " + lEndereco[0].Cep);
                            }
                            if (!string.IsNullOrEmpty(lEndereco[0].Proximo))
                            {
                                w.WriteLine("  " + lEndereco[0].Proximo.Trim().ToUpper());
                            }
                        }
                    }
                    else
                    {
                        w.WriteLine();
                        w.WriteLine();
                    }
                    if (!string.IsNullOrEmpty(val.Nm_vendedor))
                    {
                        w.WriteLine(("  VENDEDOR: " + val.Nm_vendedor.Trim()).FormatStringDireita(42, ' '));
                    }
                    w.WriteLine(" -----------------------------------------");
                    w.WriteLine("  PRODUTO  QTD      VAL.UNIT  SUBTOTAL");
                    w.WriteLine(" -----------------------------------------");

                    val.lItens.ForEach(p =>
                    {
                        w.WriteLine("  " + (p.Cd_produto.Trim() + "-" + p.Ds_produto.Trim().ToUpper()));
                        w.Write(p.Quantidade.ToString("N3", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(13, ' ') + "x");
                        w.Write(p.Vl_unitario.ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(14, ' '));
                        w.Write(p.Vl_subtotal.ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(10, ' '));
                        w.WriteLine();
                        if (p.Vl_desconto > decimal.Zero)
                        {
                            w.WriteLine(" DESCONTO: " + p.Vl_desconto.ToString("N2", new System.Globalization.CultureInfo("en-US", true)));
                        }
                        if (p.Vl_acrescimo > decimal.Zero)
                        {
                            w.WriteLine(" ACRESCIMO: " + p.Vl_acrescimo.ToString("N2", new System.Globalization.CultureInfo("en-US", true)));
                        }
                        if (p.Vl_juro_fin > decimal.Zero)
                        {
                            w.WriteLine(" JURO FIN.: " + p.Vl_juro_fin.ToString("N2", new System.Globalization.CultureInfo("en-US", true)));
                        }
                    });

                    w.WriteLine(" -----------------------------------------");
                    w.WriteLine("  ACRESCIMOS JUROS FIN. DESCONTO  LIQUIDO ");
                    w.Write(val.lItens.Sum(p => p.Vl_acrescimo).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(12, ' '));
                    w.Write(val.lItens.Sum(p => p.Vl_juro_fin).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(11, ' '));
                    w.Write(val.lItens.Sum(p => p.Vl_desconto).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(9, ' '));
                    w.WriteLine(val.lItens.Sum(p => p.Vl_liquido).ToString("N2", new System.Globalization.CultureInfo("en-US", true)).FormatStringEsquerda(9, ' '));
                    w.WriteLine(" -----------------------------------------");
                    if (!string.IsNullOrEmpty(val.Cd_portador))
                    {
                        w.WriteLine("  FORMA PGTO : " + val.Cd_portador.Trim() + "-" + val.Ds_portador.Trim());
                    }
                    //Buscar Parcelas
                    TList_PreVenda_DT_Vencto lParc =
                        CamadaNegocio.Faturamento.PDV.TCN_PreVenda_DT_Vencto.Buscar(val.Id_prevendastr,
                                                                                    val.Cd_empresa,
                                                                                    null);
                    if (lParc.Count > 0)
                    {
                        w.WriteLine("  COND.PGTO  : " + val.Cd_condPgto.Trim() + "-" + val.Ds_condPgto.Trim());
                        w.WriteLine("  VENCIMENTO          VALOR ");
                        lParc.OrderBy(p => p.Dt_vencto).ToList().ForEach(p =>
                                                                         w.WriteLine("  " + p.Dt_vencto.ToString("dd/MM/yyyy").FormatStringDireita(20, ' ') + p.Vl_parcela.ToString("C2", new System.Globalization.CultureInfo("pt-BR"))));
                        w.WriteLine();
                        w.WriteLine();
                    }
                    w.WriteLine();
                    w.WriteLine();
                    w.WriteLine(" -----------------------------------------");
                    w.WriteLine("                Cliente               ");
                    w.WriteLine();
                    w.WriteLine();
                    //Imprimir observacao cupom
                    if (!string.IsNullOrEmpty(val.Ds_observacao))
                    {
                        string obs = val.Ds_observacao.Trim();
                        w.WriteLine("Observacoes".FormatStringDireita(42, '-'));
                        while (true)
                        {
                            if (obs.Length <= 40)
                            {
                                w.WriteLine("  " + obs);
                                break;
                            }
                            else
                            {
                                w.WriteLine("  " + obs.Substring(0, 40));
                                obs = obs.Remove(0, 40);
                            }
                        }
                    }
                    w.WriteLine(" -----------------------------------------");
                    w.WriteLine("      Este recibo nao tem valor Fiscal    ");

                    w.Write(Convert.ToChar(27));
                    w.Write(Convert.ToChar(109));
                    w.Flush();

                    decimal copias = CamadaNegocio.ConfigGer.TCN_CadParamGer.VlNumericoEmpresa("QTD_VIA_REC_ECF", val.Cd_empresa, null);
                    if (copias.Equals(decimal.Zero))
                    {
                        copias = 1;
                    }
                    for (int i = 0; i < copias; i++)
                    {
                        f.CopyTo(porta);
                    }
                }

                catch (Exception ex)
                { throw new Exception("Erro na impressao: " + ex.Message.Trim()); }
                finally
                {
                    w.Dispose();
                    f = null;
                }
            }
        }
예제 #5
0
        public static string BaixarAcessorios(TRegistro_AcessoriosItem val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_AcessoriosItem qtb_locacao = new TCD_AcessoriosItem();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_locacao.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_locacao.Banco_Dados = banco;
                }
                if (val.Qtd_saldo > decimal.Zero)
                {
                    //Buscar Local Arm
                    object obj = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal(qtb_locacao.Banco_Dados).BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                        }
                    }, "a.CD_Local");
                    //Buscar Vl.Médio
                    decimal vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(val.Cd_empresa,
                                                                                     val.Cd_produto,
                                                                                     qtb_locacao.Banco_Dados);
                    //Gravar Estoque
                    string ret_est =
                        Estoque.TCN_LanEstoque.GravarEstoque(
                            new CamadaDados.Estoque.TRegistro_LanEstoque()
                    {
                        Cd_empresa    = val.Cd_empresa,
                        Cd_produto    = val.Cd_produto,
                        Cd_local      = obj.ToString(),
                        Dt_lancto     = CamadaDados.UtilData.Data_Servidor(),
                        Tp_movimento  = "E",
                        Qtd_entrada   = val.Qtd_saldo,
                        Qtd_saida     = decimal.Zero,
                        Vl_unitario   = vl_unit,
                        Vl_subtotal   = vl_unit * val.Qtd_saldo,
                        Tp_lancto     = "N",
                        St_registro   = "A",
                        Ds_observacao = "DEVOLUÇÃO DE ACESSORIOS LOCAÇÃO Nº " + val.Id_locacaostr,
                    }, qtb_locacao.Banco_Dados);
                    val.Id_lanctoestoque_estr = CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE");
                }
                //Gravar Acessorios
                Gravar(val, qtb_locacao.Banco_Dados);
                val.Id_acessoriostr = CamadaDados.TDataQuery.getPubVariavel(qtb_locacao.Gravar(val), "@P_ID_ACESSORIO");
                if (st_transacao)
                {
                    qtb_locacao.Banco_Dados.Commit_Tran();
                }
                return(val.Id_acessoriostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_locacao.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar acessorio: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_locacao.deletarBanco_Dados();
                }
            }
        }
예제 #6
0
        public static string ProcessarEntrega(TRegistro_CargaEntrega val, BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_CargaEntrega qtb_carga    = new TCD_CargaEntrega();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carga.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carga.Banco_Dados = banco;
                }


                //Processar estoque dos itens Entrega
                val.lItens.ForEach(p =>
                {
                    //Verificar se empresa movimenta estoque e qtd entregar maior zero
                    if (p.Qtd_entregue > decimal.Zero)
                    {
                        bool st_movestoque = true;
                        //Buscar item romaneio
                        TRegistro_ItensRomaneio rRomaneio =
                            TCN_ItensRomaneio.Buscar(p.Cd_empresa,
                                                     p.Id_romaneiostr,
                                                     p.Id_itemromaneiostr,
                                                     string.Empty,
                                                     string.Empty,
                                                     string.Empty,
                                                     string.Empty,
                                                     string.Empty,
                                                     qtb_carga.Banco_Dados)[0];

                        if (rRomaneio.Id_prevenda.HasValue)
                        {
                            st_movestoque = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal(qtb_carga.Banco_Dados).BuscarEscalar(
                                new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_empresa",
                                    vOperador = "=",
                                    vVL_Busca = "'" + rRomaneio.Cd_empresa.Trim() + "'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "isnull(a.st_movestoque, 'N')",
                                    vOperador = "=",
                                    vVL_Busca = "'S'"
                                }
                            }, "1") != null;
                        }
                        else if (rRomaneio.Nr_pedido.HasValue)
                        {
                            st_movestoque = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal(qtb_carga.Banco_Dados).BuscarEscalar(
                                new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "isnull(d.st_geraEstoque, 'N')",
                                    vOperador = "=",
                                    vVL_Busca = "'S'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.tp_fiscal",
                                    vOperador = "=",
                                    vVL_Busca = "'NO'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from tb_fat_pedido x " +
                                                "where x.cfg_pedido = a.cfg_pedido " +
                                                "and x.nr_pedido = " + rRomaneio.Nr_pedido.Value.ToString() + ")"
                                }
                            }, "1") != null;
                        }
                        if (st_movestoque)
                        {
                            //Buscar VL.Médio
                            decimal vl_medio = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados);
                            //Criar objeto estoque
                            CamadaDados.Estoque.TRegistro_LanEstoque rEstoque = new CamadaDados.Estoque.TRegistro_LanEstoque();
                            rEstoque.Cd_empresa   = p.Cd_empresa;
                            rEstoque.Cd_produto   = p.Cd_produto;
                            rEstoque.Cd_local     = rRomaneio.Cd_local;
                            rEstoque.Dt_lancto    = CamadaDados.UtilData.Data_Servidor();
                            rEstoque.Tp_movimento = "S";
                            rEstoque.Qtd_entrada  = decimal.Zero;
                            rEstoque.Qtd_saida    = p.Qtd_entregue;
                            rEstoque.Vl_unitario  = vl_medio;
                            rEstoque.Vl_subtotal  = p.Qtd_entregue * vl_medio;
                            rEstoque.Tp_lancto    = "N";
                            rEstoque.St_registro  = "A";
                            //Gravar Estoque
                            CamadaNegocio.Estoque.TCN_LanEstoque.GravarEstoque(rEstoque, qtb_carga.Banco_Dados);
                            p.Id_lanctoEstoque = rEstoque.Id_lanctoestoque;
                        }
                    }
                    TCN_ItensCarga.Gravar(p, qtb_carga.Banco_Dados);
                });
                val.St_registro = "E";
                qtb_carga.Gravar(val);
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.Commit_Tran();
                }
                return(val.Id_cargastr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro Entregar Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }