Пример #1
0
 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());
 }
Пример #2
0
 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();
 }
Пример #3
0
        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;
        }
Пример #4
0
 public TFLanItensNota()
 {
     InitializeComponent();
     lItens = new CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item();
 }
Пример #5
0
 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);
     }
 }