Exemplo n.º 1
0
        public override int buscarRegistros()
        {
            string seleParametro = "";

            if (ds_parametro.SelectedValue != null)
            {
                seleParametro = ds_parametro.SelectedValue.ToString();
            }
            string seleTpDado = "";

            if (tp_dado.SelectedValue != null)
            {
                seleTpDado = tp_dado.SelectedValue.ToString();
            }

            TList_RegParamGer lista = TCN_CadParamGer.Busca(0, seleParametro, ds_finalidade.Text, seleTpDado, 0, "");

            if (lista != null)
            {
                if (lista.Count > 0)
                {
                    bsParamGer.DataSource = lista;
                }
                return(lista.Count);
            }
            this.Lista = Lista;
            return(0);
        }
Exemplo n.º 2
0
        private static bool VerificaRelatorio(string Nome_Relatorio)
        {
            Nome_Relatorio = Nome_Relatorio.RemoverCaracteres().Replace(" ", "_");
            string vFilePath       = "";
            string vURL_Relatorios = "";

            if ((Utils.Parametros.pubTerminal == null ? "" : Utils.Parametros.pubTerminal) != "")
            {
                vFilePath       = TCN_CadParamGer.BuscaVlString("PATH_RELATORIO", Utils.Parametros.pubTerminal, null);
                vURL_Relatorios = TCN_CadParamGer.BuscaVlString("URL_RELATORIOS", Utils.Parametros.pubTerminal, null);
            }
            else
            {
                vFilePath       = Utils.Parametros.pubPathAliance.Trim();
                vURL_Relatorios = Utils.Parametros.pubPathAliance.Trim();
            }

            if (!string.IsNullOrEmpty(vFilePath))
            {
                if (!vFilePath.EndsWith("\\"))
                {
                    vFilePath += "\\";
                }
            }


            if (!File.Exists(vFilePath + Nome_Relatorio + ".rst"))
            {
                //CRIA O MODELO
                if (!(System.IO.File.Exists(vFilePath + "Modelo.rst")) && (vURL_Relatorios != ""))
                {
                    //tentar baixar da internet
                    try
                    {
                        System.Net.WebClient www = new System.Net.WebClient();
                        www.BaseAddress = vURL_Relatorios;
                        byte[] buff = new byte[0];
                        buff = www.DownloadData(vURL_Relatorios + "Modelo.rst");

                        System.IO.FileInfo   fInfo = new System.IO.FileInfo(vFilePath + "Modelo.rst");
                        System.IO.FileStream arq   = fInfo.Create();

                        arq.Write(buff, 0, buff.Length);
                        arq.Close();
                    }
                    catch (System.Net.WebException ex)
                    {
                        throw new Exception("Ocorreu um erro na tentativa de efetuar DOWNLOAD do relatorio de Modelo do Site da Tecnoaliance, Contacte o suporte /n" + ex.Message);
                    }
                    catch (Exception ex)
                    {
                        throw new Exception("Erro: " + ex.Message.Trim());
                    }
                }

                return(GeraArquivoRelatorio(Nome_Relatorio + ".rst", vFilePath));
            }

            return(false);
        }
Exemplo n.º 3
0
        private void TFHelp_Load(object sender, EventArgs e)
        {
            this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
            try
            {
                string URL_Dominio   = string.Empty;
                string URL_Documento = string.Empty;
                string URL           = string.Empty;

                URL_Dominio   = TCN_CadParamGer.BuscaVlString("URL_HELP", null).ToLower();
                URL_Documento = filehelp + ".htm";

                if (URL_Dominio != "")
                {
                    string url = URL_Dominio + URL_Documento;
                    wbHelp.Url = new System.Uri(url.Trim());
                }
                else
                {
                    MessageBox.Show("Parâmetro da url do help não existente : \r\n\r\n");
                    this.Dispose();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao Chamar o HELP: \r\n\r\n" + ex.ToString(), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
        }
Exemplo n.º 4
0
        public static TRegistro_FormulaApontamento CriarFormulaApontamento(string Cd_empresa,
                                                                           string Nr_pedido,
                                                                           string Cd_produto,
                                                                           string Cd_unidade,
                                                                           string Cd_unidproduto,
                                                                           string Cd_local,
                                                                           string Id_pedidoitem,
                                                                           decimal Quantidade,
                                                                           //bool St_decomposicao,
                                                                           BancoDados.TObjetoBanco banco)
        {
            TRegistro_FormulaApontamento rFormula = new TRegistro_FormulaApontamento();

            rFormula.Cd_empresa     = Cd_empresa;
            rFormula.Cd_produto     = Cd_produto;
            rFormula.Cd_unidade     = Cd_unidade;
            rFormula.Cd_unidProduto = Cd_unidproduto;
            rFormula.Cd_local       = Cd_local;
            rFormula.Qt_produto     = Quantidade;
            TList_FichaTecItemPed lFicha = TCN_FichaTecItemPed.Buscar(Nr_pedido,
                                                                      Cd_produto,
                                                                      Id_pedidoitem,
                                                                      string.Empty,
                                                                      banco);

            lFicha.ForEach(p =>
            {
                if ((!new TCD_CadProduto(banco).ItemServico(p.Cd_item)) &&
                    (!new TCD_CadProduto(banco).ProdutoConsumoInterno(p.Cd_item)))
                {
                    //Lista Materia Prima
                    rFormula.LFichaTec_MPrima.Add(new TRegistro_FichaTec_MPrima()
                    {
                        Cd_empresa      = Cd_empresa,
                        Cd_produto      = p.Cd_item,
                        Cd_unid_produto = p.Cd_unditem,
                        Cd_unidade      = p.Cd_unditem,
                        Cd_local        = Cd_local,
                        Qtd_produto     = Math.Round(decimal.Multiply(decimal.Divide(p.Quantidade, p.Qtd_itemPed), Quantidade), 3, MidpointRounding.AwayFromZero)
                    });
                }
                else
                {
                    string moeda = TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", Cd_empresa, banco);
                    if (!string.IsNullOrEmpty(moeda))
                    {
                        //Buscar custo
                        rFormula.LCustoFixo.Add(new TRegistro_CustoFixo_Direto()
                        {
                            Cd_empresa = Cd_empresa,
                            Cd_moeda   = moeda,
                            Cd_unidade = p.Cd_unditem,
                            Vl_custo   = p.Vl_custo,
                            Tp_custo   = "F"  //Fixo
                        });
                    }
                }
            });
            return(rFormula);
        }
Exemplo n.º 5
0
 public override void afterExclui()
 {
     if ((this.vTP_Modo == TTpModo.tm_Standby) || (this.vTP_Modo == TTpModo.tm_busca))
     {
         if (MessageBox.Show("Confirma Exclusão do Registro?", "Mensagem",
                             MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) ==
             System.Windows.Forms.DialogResult.Yes)
         {
             TCN_CadParamGer.DeletaParamGer((bsParamGer.Current as TRegistro_ParamGer));
             bsParamGer.RemoveCurrent();
             pDados.LimparRegistro();
             afterBusca();
         }
     }
 }
Exemplo n.º 6
0
 public override string gravarRegistro()
 {
     if (vTP_Modo == TTpModo.tm_Edit)
     {
         ds_parametro.ST_NotNull = false;
     }
     if (pDados.validarCampoObrigatorio())
     {
         ds_parametro.ST_NotNull = true;
         return(TCN_CadParamGer.GravaParamGer((bsParamGer.Current as TRegistro_ParamGer)));
     }
     else
     {
         return("");
     }
 }
Exemplo n.º 7
0
 public override string gravarRegistro()
 {
     if (vTP_Modo == TTpModo.tm_Edit)
     {
         ds_parametro.ST_NotNull = false;
     }
     if (pDados.validarCampoObrigatorio())
     {
         ds_parametro.ST_NotNull = true;
         string retorno = TCN_CadParamGer.GravaParamGer((bsParamGer.Current as TRegistro_ParamGer), null);
         if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("TOPMAX_CONSULTA"))
         {
             Utils.Parametros.pubTopMax = Convert.ToInt16((bsParamGer.Current as TRegistro_ParamGer).Vl_numerico);
         }
         else if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("PATH_CONFIG"))
         {
             Utils.Parametros.pubPathConfig = (bsParamGer.Current as TRegistro_ParamGer).Vl_string.Trim();
         }
         else if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("ST_UTILIZAR_CORINGA_ESQ"))
         {
             Utils.Parametros.ST_UtilizarCoringaEsq = (bsParamGer.Current as TRegistro_ParamGer).VL_Booleano;
         }
         else if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("TMP_STATUS_TICKET_BI"))
         {
             Utils.Parametros.pubTmpStatusTicket = (bsParamGer.Current as TRegistro_ParamGer).Vl_numerico;
         }
         else if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("TMP_MSG_BI"))
         {
             Utils.Parametros.pubTmpMsgTicket = (bsParamGer.Current as TRegistro_ParamGer).Vl_numerico;
         }
         else if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("WS_SERVIDOR_BI"))
         {
             Utils.Parametros.WS_ServidorHelpDesk = (bsParamGer.Current as TRegistro_ParamGer).Vl_string;
         }
         else if ((bsParamGer.Current as TRegistro_ParamGer).Ds_parametro.Trim().ToUpper().Equals("URL_UTILS"))
         {
             Utils.Parametros.URL_Utils = (bsParamGer.Current as TRegistro_ParamGer).Vl_string;
         }
         return(retorno);
     }
     else
     {
         return(string.Empty);
     }
 }
Exemplo n.º 8
0
 public static void CalcularCustoFixo(TRegistro_ApontamentoProducao val, BancoDados.TObjetoBanco banco)
 {
     if (val != null)
     {
         if (val.LFormulaApontamento.Count > 0)
         {
             val.LFormulaApontamento[0].LCustoFixo.ForEach(p =>
             {
                 if (p.Vl_custo > 0)
                 {
                     string moeda_padrao = TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", val.Cd_empresa, banco);
                     if (moeda_padrao.Trim().Equals(string.Empty))
                     {
                         throw new Exception("Erro calcular custo fixo: falta configurar moeda padrão.");
                     }
                     if (p.Cd_moeda.Trim().Equals(moeda_padrao.Trim()))
                     {
                         p.Vl_custo_calculado = p.Vl_custo * val.Qtd_batch;
                     }
                     else if (val.Dt_apontamento != null)
                     {
                         decimal indice       = decimal.Zero;
                         p.Vl_custo_calculado = TCN_CotacaoMoeda.ConvertMoeda(p.Cd_moeda,
                                                                              moeda_padrao,
                                                                              val.Dt_apontamento.Value,
                                                                              false,
                                                                              p.Vl_custo,
                                                                              ref indice,
                                                                              banco) * val.Qtd_batch;
                         p.Indice_monetario = indice;
                     }
                 }
             });
             val.Vl_custo_fixodireto = val.LFormulaApontamento[0].LCustoFixo.Sum(p => p.Vl_custo_calculado);
         }
     }
 }
Exemplo n.º 9
0
        private void Gera_Faturamento()
        {
            try
            {
                if ((BS_Comissao != null) && (BS_Comissao.Count > 0))
                {
                    if ((BS_Fechamento_Comissao != null) && (BS_Fechamento_Comissao.Count > 0) && (g_Fechamento_Comissao.Rows.Count > 0))
                    {
                        try
                        {
                            if (VL_Com_Liberada.Text.Trim() == "")
                            {
                                VL_Com_Liberada.Text = "0";
                            }

                            if (Convert.ToDecimal(VL_Com_Liberada.Text) == 0)
                            {
                                throw new Exception("Não existe Valores Liberados para se Faturar!");
                            }
                        }
                        catch
                        {
                            throw new Exception("Problemas com o Valores Liberados para Faturar!");
                        }

                        if (Existe_Empresas_Diferentes() == true)
                        {
                            throw new Exception("Você deve Faturar somente Comissões de E!");
                        }

                        // Cria a Lista com os selecionados
                        TList_Lan_Comissao List_Comissao = new TList_Lan_Comissao();
                        for (int i = 0; i < g_Fechamento_Comissao.SelectedRows.Count; i++)
                        {
                            TRegistro_Lan_Comissao Reg_Lan_Comissao = BS_Fechamento_Comissao[g_Fechamento_Comissao.SelectedRows[i].Index] as TRegistro_Lan_Comissao;
                            List_Comissao.Add(Reg_Lan_Comissao);
                        }

                        TList_CadVendedor     List_Vendedor = TCN_CadVendedor.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString(), "", "", "", "", "", "", "", "", "", "");
                        TRegistro_CadVendedor Reg_Vendedor  = List_Vendedor[0];
                        if (List_Vendedor.Count == 0)
                        {
                            throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "não encontrado.");
                        }

                        if (List_Vendedor[0].CD_condpgto_comissao == "")
                        {
                            throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "\r\n sem condição de Pagamento configurada. Verifique cadastro de Vendedor.");
                        }

                        string Moeda_Padrao = TCN_CadParamGer.BuscaVlString("CD_MOEDA_PADRAO");
                        if (Moeda_Padrao == "")
                        {
                            throw new Exception("Moeda Padrão não encontrado. Verificar configurações Gerais");
                        }

                        string Produto_Comissao = TCN_CadParamGer.BuscaVlString("CD_PRODUTO_COMISSAO");
                        if (Produto_Comissao == "")
                        {
                            throw new Exception("Produto Comissão não encontrado. Verificar configurações Gerais");
                        }
                        TRegistro_CadProduto Reg_Produto = TCN_CadProduto.Busca_Produto_Codigo(Produto_Comissao);
                        if ((Reg_Produto == null) || (Reg_Produto.CD_Unidade == ""))
                        {
                            throw new Exception("Unidade da Comissão não encontrado. Verificar configurações Gerais");
                        }

                        string CFG_Pedido_Comissao = TCN_CadParamGer.BuscaVlString("CFG_Pedido_Comissao");
                        if (CFG_Pedido_Comissao == "")
                        {
                            throw new Exception("Configuração de Pedido de Comissão não encontrado. Verificar configurações Gerais");
                        }

                        TRegistro_CadClifor Reg_Clifor_Vendedor = new TRegistro_CadClifor();
                        Reg_Clifor_Vendedor = TCN_CadClifor.Busca_Clifor_Codigo(List_Vendedor[0].Cd_clifor);

                        TList_CadEmpresa     List_Empresa = new TList_CadEmpresa();
                        TRegistro_CadEmpresa Reg_Empresa  = new TRegistro_CadEmpresa();
                        List_Empresa = TCN_CadEmpresa.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Empresa, "", "", null);
                        Reg_Empresa  = List_Empresa[0];

                        TList_CadEndereco     List_Endereco = new TList_CadEndereco();
                        TRegistro_CadEndereco Reg_Endereco  = new TRegistro_CadEndereco();
                        List_Endereco = TCN_CadEndereco.Buscar(List_Vendedor[0].Cd_clifor, List_Vendedor[0].Cd_endereco, "", "", "", "", "", "",
                                                               "", "", "", "", "", "", "", 0, null);
                        Reg_Endereco = List_Endereco[0];


                        TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata();
                        Duplicata = Gera_Financeiro(CFG_Pedido_Comissao, List_Vendedor[0].CD_condpgto_comissao, Moeda_Padrao, Reg_Empresa, Reg_Clifor_Vendedor, Reg_Endereco);

                        if (Duplicata == null)
                        {
                            throw new Exception("Por favor! \r\n  - Verifique os dados das Duplicatas");
                        }

                        decimal Total_Faturar = Convert.ToDecimal(VL_Com_Liberada.Text);

                        bool    Pode_Gravar    = false;
                        bool    ST_SequenciaNF = false;
                        decimal NR_Nota        = 0;

                        TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal();
                        TpBusca[] vBusca = new TpBusca[0];
                        Array.Resize(ref vBusca, vBusca.Length + 1);
                        vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido";
                        vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'";
                        vBusca[vBusca.Length - 1].vOperador = "=";

                        Array.Resize(ref vBusca, vBusca.Length + 1);
                        vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL";
                        vBusca[vBusca.Length - 1].vVL_Busca = "'N'";
                        vBusca[vBusca.Length - 1].vOperador = "=";

                        DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0);

                        if (DT_Pedido_Fiscal.Rows.Count > 0)
                        {
                            if (DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim() != string.Empty)
                            {
                                TList_CadSerieNF List_SerieNF = TCN_CadSerieNF.Busca(DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim(),
                                                                                     string.Empty,
                                                                                     decimal.Zero,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     null);
                                if (List_SerieNF.Count > 0)
                                {
                                    if (List_SerieNF[0].ST_SequenciaAutoBool == false)
                                    {
                                        TFNumero_Nota Numero_Nota = new TFNumero_Nota();
                                        Numero_Nota.pCd_empresa = Reg_Empresa.Cd_empresa;
                                        Numero_Nota.pNm_empresa = Reg_Empresa.Nm_empresa;
                                        Numero_Nota.pCd_clifor  = Reg_Clifor_Vendedor.Cd_clifor;
                                        Numero_Nota.pNm_clifor  = Reg_Clifor_Vendedor.Nm_clifor;
                                        Numero_Nota.pNr_serie   = DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim();
                                        Numero_Nota.pDs_serie   = DT_Pedido_Fiscal.Rows[0]["ds_serie"].ToString().Trim();
                                        Numero_Nota.pTp_nota    = "P";
                                        if (Numero_Nota.ShowDialog() == DialogResult.OK)
                                        {
                                            NR_Nota     = Numero_Nota.pNr_notafiscal;
                                            Pode_Gravar = true;
                                        }
                                        else
                                        {
                                            Pode_Gravar = false;
                                        }
                                    }
                                    else
                                    {
                                        ST_SequenciaNF = true;
                                        Pode_Gravar    = true;
                                    }
                                }
                                else
                                {
                                    throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta. Vefrificar numero de série!");
                                }
                            }
                        }
                        else
                        {
                            throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta");
                        }


                        if (Pode_Gravar == true)
                        {
                            TCN_Lan_Fechamento_Comissao.Gera_Faturamento(List_Comissao, NR_Nota, ST_SequenciaNF, Duplicata, Reg_Vendedor, Moeda_Padrao, Produto_Comissao, Reg_Produto, CFG_Pedido_Comissao,
                                                                         Reg_Clifor_Vendedor, Reg_Empresa, Reg_Endereco, Total_Faturar, null);
                            MessageBox.Show("Comissão Faturada com Sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            afterNovo();
                        }
                        else
                        {
                            throw new Exception("De Alguma forma o processo foi cancelado!");
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Erro: \r\n\r\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
            }
        }
Exemplo n.º 10
0
        public bool Gera_Relatorio(string Documento,
                                   bool St_imprimir,
                                   bool St_visualizar,
                                   bool St_enviaremail,
                                   bool St_exportPdf,
                                   string Path_exportPdf,
                                   List <string> Destinatarios,
                                   List <string> Anexos,
                                   string Titulo,
                                   string Mensagem,
                                   bool St_enviarcomoanexo)
        {
            bool retorno = false;

            try
            {
                //VERIFICA SE JÁ TEM O ITEM LANÇADO
                if (string.IsNullOrEmpty(Cad_Report.DS_Report))
                {
                    Cad_Report.Modulo    = Modulo;
                    Cad_Report.NM_Classe = NM_Classe;
                    Cad_Report.DS_Report = NM_Classe;
                    Cad_Report.Ident     = Ident;
                }

                //Se nao existir relatorio no banco, baixar da net
                if (!BuscaRelatorio())
                {
                    if (AtualizarRDC.VerificarVersaoRDC(Cad_Report, false))
                    {
                        BuscaRelatorio();
                    }
                }

                XmlDocument docXMLRelatorio = new XmlDocument();
                if (Cad_Report.Code_Report != null)
                {
                    docXMLRelatorio.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Compact_Data.Descompactar(Cad_Report.Code_Report, string.Empty)));
                }

                //CRIA O ARQUIVO PARA O RELATORIO
                InlineReportSlot ArquivoRelatorio = new InlineReportSlot();
                //ADICIONAR O NOME E OS PARAMETROS
                ArquivoRelatorio.GetReportParameter += new GetReportParameterEventHandler(Parametros);
                Nome_Relatorio = Nome_Relatorio.Replace(' ', '_');
                ArquivoRelatorio.ReportName = Nome_Relatorio;
                reportManager.DataSources.Add("DTS", DTS_Relatorio);

                if (Cad_Report.Code_Report != null)
                {
                    //ADICIONA O STREAM DO RELATORIO (XML)
                    ArquivoRelatorio.DocumentStream = docXMLRelatorio.InnerXml;
                    reportManager.Reports.Add(ArquivoRelatorio);

                    if (!Altera_Relatorio)
                    {
                        reportManager.Reports[0].LoadReport();
                        reportManager.Reports[0].Prepare();
                        reportManager.Reports[0].RenderDocument();

                        using (PerpetuumSoft.Reporting.View.PreviewForm view = new PerpetuumSoft.Reporting.View.PreviewForm(reportManager.Reports[0]))
                        {
                            if (St_imprimir)
                            {
                                object obj = new CamadaDados.Diversos.TCD_CadTerminal().BuscarEscalar(
                                    new TpBusca[]
                                {
                                    new TpBusca()
                                    {
                                        vNM_Campo = "a.cd_terminal",
                                        vOperador = "=",
                                        vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                                    }
                                }, "a.impressorapadrao");
                                string print = obj == null ? string.Empty : obj.ToString();
                                if (!string.IsNullOrEmpty(print))
                                {
                                    bool existe = false;
                                    for (int i = 0; i < System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count; i++)
                                    {
                                        string teste = System.Drawing.Printing.PrinterSettings.InstalledPrinters[i];
                                        if (System.Drawing.Printing.PrinterSettings.InstalledPrinters[i].Trim().ToUpper().Equals(print.Trim().ToUpper()))
                                        {
                                            existe = true;
                                            break;
                                        }
                                    }
                                    if (!existe)
                                    {
                                        print = string.Empty;
                                    }
                                }

                                if (!string.IsNullOrEmpty(print))
                                {
                                    using (ReportPrintDocument rpd = new ReportPrintDocument())
                                    {
                                        decimal copias = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlNumerico("QTD_VIA_DANFE", null);
                                        rpd.PrinterSettings.Copies      = copias == decimal.Zero ? (short)1 : (short)copias;
                                        rpd.PrinterSettings.PrinterName = print;
                                        rpd.Source = ArquivoRelatorio;
                                        rpd.Print();
                                    }
                                }
                                else
                                {
                                    using (System.Windows.Forms.PrintDialog pd = new PrintDialog())
                                    {
                                        pd.UseEXDialog = true;
                                        if (pd.ShowDialog() == DialogResult.OK)
                                        {
                                            using (ReportPrintDocument rpd = new ReportPrintDocument())
                                            {
                                                rpd.PrinterSettings = pd.PrinterSettings;
                                                rpd.Source          = ArquivoRelatorio;
                                                rpd.Print();
                                            }
                                        }
                                    }
                                }
                            }
                            else if (St_visualizar)
                            {
                                view.WindowState = FormWindowState.Maximized;
                                view.ShowDialog();
                                retorno = true;
                            }
                            else if (St_exportPdf && !string.IsNullOrEmpty(Path_exportPdf))
                            {
                                using (PdfExportFilter pdf = new PdfExportFilter())
                                {
                                    pdf.Export(this.reportManager.Reports[0].Document, Path_exportPdf, false);
                                    retorno = true;
                                }
                            }
                        }
                        if (St_enviaremail)
                        {
                            using (PdfExportFilter pdf = new PdfExportFilter())
                            {
                                string path_anexo = TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null);
                                if (string.IsNullOrEmpty(path_anexo))
                                {
                                    throw new Exception("Não existe path anexo cadastrado nas configurações gerais do sistema!");
                                }
                                if (!System.IO.Directory.Exists(path_anexo))
                                {
                                    System.IO.Directory.CreateDirectory(path_anexo);
                                }
                                if (!path_anexo.EndsWith("\\"))
                                {
                                    path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                                }
                                path_anexo += "NFCE" + DateTime.Now.Date.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".pdf";
                                pdf.Export(this.reportManager.Reports[0].Document, path_anexo, false);
                                if (Anexos == null)
                                {
                                    Anexos = new List <string>();
                                }
                                Anexos.Add(path_anexo);
                                new Email(Destinatarios,
                                          Titulo,
                                          Mensagem,
                                          Anexos).EnviarEmail();
                                retorno = true;
                            }
                        }
                    }
                    else
                    {
                        Editar();
                    }
                }
                else
                {
                    Editar();
                }
            }
            catch (Exception erro)
            { MessageBox.Show(erro.Message, "Mensagem"); }
            return(retorno);
        }
Exemplo n.º 11
0
        public bool ImprimiGraficoReduzida(string Print,
                                           bool St_imprimir,
                                           bool St_visualizar,
                                           List <string> Destinatarios,
                                           string Titulo,
                                           string Mensagem,
                                           short copia)
        {
            bool retorno = false;

            try
            {
                //VERIFICA SE JÁ TEM O ITEM LANÇADO
                if (string.IsNullOrEmpty(Cad_Report.DS_Report))
                {
                    Cad_Report.Modulo    = Modulo;
                    Cad_Report.NM_Classe = NM_Classe;
                    Cad_Report.DS_Report = NM_Classe;
                    Cad_Report.Ident     = Ident;
                }

                //Se nao existir relatorio no banco, baixar da net
                if (!BuscaRelatorio())
                {
                    if (AtualizarRDC.VerificarVersaoRDC(Cad_Report, false))
                    {
                        BuscaRelatorio();
                    }
                }

                XmlDocument docXMLRelatorio = new XmlDocument();
                if (Cad_Report.Code_Report != null)
                {
                    docXMLRelatorio.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Compact_Data.Descompactar(Cad_Report.Code_Report, string.Empty)));
                }

                //CRIA O ARQUIVO PARA O RELATORIO
                InlineReportSlot ArquivoRelatorio = new InlineReportSlot();
                //ADICIONAR O NOME E OS PARAMETROS
                ArquivoRelatorio.GetReportParameter += new GetReportParameterEventHandler(Parametros);
                Nome_Relatorio = Nome_Relatorio.Replace(' ', '_');
                ArquivoRelatorio.ReportName = Nome_Relatorio;
                reportManager.DataSources.Add("DTS", DTS_Relatorio);

                if (Cad_Report.Code_Report != null)
                {
                    //ADICIONA O STREAM DO RELATORIO (XML)
                    ArquivoRelatorio.DocumentStream = docXMLRelatorio.InnerXml;
                    reportManager.Reports.Add(ArquivoRelatorio);

                    if (!Altera_Relatorio)
                    {
                        reportManager.Reports[0].LoadReport();
                        reportManager.Reports[0].Prepare();
                        reportManager.Reports[0].RenderDocument();

                        using (PerpetuumSoft.Reporting.View.PreviewForm view = new PerpetuumSoft.Reporting.View.PreviewForm(reportManager.Reports[0]))
                        {
                            if (St_imprimir)
                            {
                                using (ReportPrintDocument rpd = new ReportPrintDocument())
                                {
                                    rpd.PrinterSettings.PrinterName = Print;
                                    rpd.Source = ArquivoRelatorio;
                                    for (int i = 0; i < copia; i++)
                                    {
                                        rpd.Print();
                                    }
                                }
                            }
                            else if (St_visualizar)
                            {
                                view.WindowState = FormWindowState.Maximized;
                                view.ShowDialog();
                                retorno = true;
                            }
                        }
                        if (Destinatarios == null ? false : Destinatarios.Count > 0)
                        {
                            using (PdfExportFilter pdf = new PdfExportFilter())
                            {
                                string path_anexo = TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null);
                                if (string.IsNullOrEmpty(path_anexo))
                                {
                                    throw new Exception("Não existe path anexo cadastrado nas configurações gerais do sistema!");
                                }
                                if (!System.IO.Directory.Exists(path_anexo))
                                {
                                    System.IO.Directory.CreateDirectory(path_anexo);
                                }
                                if (!path_anexo.EndsWith("\\"))
                                {
                                    path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                                }
                                path_anexo += "NFCE" + DateTime.Now.Date.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".pdf";
                                pdf.Export(this.reportManager.Reports[0].Document, path_anexo, false);
                                List <string> Anexos = new List <string>();
                                Anexos.Add(path_anexo);
                                new Email(Destinatarios,
                                          Titulo,
                                          Mensagem,
                                          Anexos).EnviarEmail();
                                retorno = true;
                            }
                        }
                    }
                    else
                    {
                        Editar();
                    }
                }
                else
                {
                    Editar();
                }
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message, "Mensagem");
            }
            return(retorno);
        }
Exemplo n.º 12
0
 public void Parametros(object sender, GetReportParameterEventArgs e)
 {
     try
     {
         if (e.Parameters.Count > 0)
         {
             for (int x = 0; x < e.Parameters.Count; x++)
             {
                 if (e.Parameters[x].Name.Trim().ToUpper().Equals("USUARIO"))
                 {
                     e.Parameters["USUARIO"].Value = Utils.Parametros.pubLogin;
                 }
                 else
                 {
                     if (e.Parameters[x].Name.Trim().ToUpper().Equals("TERMINAL"))
                     {
                         e.Parameters["TERMINAL"].Value = Utils.Parametros.pubTerminal + " - " + new CamadaDados.Diversos.TCD_CadTerminal().BuscarEscalar(
                             new TpBusca[]
                         {
                             new TpBusca()
                             {
                                 vNM_Campo = "a.cd_terminal",
                                 vOperador = "=",
                                 vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                             }
                         }, "a.ds_terminal").ToString();
                     }
                     else
                     {
                         if (e.Parameters[x].Name.Trim().ToUpper().Equals("RODAPE_RELATORIO"))
                         {
                             e.Parameters["RODAPE_RELATORIO"].Value = TCN_CadParamGer.BuscaVL_String_Empresa("RODAPE_RELATORIO", string.Empty);
                         }
                         else
                         {
                             if (Parametros_Relatorio == null ? false :
                                 (!Parametros_Relatorio.ContainsKey("IMAGEM_RELATORIO")) &&
                                 e.Parameters[x].Name.Trim().ToUpper().Equals("IMAGEM_RELATORIO"))
                             {
                                 e.Parameters["IMAGEM_RELATORIO"].Value = TCN_CadParamGer.BuscaVlImagem("IMAGEM_RELATORIO", string.Empty, null);
                             }
                             else
                             {
                                 if (e.Parameters[x].Name.Trim().ToUpper().Equals("ESTILO_RELATORIO"))
                                 {
                                     if (TCN_CadParamGer.BuscaVL_Bool("ESTILO_RELATORIO", string.Empty, null) == "S")
                                     {
                                         e.Parameters["ESTILO_RELATORIO"].Value = "S";
                                     }
                                     else
                                     {
                                         e.Parameters["ESTILO_RELATORIO"].Value = "N";
                                     }
                                 }
                                 else
                                 {
                                     if ((Parametros_Relatorio != null) && (Parametros_Relatorio.Count > 0))
                                     {
                                         if (Parametros_Relatorio.ContainsKey(e.Parameters[x].Name.Trim().ToUpper().ToString()))
                                         {
                                             e.Parameters[x].Value = Parametros_Relatorio[e.Parameters[x].ToString()];
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     catch { }
 }
Exemplo n.º 13
0
        public static string Gravar(TRegistro_ApontamentoProducao val,
                                    BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_ApontamentoProducao qtb_apontamento = new TCD_ApontamentoProducao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_apontamento.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_apontamento.Banco_Dados = banco;
                }
                if (val.LFormulaApontamento.Count < 1)
                {
                    throw new Exception("Erro: Não existe formula apontamento para processar apontamento produção.");
                }
                //Verificar custo fixo
                string moeda_padrao = TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", val.Cd_empresa, qtb_apontamento.Banco_Dados);
                if (moeda_padrao.Trim().Equals(string.Empty))
                {
                    throw new Exception("Erro gravar apontamento produção: falta configurar moeda padrão para realizar calculo do custo fixo.");
                }
                //Gravar apontamento producao
                val.St_registro    = "1";
                val.Id_apontamento = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(qtb_apontamento.Gravar(val), "@P_ID_APONTAMENTO"));
                List <TRegistro_CustoFixo_Direto> lCustoMoeda = val.LFormulaApontamento[0].LCustoFixo.FindAll(p => p.Cd_moeda.Trim() != moeda_padrao.Trim());
                lCustoMoeda.ForEach(p =>
                {
                    //Verificar se existe cotacao para este custo
                    object obj = new TCD_CotacaoMoeda(qtb_apontamento.Banco_Dados).BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_moeda",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_moeda.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_moedaresult",
                            vOperador = "=",
                            vVL_Busca = "'" + moeda_padrao.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.data",
                            vOperador = "=",
                            vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(val.Dt_apontamento.Value).ToString("yyyyMMdd")) + "'"
                        }
                    }, "1");
                    if (obj != null)
                    {
                        if (!obj.ToString().Equals("1"))
                        {
                            throw new Exception("Erro gravar apontamento produção: Não existe cotação para a moeda de origem " + p.Cd_moeda.Trim() + ", \r\n" +
                                                "moeda de destino " + moeda_padrao.Trim() + ", data de cotação " + val.Dt_apontamentostr.Trim());
                        }
                    }
                    else
                    {
                        throw new Exception("Erro gravar apontamento produção: Não existe cotação para a moeda de origem " + p.Cd_moeda.Trim() + ", \r\n" +
                                            "moeda de destino " + moeda_padrao.Trim() + ", data de cotação " + val.Dt_apontamentostr.Trim());
                    }
                });
                CalcularCustoMPD(val, qtb_apontamento.Banco_Dados);
                //Processar estoque produto acabado
                ProcessarEstoqueProdutoAcabado(val, val.Qtd_batch, val.Vl_custo_mpd, qtb_apontamento.Banco_Dados);
                //Processar estoque materia-prima
                TCN_FichaTec_MPrima.ProcessarEstoqueFichaTec_MPrima(val.LFormulaApontamento[0].LFichaTec_MPrima,
                                                                    val.Qtd_batch,
                                                                    val.Dt_apontamento,
                                                                    val.LFormulaApontamento[0].St_decomposicao,
                                                                    qtb_apontamento.Banco_Dados).ForEach(p => val.LApontamentoEstoque.Add(p));
                //Gravar apontamento X Estoque
                val.LApontamentoEstoque.ForEach(p =>
                {
                    p.Id_apontamento = val.Id_apontamento;
                    TCN_Apontamento_Estoque.GravarApontamentoEstoque(p, qtb_apontamento.Banco_Dados);
                });


                //Gravar apontamento X Custo Fixo
                val.LFormulaApontamento[0].LCustoFixo.ForEach(p =>
                {
                    TCN_Apontamento_CustoFixo.GravarApontamentoCustoFixo(
                        new TRegistro_Apontamento_CustoFixo()
                    {
                        Id_apontamento   = val.Id_apontamento,
                        Id_custo         = p.Id_custo,
                        Vl_custo         = p.Vl_custo_calculado,
                        Indice_monetario = p.Indice_monetario
                    }, qtb_apontamento.Banco_Dados);
                });
                //Gravar Formula Materia Prima
                val.LFormulaApontamento[0].LFichaTec_MPrima.ForEach(p =>
                                                                    TCN_Apontamento_MPrima.Gravar(new TRegistro_Apontamento_MPrima()
                {
                    Id_apontamento       = val.Id_apontamento.HasValue ? val.Id_apontamento.Value : decimal.Zero,
                    Id_mprima            = decimal.Zero,
                    Cd_produto           = p.Cd_produto,
                    Cd_unidade           = p.Cd_unidade,
                    Cd_local             = p.Cd_local,
                    Qtd_produto          = p.Qtd_produto,
                    Pc_quebratec         = p.Pc_quebra_tec,
                    Id_apontamentomprima = p.Id_apontamentomprima
                }, qtb_apontamento.Banco_Dados));
                if (val.Id_ordem != null)
                {
                    //Gravar Apontamento X Ordem de Producao
                    TCN_OrdemProducao_X_Apontamento.Gravar(
                        new TRegistro_OrdemProducao_X_Apontamento()
                    {
                        Id_apontamento = val.Id_apontamento,
                        Id_ordem       = val.Id_ordem
                    }, qtb_apontamento.Banco_Dados);
                }
                //Gravar Mov Rastreabilidade
                val.lMov.ForEach(p =>
                {
                    p.Cd_empresa     = val.Cd_empresa;
                    p.Id_apontamento = val.Id_apontamento;
                    TCN_MovRastreabilidade.Gravar(p, qtb_apontamento.Banco_Dados);
                });
                if (val.Id_ordem.HasValue)
                {
                    //Buscar Nº Série
                    TList_SerieProduto lSerie =
                        new TCD_SerieProduto(qtb_apontamento.Banco_Dados).Select(
                            new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.id_ordem",
                            vOperador = "=",
                            vVL_Busca = val.Id_ordemstr
                        }
                    }, 0, string.Empty);
                    //Processar Numero se Serie
                    if (lSerie.Count > 0)
                    {
                        lSerie.ForEach(p =>
                        {
                            p.St_registro = "P";
                            TCN_SerieProduto.Gravar(p, qtb_apontamento.Banco_Dados);
                        });
                    }
                }
                if (st_transacao)
                {
                    qtb_apontamento.Banco_Dados.Commit_Tran();
                }
                return(val.Id_apontamentostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_apontamento.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro: " + ex.Message);
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_apontamento.deletarBanco_Dados();
                }
            }
        }