Пример #1
0
        private void InfData()
        {
            try
            {
                object obj = new CamadaDados.Servicos.Cadastros.TCD_TpOrdem().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.TP_Ordem",
                        vOperador = "=",
                        vVL_Busca = "'" + TP_Ordem.Text.Trim() + "'"
                    }
                }, "a.ST_InfDtAbertura");

                if (obj.Equals("S"))
                {
                    DT_Abertura.Enabled = true;
                }
                else
                {
                    DT_Abertura.Enabled = false;
                }
            }
            catch { }
        }
Пример #2
0
        private void afterGrava()
        {
            if (bsOS.Count > 0)
            {
                if (vl_minimopedido.Value > 0)
                {
                    if (st_gerarpedidoservicoseparado.Checked)
                    {
                        if (vl_totalpecas.Value < vl_minimopedido.Value)
                        {
                            MessageBox.Show("Valor total das peças a ser faturado é menor que o valor minimo configurado para gerar pedido.",
                                            "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        if (vl_totalservicos.Value < vl_minimopedido.Value)
                        {
                            MessageBox.Show("Valor total dos serviços a ser faturado é menor que o valor minimo configurado para gerar pedido.",
                                            "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                    }
                    else if ((vl_totalservicos.Value + vl_totalpecas.Value) < vl_minimopedido.Value)
                    {
                        MessageBox.Show("Valor total das peças e/ou serviços é menor que o valor minimo configurado para gerar pedido.",
                                        "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                if (BS_Pecas.Count < 1)
                {
                    if (!(MessageBox.Show("Não existe peças/serviços para processar Ordem(s) de Serviço(s).\r\n" +
                                          "Confirma processamento mesmo assim?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                          MessageBoxDefaultButton.Button1) == DialogResult.Yes))
                    {
                        return;
                    }
                }
                try
                {
                    //Buscar evoluções
                    (bsOS.Current as TRegistro_LanServico).lEvolucao =
                        new CamadaDados.Servicos.TCD_LanServicoEvolucao().Select(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.id_os",
                            vOperador = "=",
                            vVL_Busca = (bsOS.Current as CamadaDados.Servicos.TRegistro_LanServico).Id_osstr
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + (bsOS.Current as CamadaDados.Servicos.TRegistro_LanServico).Cd_empresa.Trim() + "'"
                        }
                    }, 0, string.Empty, "a.dt_inicio");
                    object obj = new CamadaDados.Servicos.Cadastros.TCD_TpOrdem().BuscarEscalar(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.tp_ordem",
                            vOperador = "=",
                            vVL_Busca = (bsOS.Current as TRegistro_LanServico).Tp_ordemstr
                        }
                    }, "a.tp_faturamento");
                    if (obj == null ? false : obj.ToString().ToString().Equals("V"))
                    {
                        if (BS_Pecas.Current != null)
                        {
                            (bsOS.Current as TRegistro_LanServico).lPecas = (BS_Pecas.List as CamadaDados.Servicos.TList_LanServicosPecas);
                        }

                        CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPedGarantia = null;
                        CamadaDados.Faturamento.PDV.TRegistro_PreVenda  rPreVenda    =
                            Proc_Commoditties.TProcessarOS.ProcessarOSPeca(bsOS.Current as TRegistro_LanServico, ref rPedGarantia);
                        CamadaNegocio.Servicos.TCN_LanServico.ProcessarOSPreVenda(bsOS.Current as TRegistro_LanServico, rPreVenda, rPedGarantia, null);
                        MessageBox.Show("Ordem serviço processada com sucesso.", "Pergunta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        if (rPedGarantia != null)
                        {
                            //Buscar pedido
                            rPedGarantia = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(rPedGarantia.Nr_pedido.ToString(), null);
                            //Buscar itens pedido
                            CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(rPedGarantia, false, null);
                            //Gerar Nota Fiscal
                            CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rFat =
                                Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(rPedGarantia, false, decimal.Zero);
                            //Gravar Nota Fiscal
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.GravarFaturamento(rFat, null, null);
                            if (rFat.Cd_modelo.Trim().Equals("55"))
                            {
                                if (MessageBox.Show("Deseja enviar NF-e para a receita agora?", "Pergunta", MessageBoxButtons.YesNo,
                                                    MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                                {
                                    try
                                    {
                                        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)
                                    { MessageBox.Show("Erro enviar NF-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                }
                            }
                        }
                    }
                    else
                    {
                        CamadaNegocio.Servicos.TCN_LanServico.ProcessarServico((bsOS.List as CamadaDados.Servicos.TList_LanServico).FindAll(p => p.St_processarOS),
                                                                               St_osinterna ? null : Proc_Commoditties.TProcessaPedidoOS.ProcessarOS((bsOS.List as CamadaDados.Servicos.TList_LanServico).FindAll(p => p.St_processarOS)),
                                                                               null);
                        MessageBox.Show("Ordem(s) de Serviço(s) processada(s) com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }


                    this.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.Trim());
                }
            }
            else
            {
                MessageBox.Show("Não existe ordem de serviço marcada para processar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }