bool isArtigoConjunto(String artigo) { StdBELista tblArtigo = new StdBELista(); bool rv = false; try { tblArtigo = BSO.Consulta("select TipoComponente from Artigo where Artigo = '" + artigo + "'"); //alterar armazem dos artigos na linha if (tblArtigo.Vazia() == false) { rv = tblArtigo.DaValor <int>("TipoComponente") == 1 ? true : false; } } catch (Exception err) { PSO.Dialogos.MostraErro("[Consulta Artigo]: " + err.ToString()); rv = false; } return(rv); }
/// <summary> /// Get the list of companies. /// </summary> /// <returns>A dictionary containing [string CompanyCode, string CompanyDescription]</returns> public static Dictionary <string, string> GetGroupCompanies(ERPContext oERPContext) { Dictionary <string, string> Result = new Dictionary <string, string>(); StringBuilder sqlQry = new StringBuilder(); sqlQry.AppendLine("select e.Codigo, e.IDNome as Descricao, ce.Descricao as Categoria "); sqlQry.AppendLine("from {0}..empresas e "); sqlQry.AppendLine(" inner join {0}..categoriasempresas ce on e.categoria=ce.categoria "); sqlQry.AppendLine(" inner join {0}..empresas ea on ea.Categoria = ce.Categoria "); sqlQry.AppendFormat("where ea.codigo = '{0}' and e.TipoExercicio <> 'CONSO'", oERPContext.BSO.Contexto.CodEmp); string sqlQRYRun = string.Format(sqlQry.ToString(), Properties.Settings.Default.PRIEMPRE_DBNAME); StdBELista compList = oERPContext.BSO.Consulta(sqlQRYRun.ToString()); if (!compList.Vazia()) { while (!compList.NoFim()) { Result.Add(compList.Valor("Codigo"), compList.Valor("Descricao")); compList.Seguinte(); } } return(Result); }
private void grdDocuments_ActualizaDados(object Sender, EventArgs e) { lstDocuments = CrossCompany.BusinessProcesses.GetDocumentsToImport(ERPContext); if (lstDocuments != null && !lstDocuments.Vazia()) { grdDocuments.DataBind(lstDocuments); } }
private void grdMainGrid_ActualizaDados(object Sender, EventArgs e) { StdBELista lstGlobalPosition = CrossCompany.PayablesReceivables.GetGlobalPosition(ERPContext, ctlEntity.TipoEntidadeCombo, ctlEntity.ValorRestricao, ctlEntity.EntidadesAssociadas); if (!lstGlobalPosition.Vazia()) { grdMainGrid.DataBind(lstGlobalPosition); } }
internal static Dictionary <String, int> CheckPendingDocuments(ERPContext oERPContext) { Dictionary <String, int> result = new Dictionary <string, int>(); Dictionary <String, String> groupCompanies = CrossCompany.Platform.GetGroupCompanies(oERPContext); //Exit if no companies where found if (groupCompanies.Count == 0) { return(result); } result.Add("Purchases", 0); result.Add("Sales", 0); //Load the documents to import from all the group companies groupCompanies.Remove(oERPContext.BSO.Contexto.CodEmp); foreach (string groupCompany in groupCompanies.Keys) { ErpBS oCompany = new ErpBS(); oCompany.AbreEmpresaTrabalho( StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial, groupCompany, Properties.Settings.Default.User, Properties.Settings.Default.Password); String strSQL = String.Format( "select sum(pur) Purchases, sum(sls) Sales " + "from(" + " select count(*) pur, 0 sls from cabecdoc cd inner join CabecDocStatus cds on cds.IdCabecDoc=cd.Id left join documentosvenda dv on cd.tipodoc = dv.documento " + " where dv.cdu_exportagrupo = 1 AND cd.cdu_exportado = 0 AND cds.Anulado=0 AND cd.entidade = '{0}' " + " UNION ALL " + " select 0 pur, count(*) pur from cabeccompras cc inner join CabecComprasStatus ccs on ccs.IdCabecCompras=cc.Id left join documentoscompra dc on cc.tipodoc = dc.documento " + " where dc.cdu_exportagrupo = 1 AND isnull(cc.cdu_exportado, 0) = 0 AND ccs.Anulado=0 AND cc.entidade = '{0}' " + " ) as tmp" , oERPContext.BSO.Contexto.CodEmp); StdBELista lstPendDocs = oCompany.Consulta(strSQL); if (!lstPendDocs.Vazia()) { if (lstPendDocs.DaValor <int>("Purchases") > 0) { result["Purchases"] += lstPendDocs.DaValor <int>("Purchases"); } if (lstPendDocs.DaValor <int>("Sales") > 0) { result["Sales"] += lstPendDocs.DaValor <int>("Sales"); } } } return(result); }
public override void ArtigoIdentificado(string Artigo, int NumLinha, ref bool Cancel, ExtensibilityEventArgs e) { bool inserido = false; for (int i = 0; i < lista_artigo.Count; i++) { if (lista_artigo[i].artigo == Artigo) { inserido = true; PSO.Dialogos.MostraAviso("O Artigo " + Artigo + " Ja foi inserido!"); Cancel = true; } } if (inserido == false) { if (isArtigoConjunto(Artigo) == true) { artigo_conjunto = new ArtigoConjunto();; artigo_conjunto.artigo = Artigo; artigo_conjunto.descricao = this.DocumentoVenda.Linhas.GetEdita(NumLinha).Descricao; artigo_conjunto.linha_inicial = NumLinha; StdBELista tblArtigo = new StdBELista(); try { tblArtigo = BSO.Consulta("select count(*) as total from ComponentesArtigos where ArtigoComposto = '" + Artigo + "'"); //alterar armazem dos artigos na linha if (tblArtigo.Vazia() == false) { artigo_conjunto.total_linha = tblArtigo.DaValor <int>("total"); artigo_conjunto.linha_final = artigo_conjunto.linha_inicial + artigo_conjunto.total_linha; lista_artigo.Add(artigo_conjunto); } } catch (Exception err) { PSO.Dialogos.MostraErro("[ArtigoIdentificado]: " + err.ToString()); } } } base.ArtigoIdentificado(Artigo, NumLinha, ref Cancel, e); }
private static String GetCompanyCategory(ref ERPContext oERPContext) { String retValue = ""; String sqlQRY = string.Format("" + "select ce.descricao Categoria " + "from {0}..empresas e " + " left join {0}..categoriasempresas ce on e.categoria=ce.categoria " + "where e.codigo='{1}'", Properties.Settings.Default.PRIEMPRE_DBNAME, oERPContext.BSO.Contexto.CodEmp); StdBELista listQueryResults = oERPContext.BSO.Consulta(sqlQRY); if (!listQueryResults.Vazia()) { retValue = listQueryResults.Valor("Categoria"); } return(retValue); }
public static Lib_Primavera.Model.RespostaErro login(Model.Cliente cli) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); try { if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true) { StdBELista cliente = PriEngine.Engine.Consulta("SELECT Cliente,CDU_Password from Clientes where CDU_Email='" + cli.Email + "';"); if (cliente.Vazia()) { erro.Erro = -1; erro.Descricao = "Email Errado"; } else { string inserida = PriEngine.Platform.Criptografia.Encripta(cli.Password, 50); if (inserida == cliente.Valor("CDU_Password")) { erro.Erro = 0; erro.Descricao = cliente.Valor("Cliente"); } else { erro.Erro = -1; erro.Descricao = "Password Errada"; } } return(erro); } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return(erro); } } catch (Exception ex) { erro.Erro = 1; erro.Descricao = ex.Message; return(erro); } }
/// <summary> /// Check for available Data Model updates in resources and apply them, if any. /// </summary> /// <param name="companyObject"></param> private static void DataUpgrade(ref ErpBS companyObject) { try { StdBELista dbVersion = companyObject.Consulta("select Versao from VersaoModulo where Modulo = 'XME'"); string currentVersion = dbVersion.Vazia() ? "0" : dbVersion.DaValor <String>("Versao"); int intVersion = Convert.ToInt32(currentVersion) + 1; //Apply the upgrade scripts from resources string sqlUPG = Properties.Resources.ResourceManager.GetString(String.Format("UPG_{0}", intVersion.ToString()), CultureInfo.InvariantCulture); while (!String.IsNullOrEmpty(sqlUPG)) { companyObject.DSO.ExecuteSQL(sqlUPG); intVersion += 1; sqlUPG = Properties.Resources.ResourceManager.GetString(String.Format("UPG_{0}", intVersion.ToString()), CultureInfo.InvariantCulture); } //Update the version intVersion -= 1; if (intVersion > Convert.ToInt32(currentVersion)) { string sqlQRY = string.Format("" + "if exists(select * from VersaoModulo where Modulo = 'XME') " + " update VersaoModulo set Versao = '{0}' where Modulo = 'XME' " + "else " + " insert into VersaoModulo(Modulo, Versao) values('XME', '{0}')" , intVersion.ToString()); companyObject.DSO.ExecuteSQL(sqlQRY); } } catch { //Do nothing } }
public override void ValidaLinha(int NumLinha, ExtensibilityEventArgs e) { StdBELista tblArtigoMoeda = new StdBELista(); string artigoLinha = ""; string armazemSugestao = ""; string localSugestao = ""; bool calcula = false; StdBELista tblArtigo = new StdBELista(); StdBELista tblDocumento = new StdBELista(); linha = this.DocumentoVenda.Linhas.GetEdita(NumLinha); try { documento = this.DocumentoVenda.Tipodoc; tblDocumento = BSO.Consulta("select ArmazemSugestao, LocalSugestao from SeriesVendas where TipoDoc = '" + documento + "'"); //alterar armazem dos artigos na linha if (tblDocumento.Vazia() == false) { armazemSugestao = tblDocumento.DaValor <string>("ArmazemSugestao"); localSugestao = tblDocumento.DaValor <string>("LocalSugestao"); string linhaval = linha.Armazem; quantidade = linha.Quantidade; if (armazemSugestao.Length > 0) { linha.Armazem = armazemSugestao; linha.Localizacao = localSugestao; } } } catch (Exception err) { PSO.Dialogos.MostraErro("[Consulta Documento]: " + err.ToString()); } try { cliente = this.DocumentoVenda.Entidade; artigoLinha = linha.Artigo; tblArtigo = BSO.Consulta("select * from Artigo where Artigo = '" + artigoLinha + "'"); calcula = (bool)tblArtigo.Valor("CDU_Calculo"); tblArtigoMoeda = BSO.Consulta("select * from ArtigoMoeda where Artigo = '" + artigoLinha + "'"); } catch (Exception err) { PSO.Dialogos.MostraErro("[Consulta Artigo e ArtigoMoeda]: " + err.ToString()); } StdBELista tblDesconto = null; float descValor = 0; if (tblArtigoMoeda != null) { pvp1 = tblArtigoMoeda.DaValor <float>("PVP1"); float precBase = float.Parse(linha.CamposUtil["CDU_PrecBase"].Valor.ToString()); if (precBase == 0 || precBase == pvp1) { linha.CamposUtil["CDU_PrecBase"].Valor = pvp1; } } if (tblArtigo != null) { if (calcula == true) { artigo = artigoLinha; try { tblDesconto = BSO.Consulta("select * from TDU_DescCliente where CDU_Cliente = '" + cliente + "' and CDU_Artigo = '" + artigo + "'"); if (tblDesconto.Vazia() == false) { descValor = tblDesconto.DaValor <float>("CDU_Desconto"); } else { descValor = 0; } } catch (Exception err) { tblDesconto = null; descValor = 0; PSO.Dialogos.MostraErro("[Consulta Desconto cliente]: " + err.ToString()); } if (tblDesconto != null) { float linhaval = float.Parse(linha.CamposUtil["CDU_DescVal"].Valor.ToString()); if (linhaval == 0 || linhaval == descValor) { linha.CamposUtil["CDU_DescVal"].Valor = descValor; } } getLinhaValores(NumLinha); linha.PrecUnit = pbase - desconto - comp; } } int size = this.DocumentoVenda.Linhas.NumItens; for (int x = 0; x < lista_artigo.Count; x++) { ArtigoConjunto a = lista_artigo[x]; if (NumLinha >= a.linha_inicial && NumLinha <= a.linha_final) { if (size >= a.linha_final) { for (int i = a.linha_inicial; i <= a.linha_final; i++) { artigoLinha = DocumentoVenda.Linhas.GetEdita(i).Artigo; DocumentoVenda.Linhas.GetEdita(i).Quantidade = quantidade; } } } } base.ValidaLinha(NumLinha, e); }
public override void ValidaLinha(int NumLinha, ExtensibilityEventArgs e) { base.ValidaLinha(NumLinha, e); try { //Apenas valida documentos financeiros ou de transporte if ((BSO.Compras.TabCompras.DaValorAtributo(DocumentoCompra.Tipodoc, "TipoDocumento") < 3)) { return; } //Validações dos fitofarmacêuticos if ((bool)(BSO.Base.Artigos.DaValorAtributo(DocumentoCompra.Linhas.GetEdita(NumLinha).Artigo, "CDU_Fitofarmaceutico"))) { //Obrigatório indicar o número de autorização de venda if (string.IsNullOrEmpty(DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_NumeroAutorizacao"].Valor.ToString())) { throw new Exception("O número de autorização de venda é obrigatório nos produtos fitofarmacêuticos."); } //Obrigatório indicar o lote if (DocumentoCompra.Linhas.GetEdita(NumLinha).Lote.Equals("<L01>") || string.IsNullOrEmpty(DocumentoCompra.Linhas.GetEdita(NumLinha).Lote)) { throw new Exception("É obrigatório indicar o lote dos produtos fitofarmacêuticos."); } //A compra a entidades não autorizadas implica a identificação do armazém origem //O armazém origem tem de pertencer ao fornecedor if (!(bool)(BSO.Base.Fornecedores.DaValorAtributo(DocumentoCompra.Entidade, "CDU_OperadorFitofarmaceuticos") ?? false)) { //Se não foi definido nenhum armazém de proveniencia associa o primeiro do fornecedor (caso exista) if (string.IsNullOrEmpty((DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_ArmazemProveniencia"].Valor ?? string.Empty).ToString())) { StdBELista LstArmProveniencia = BSO.Consulta(string.Format("select top(1) [CDU_Codigo] from TDU_ArmazensProveniencia where [CDU_CodFornecedor] = '{0}'", DocumentoCompra.Entidade)); if (!LstArmProveniencia.Vazia()) { DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_ArmazemProveniencia"].Valor = LstArmProveniencia.Valor("CDU_Codigo"); } else { throw new Exception("Não existe nenhum armazém de proveniência associado a este fornecedor. A compra de produtos fitofarmacêuticos a entidades isentas de autorização implica a identificação do armazém de proveniência."); } } //Valida se o armazém de proveniência pertence ao fornecedor StdBECamposChave objCampoChave = new StdBECamposChave(); objCampoChave.AddCampoChave("CDU_Codigo", DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_ArmazemProveniencia"].Valor); if (!BSO.TabelasUtilizador.DaValorAtributo("TDU_ArmazensProveniencia", objCampoChave, "CDU_CodFornecedor").Equals(DocumentoCompra.Entidade)) { throw new Exception("O armazém de proveniência não pertence à entidade do documento."); } } } } catch (Exception ex) { PSO.Dialogos.MostraErro(ex.Message, StdPlatBS100.StdBSTipos.IconId.PRI_Exclama); DocumentoCompra.Linhas.Remove(NumLinha); } }