private void BuscarDetalhes() { if ((!string.IsNullOrEmpty(cd_empresa.Text)) && (!string.IsNullOrEmpty(id_tanque.Text)) && (dt_medicao.Text.Trim() != "/ /") && (tp_medicao.SelectedValue != null)) { //Buscar Ultima afericao tanque object obj = new CamadaDados.PostoCombustivel.TCD_MedicaoTanque().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + cd_empresa.Text.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_tanque", vOperador = "=", vVL_Busca = id_tanque.Text } }, "a.qtd_combustivel", string.Empty, "a.dt_medicao desc", null); if (obj != null) { ultima_afericao.Value = decimal.Parse(obj.ToString()); } //Buscar volume vendido obj = new CamadaDados.PostoCombustivel.TCD_VendaCombustivel().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + cd_empresa.Text.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "c.id_tanque", vOperador = "=", vVL_Busca = id_tanque.Text }, new Utils.TpBusca() { vNM_Campo = "ISNULL(a.ST_Afericao, 'N')", vOperador = "<>", vVL_Busca = "'S'" }, new Utils.TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_abastecimento)))", vOperador = "=", vVL_Busca = "'" + (tp_medicao.SelectedValue.ToString().Equals("A") ? dt_medicao.Data.AddDays(-1).ToString("yyyyMMdd") : dt_medicao.Data.ToString("yyyyMMdd")) + "'" } }, "isnull(sum(isnull(a.volumeabastecido, 0)), 0)"); if (obj != null) { vendas_dia.Value = decimal.Parse(obj.ToString()); } //Buscar compras dia obj = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento_Item().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + cd_empresa.Text.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "nf.tp_movimento", vOperador = "=", vVL_Busca = "'E'" }, new Utils.TpBusca() { vNM_Campo = "isnull(nfcmi.st_mestra, 'N')", vOperador = "<>", vVL_Busca = "'S'" }, new Utils.TpBusca() { vNM_Campo = "isnull(nf.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new Utils.TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), nf.dt_saient)))", vOperador = "=", vVL_Busca = "'" + (tp_medicao.SelectedValue.ToString().Equals("A") ? dt_medicao.Data.AddDays(-1).ToString("yyyyMMdd") : dt_medicao.Data.ToString("yyyyMMdd")) + "'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdc_tanque x " + "where x.cd_empresa = a.cd_empresa " + "and x.cd_local = a.cd_local " + "and x.id_tanque = " + id_tanque.Text + ")" } }, "isnull(sum(isnull(a.Quantidade, 0)), 0)"); if (obj != null) { compras_dia.Value = decimal.Parse(obj.ToString()); } } }
private void ProcessarLote() { if (vModo.Equals(Utils.TTpModo.tm_Standby)) { if (bsLote.Current != null) { if ((bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).St_registro.Trim().ToUpper().Equals("A")) { if ((bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lOs.Count.Equals(0)) { MessageBox.Show("Não é permitido processar lote sem ordem de serviço.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } using (TFLanProcessarLote fProcessar = new TFLanProcessarLote()) { fProcessar.Id_lote = (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).Id_lotestr; fProcessar.Ds_lote = (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).Ds_lote; if (fProcessar.ShowDialog() == DialogResult.OK) { (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).Dt_enviolote = fProcessar.Dt_enviolote; (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).St_gerarpedidoremessa = fProcessar.St_gerarpedido; if (fProcessar.St_gerarpedido) { //Montar itens do pedido remessa (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lOs.ForEach(p => { if ((bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lItensPedido.Exists(v => v.Cd_produto.Trim().Equals(p.CD_ProdutoOS.Trim()))) { CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item rPed = (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lItensPedido.Find(v => v.Cd_produto.Trim().Equals(p.CD_ProdutoOS.Trim())); rPed.Quantidade++; rPed.Vl_subtotal = rPed.Quantidade * rPed.Vl_unitario; } else { decimal vl_unitario = decimal.Zero; //Buscar valor medio do estoque CamadaNegocio.Estoque.TCN_LanEstoque.VlMedioEstoque(p.Cd_empresa, p.CD_ProdutoOS, ref vl_unitario, null); //Buscar valor da ultima compra if (vl_unitario.Equals(decimal.Zero)) { CamadaDados.Faturamento.NotaFiscal.TListUltimasCompras lUltimaCompra = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento_Item().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.tp_movimento", vOperador = "=", vVL_Busca = "'E'" }, new TpBusca() { vNM_Campo = "b.cd_produto", vOperador = "=", vVL_Busca = "'" + p.CD_ProdutoOS.Trim() + "'" }, new TpBusca() { vNM_Campo = "ISNULL(e.ST_Complementar, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new TpBusca() { vNM_Campo = "ISNULL(e.ST_Devolucao, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new TpBusca() { vNM_Campo = "ISNULL(e.ST_GeraEstoque, 'N')", vOperador = "=", vVL_Busca = "'S'" }, new TpBusca() { vNM_Campo = "ISNULL(a.ST_Registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, }, 1); if (lUltimaCompra.Count > 0) { vl_unitario = lUltimaCompra[0].Vl_unitario; } } (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lItensPedido.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item() { Cd_Empresa = p.Cd_empresa, Cd_local = string.Empty, Cd_produto = p.CD_ProdutoOS, Ds_produto = p.DS_ProdutoOS, Cd_unidade_est = p.Cd_unidOS, Cd_unidade_valor = p.Cd_unidOS, Quantidade = 1, Vl_unitario = vl_unitario, Vl_subtotal = vl_unitario }); } }); if ((bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lItensPedido.Exists(p => p.Vl_unitario.Equals(decimal.Zero))) { using (TFLanItensNota fItens = new TFLanItensNota()) { fItens.lItens = (bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS).lItensPedido; if (fItens.ShowDialog() != DialogResult.OK) { MessageBox.Show("Não é permitido processar lote com item do pedido com valor zero.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } } } try { CamadaNegocio.Servicos.TCN_LoteOS.ProcessarLoteOS(bsLote.Current as CamadaDados.Servicos.TRegistro_LoteOS, null); MessageBox.Show("Lote processado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); this.afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim()); } } } } else { MessageBox.Show("Lote ja se encontra processado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }
private void afterInserirEvolucao() { if (bsOrdemServico.Current != null) { CamadaDados.Servicos.TRegistro_LanServicoEvolucao regEvolucao = null; if ((bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).lEvolucao.Count > 0) { regEvolucao = (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).lEvolucao.OrderByDescending(p => p.Dt_inicio).Take(1).ToList()[0]; } bool st_loteprocessado = false; if (regEvolucao != null) { if (regEvolucao.St_envterceiro) { object obj = new CamadaDados.Servicos.TCD_Lote_X_Servicos().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "c.id_os", vOperador = "=", vVL_Busca = (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Id_os.ToString() } }, "b.st_registro"); if (obj != null) { if (obj.ToString().Trim().ToUpper().Equals("A")) { if (!(MessageBox.Show("Ordem serviço esta amarrada a um lote que ainda não foi enviado.\r\n" + "O lançamento de uma nova evolução ira desamarrar a ordem de serviço do lote.\r\r\r\n" + "Deseja continuar?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)) { return; } } else { st_loteprocessado = true; } } else if (!(MessageBox.Show("Ordem de serviço não foi enviada para fornecedor.\r\n" + "Deseja continuar?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)) { return; } //Verificar se o lote esta processado if (st_loteprocessado) { //Verificar se existe alguma nota de retorno para a os obj = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento_Item().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_ose_lote x " + "inner join tb_ose_lote_x_servico y " + "on x.cd_empresa = y.cd_empresa " + "and x.id_lote = y.id_lote " + "inner join tb_ose_servico z " + "on y.cd_empresa = z.cd_empresa " + "and y.id_os = z.id_os " + "where x.nr_pedido = a.nr_pedido " + "and z.cd_produtoos = a.cd_produto " + "and nf.tp_movimento = 'E' " + "and isnull(nf.st_registro, 'A') <> 'C')" } }, "nf.nr_notafiscal"); if (obj == null) { if (!(MessageBox.Show("Não existe nota de devolução do produto desta ordem de serviço.\r\n" + "Deseja alterar etapa evolução mesmo assim?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)) { return; } } else { MessageBox.Show("Nota Fiscal de retorno Nº " + obj.ToString().Trim() + ".", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } using (TFLan_Evolucao_Ordem_Servico fEvolucao = new TFLan_Evolucao_Ordem_Servico()) { fEvolucao.TP_Ordem = (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Tp_ordemstr; if (regEvolucao != null) { fEvolucao.Etapa_atual = regEvolucao.Id_etapastr; } if (fEvolucao.ShowDialog() == DialogResult.OK) { (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).lEvolucao.ForEach(p => { p.St_evolucao = "E"; p.Dt_final = CamadaDados.UtilData.Data_Servidor(); p.Cd_tecnico = string.IsNullOrEmpty(p.Cd_tecnico) ? fEvolucao.rEvolucao.Cd_tecnico : p.Cd_tecnico; }); CamadaDados.Servicos.Cadastros.TList_EtapaOrdem lEtapa = CamadaNegocio.Servicos.Cadastros.TCN_EtapaOrdem.Buscar(fEvolucao.rEvolucao.Id_etapa.Value.ToString(), string.Empty, null); if (lEtapa.Count > 0) { fEvolucao.rEvolucao.St_iniciarOS = lEtapa[0].St_iniciarOSbool; fEvolucao.rEvolucao.St_finalizarOS = lEtapa[0].St_finalizarOSbool; fEvolucao.rEvolucao.St_envterceiro = lEtapa[0].St_envterceirobool; if (fEvolucao.rEvolucao.St_finalizarOS) { fEvolucao.rEvolucao.St_evolucao = "E"; fEvolucao.rEvolucao.Dt_final = CamadaDados.UtilData.Data_Servidor(); } } //Verificar se a etapa que esta sendo inserida nao e de Envio para terceiro if (fEvolucao.rEvolucao.St_envterceiro) { if (MessageBox.Show("Evolução exige envio da ordem serviço para fornecedor.\r\n" + "Deseja amarrar ordem a um lote ja existente?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { using (TFLanLoteAberto fLote = new TFLanLoteAberto()) { fLote.Cd_empresa = (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Cd_empresa; if (fLote.ShowDialog() == DialogResult.OK) { if (fLote.rLote != null) { (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).rLoteServico = new CamadaDados.Servicos.TRegistro_Lote_X_Servicos() { Cd_empresa = fLote.rLote.Cd_empresa, Id_lote = fLote.rLote.Id_lote, Id_os = (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Id_os } } } ; } } } //Verificar se a etapa e de finalizacao if (fEvolucao.rEvolucao.St_finalizarOS) { (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).St_os = "FE"; (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).Dt_finalizada = DateTime.Now; } //Inserir novo registro (bsOrdemServico.Current as CamadaDados.Servicos.TRegistro_LanServico).lEvolucao.Add( fEvolucao.rEvolucao); bsOrdemServico.ResetCurrentItem(); } } } else { MessageBox.Show("Não existe ordem de serviço selecionada.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private static CamadaDados.Faturamento.Pedido.TRegistro_Pedido GerarPedidoRemessa(CamadaDados.Servicos.TRegistro_LanServico val, bool St_nfterceiro, decimal Quantidade, decimal Vl_unitario) { if (val != null) { //Buscar configuracao para emitir pedido de remessa CamadaDados.Servicos.Cadastros.TList_OSE_ParamOS lParam = CamadaNegocio.Servicos.Cadastros.TCN_OSE_ParamOS.Buscar(val.Tp_ordemstr, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, string.Empty, null); if (lParam.Count > 0) { if (!string.IsNullOrEmpty(lParam[0].Cfg_pedido_transpremessa)) { //Verificar se nao existe um pedido de remessa em aberto para este cliente CamadaDados.Faturamento.Pedido.TList_Pedido lPed = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca(val.Cd_empresa, string.Empty, string.Empty, val.Cd_clifor, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, lParam[0].Cfg_pedido_transpremessa, false, true, false, true, false, false, false, false, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, false, 1, string.Empty, null); if (lPed.Count > 0) { if (St_nfterceiro) { if (Vl_unitario > 0) { CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item lItem = CamadaNegocio.Faturamento.Pedido.TCN_LanPedido_Item.Busca(string.Empty, string.Empty, val.CD_ProdutoOS, lPed[0].Nr_pedido.ToString(), string.Empty, string.Empty, string.Empty, false, null); if (lItem.Count > 0) { if (Math.Round(lItem[0].Vl_unitario, 2).Equals(Math.Round(Vl_unitario))) { lItem[0].Quantidade += Quantidade; lPed[0].Pedido_Itens.Add(lItem[0]); } else { //Incluir novo item no pedido com valor unitario diferente lPed[0].Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item() { Cd_Empresa = val.Cd_empresa, Cd_local = string.Empty, Cd_produto = val.CD_ProdutoOS, Ds_produto = val.DS_ProdutoOS, Cd_unidade_est = val.Cd_unidOS, Cd_unidade_valor = val.Cd_unidOS, Quantidade = Quantidade, Vl_unitario = Vl_unitario, Vl_subtotal = Quantidade * Vl_unitario }); } } else { //Incluir novo item no pedido com valor unitario diferente lPed[0].Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item() { Cd_Empresa = val.Cd_empresa, Cd_local = string.Empty, Cd_produto = val.CD_ProdutoOS, Ds_produto = val.DS_ProdutoOS, Cd_unidade_est = val.Cd_unidOS, Cd_unidade_valor = val.Cd_unidOS, Quantidade = Quantidade, Vl_unitario = Vl_unitario, Vl_subtotal = Quantidade * Vl_unitario }); } } else { //Incluir novo item no pedido lPed[0].Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item() { Cd_Empresa = val.Cd_empresa, Cd_local = string.Empty, Cd_produto = val.CD_ProdutoOS, Ds_produto = val.DS_ProdutoOS, Cd_unidade_est = val.Cd_unidOS, Cd_unidade_valor = val.Cd_unidOS, Quantidade = Quantidade, Vl_unitario = Vl_unitario, Vl_subtotal = Quantidade * Vl_unitario }); } lPed[0].Tp_pedido = "RM";//Pedido de Remessa return(lPed[0]); } else { CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item lItem = CamadaNegocio.Faturamento.Pedido.TCN_LanPedido_Item.Busca(string.Empty, string.Empty, val.CD_ProdutoOS, lPed[0].Nr_pedido.ToString(), string.Empty, string.Empty, string.Empty, false, null); if (lItem.Count > 0) { lItem[0].Quantidade += Quantidade; lPed[0].Pedido_Itens.Add(lItem[0]); lPed[0].Tp_pedido = "RM";//Pedido de Remessa return(lPed[0]); } else { decimal vl_unitario = decimal.Zero; //Buscar valor medio do estoque CamadaNegocio.Estoque.TCN_LanEstoque.VlMedioEstoque(val.Cd_empresa, val.CD_ProdutoOS, ref vl_unitario, null); //Buscar valor da ultima compra if (vl_unitario.Equals(decimal.Zero)) { CamadaDados.Faturamento.NotaFiscal.TListUltimasCompras lUltimaCompra = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento_Item().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.tp_movimento", vOperador = "=", vVL_Busca = "'E'" }, new Utils.TpBusca() { vNM_Campo = "b.cd_produto", vOperador = "=", vVL_Busca = "'" + val.CD_ProdutoOS.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(e.ST_Complementar, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(e.ST_Devolucao, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(e.ST_GeraEstoque, 'N')", vOperador = "=", vVL_Busca = "'S'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(a.ST_Registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, }, 1); if (lUltimaCompra.Count > 0) { vl_unitario = lUltimaCompra[0].Vl_unitario; } } //Incluir novo item no pedido lPed[0].Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item() { Cd_Empresa = val.Cd_empresa, Cd_local = string.Empty, Cd_produto = val.CD_ProdutoOS, Ds_produto = val.DS_ProdutoOS, Cd_unidade_est = val.Cd_unidOS, Cd_unidade_valor = val.Cd_unidOS, Quantidade = Quantidade, Vl_unitario = vl_unitario, Vl_subtotal = Quantidade * vl_unitario }); lPed[0].Tp_pedido = "RM";//Pedido de Remessa return(lPed[0]); } } } else { CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = new CamadaDados.Faturamento.Pedido.TRegistro_Pedido(); rPed.CD_Empresa = val.Cd_empresa; rPed.DT_Pedido = val.Dt_abertura; rPed.CFG_Pedido = lParam[0].Cfg_pedido_transpremessa; rPed.TP_Movimento = "E"; //Pedido de entrada rPed.ST_Pedido = "F"; //Pedido fechado rPed.ST_Registro = "F"; //Pedido fechado rPed.CD_Clifor = val.Cd_clifor; rPed.CD_Endereco = val.Cd_endereco; rPed.Cd_moeda = lParam[0].Cd_moeda; rPed.CD_TRANSPORTADORA = lParam[0].Cd_transportadora; rPed.CD_ENDERECOTRANSP = lParam[0].Cd_enderecoTransp; //Buscar valor medio do estoque if (!St_nfterceiro) { CamadaNegocio.Estoque.TCN_LanEstoque.VlMedioEstoque(val.Cd_empresa, val.CD_ProdutoOS, ref Vl_unitario, null); //Buscar valor da ultima compra if (Vl_unitario.Equals(decimal.Zero)) { CamadaDados.Faturamento.NotaFiscal.TListUltimasCompras lUltimaCompra = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento_Item().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.tp_movimento", vOperador = "=", vVL_Busca = "'E'" }, new Utils.TpBusca() { vNM_Campo = "b.cd_produto", vOperador = "=", vVL_Busca = "'" + val.CD_ProdutoOS.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(e.ST_Complementar, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(e.ST_Devolucao, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(e.ST_GeraEstoque, 'N')", vOperador = "=", vVL_Busca = "'S'" }, new Utils.TpBusca() { vNM_Campo = "ISNULL(a.ST_Registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, }, 1); if (lUltimaCompra.Count > 0) { Vl_unitario = lUltimaCompra[0].Vl_unitario; } } } rPed.Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item() { Cd_Empresa = val.Cd_empresa, Cd_local = string.Empty, Cd_produto = val.CD_ProdutoOS, Ds_produto = val.DS_ProdutoOS, Cd_unidade_est = val.Cd_unidOS, Cd_unidade_valor = val.Cd_unidOS, Quantidade = Quantidade, Vl_unitario = Vl_unitario, Vl_subtotal = Quantidade * Vl_unitario }); rPed.Tp_pedido = "RM"; //Pedido de remessa return(rPed); } } else { throw new Exception("Não existe configuração para emitir pedido de remessa para o tipo de ordem " + val.Tp_ordemstr); } } else { throw new Exception("Não existe configuração para o tipo de ordem " + val.Tp_ordemstr); } } else { return(null); } }