示例#1
0
 private void GerarRemessa(TRegistro_CargaAvulsa rCarga)
 {
     CamadaDados.Diversos.TList_CfgEmpresa lCfgEmpresa =
         CamadaNegocio.Diversos.TCN_CfgEmpresa.Buscar(rCarga.Cd_empresa, null);
     if (lCfgEmpresa.Count.Equals(0))
     {
         MessageBox.Show("Não existe configuração parâmetro Empresa: " + rCarga.Cd_empresa, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = null;
     try
     {
         Proc_Commoditties.TProcessaPedidoCargaAvulsa.GerarPedidoCarga(ref rPed,
                                                                       rCarga,
                                                                       lCfgEmpresa[0]);
         CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Grava_Pedido(rPed, null);
         //Buscar pedido
         rPed = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(rPed.Nr_pedido.ToString(), null);
         //Buscar itens pedido
         CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(rPed, false, null);
         for (int i = 0; i < rCarga.lItens.Count; i++)
         {
             rPed.Pedido_Itens[i].lItensCargaAvulsa.Add(rCarga.lItens[i]);
         }
         //Gerar Nota Fiscal
         TRegistro_LanFaturamento rFat =
             Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(rPed, false, decimal.Zero);
         //Gravar Nota Fiscal
         TCN_LanFaturamento.GravarFaturamento(rFat, null, null);
         using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe())
         {
             fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rFat.Cd_empresa,
                                                                                             rFat.Nr_lanctofiscalstr,
                                                                                             null);
             fGerNfe.ShowDialog();
         }
     }
     catch (Exception ex)
     {
         if (rPed != null)
         {
             CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(rPed, null);
         }
         MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#2
0
        public static string Gravar(TRegistro_CargaAvulsa val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_CargaAvulsa qtb_carga    = new TCD_CargaAvulsa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carga.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carga.Banco_Dados = banco;
                }
                val.Id_cargastr = CamadaDados.TDataQuery.getPubVariavel(qtb_carga.Gravar(val), "@P_ID_CARGA");
                //Buscar Local Arm
                object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                    }
                }, "a.CD_Local");
                if (obj == null)
                {
                    throw new Exception("Não existe Local de armazenagem configurado para Empresa" + val.Cd_empresa.Trim() + "!");
                }
                //Item Carga
                val.lItensDel.ForEach(p =>
                {
                    //Cancelar Estoque
                    new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_produto",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.id_lanctoestoque",
                            vOperador = "=",
                            vVL_Busca = p.Id_lanctoEstoqueS.ToString()
                        }
                    }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados));
                    TCN_ItensCargaAvulsa.Excluir(p, qtb_carga.Banco_Dados);
                });
                val.lItens.FindAll(p => p.Id_lanctoEstoqueS == null).ForEach(p =>
                {
                    //Buscar Vl.Médio
                    decimal vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(val.Cd_empresa,
                                                                                     p.Cd_produto,
                                                                                     qtb_carga.Banco_Dados);
                    //Gravar Estoque
                    string ret_est =
                        Estoque.TCN_LanEstoque.GravarEstoque(
                            new CamadaDados.Estoque.TRegistro_LanEstoque()
                    {
                        Cd_empresa    = val.Cd_empresa,
                        Cd_produto    = p.Cd_produto,
                        Cd_local      = obj.ToString(),
                        Dt_lancto     = CamadaDados.UtilData.Data_Servidor(),
                        Tp_movimento  = "S",
                        Qtd_entrada   = decimal.Zero,
                        Qtd_saida     = p.Quantidade,
                        Vl_unitario   = vl_unit,
                        Vl_subtotal   = vl_unit * p.Quantidade,
                        Tp_lancto     = "N",
                        St_registro   = "A",
                        Ds_observacao = "SAÍDA DE PRODUTOS CARGA Nº " + val.Id_cargastr,
                    }, qtb_carga.Banco_Dados);
                    p.Id_lanctoEstoqueS = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE"));
                    p.Cd_empresa        = val.Cd_empresa;
                    p.Id_carga          = val.Id_carga;
                    TCN_ItensCargaAvulsa.Gravar(p, qtb_carga.Banco_Dados);
                });
                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 gravar Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }
示例#3
0
        public static string Excluir(TRegistro_CargaAvulsa val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_CargaAvulsa qtb_carga    = new TCD_CargaAvulsa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carga.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carga.Banco_Dados = banco;
                }
                val.lItensDel.ForEach(p => TCN_ItensCargaAvulsa.Excluir(p, qtb_carga.Banco_Dados));
                val.lItens.ForEach(p =>
                {
                    //Cancelar Estoque - Saída
                    if (p.Id_lanctoEstoqueS.HasValue)
                    {
                        new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select(
                            new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_empresa",
                                vOperador = "=",
                                vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_produto",
                                vOperador = "=",
                                vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.id_lanctoestoque",
                                vOperador = "=",
                                vVL_Busca = p.Id_lanctoEstoqueS.ToString()
                            }
                        }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados));
                    }

                    //Cancelar Estoque - Devolução
                    if (p.Id_lanctoEstoqueD.HasValue)
                    {
                        new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select(
                            new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_empresa",
                                vOperador = "=",
                                vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.cd_produto",
                                vOperador = "=",
                                vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                            },
                            new TpBusca()
                            {
                                vNM_Campo = "a.id_lanctoestoque",
                                vOperador = "=",
                                vVL_Busca = p.Id_lanctoEstoqueD.ToString()
                            }
                        }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados));
                    }
                    //Excluir Item
                    TCN_ItensCargaAvulsa.Excluir(p, qtb_carga.Banco_Dados);
                });
                qtb_carga.Excluir(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 excluir Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }