private void Calcular() { if (rItemOrc != null) { rItemOrc.Quantidade = qtd_programada.Value; CamadaDados.Faturamento.Orcamento.TList_Orcamento_Item lItem = new CamadaDados.Faturamento.Orcamento.TList_Orcamento_Item(); CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento.MontarFichaTecItem(Cd_empresa, cd_localarm.Text, rItemOrc, lItem); cSaldoEst.DataPropertyName = "Qtd_saldoestoque"; cUnd.DataPropertyName = "Sigla_unid_produto"; bsItens.DataSource = lItem; } if (rItemPed != null) { CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item lItem = new CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item(); CamadaNegocio.Faturamento.Pedido.TCN_Pedido.MontarFichaTecItem(Cd_empresa, cd_localarm.Text, rItemPed, lItem); cSaldoEst.DataPropertyName = "Qtd_estoque"; cUnd.DataPropertyName = "Sg_unidade_est"; bsItens.DataSource = lItem; } bsItens_PositionChanged(this, new EventArgs()); }
public TRegistro_LoteOS() { this.id_lote = null; this.id_lotestr = string.Empty; this.Cd_empresa = string.Empty; this.Nm_empresa = string.Empty; this.Nr_pedido = null; this.Cd_fornecedor = string.Empty; this.Nm_fornecedor = string.Empty; this.Cd_endfornecedor = string.Empty; this.Ds_endfornecedor = string.Empty; this.Ds_lote = string.Empty; this.Ds_observacao = string.Empty; this.dt_enviolote = DateTime.Now; this.dt_enviolotestr = DateTime.Now.ToString(); this.dt_prevdevolucao = null; this.dt_prevdevolucaostr = string.Empty; this.st_registro = "A"; this.status = "ABERTO"; this.St_gerarpedidoremessa = false; this.LServicos = new TList_Lote_X_Servicos(); this.LServicosDel = new TList_Lote_X_Servicos(); this.lOs = new TList_LanServico(); this.lOsDel = new TList_LanServico(); this.lNf = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento(); this.lItensPedido = new CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item(); }
private void gPedidoItens_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gPedidoItens.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsPedidoItens.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item()); CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item lComparer; SortOrder direcao = SortOrder.None; if ((gPedidoItens.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) || (gPedidoItens.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending)) { lComparer = new CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item(lP.Find(gItensVenda.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending); foreach (DataGridViewColumn c in gPedidoItens.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Ascending; } else { lComparer = new CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item(lP.Find(gItensVenda.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending); foreach (DataGridViewColumn c in gPedidoItens.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Descending; } (bsPedidoItens.List as CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item).Sort(lComparer); bsPedidoItens.ResetBindings(false); gPedidoItens.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }
public TFLanItensNota() { InitializeComponent(); lItens = new CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item(); }
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); } }