/// <summary> /// Create a new item with the minimal information. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CmdSave_Click(object sender, EventArgs e) { BasBEArtigo artigo = new BasBEArtigo(); BasBEArtigoMoeda artigoMoeda = new BasBEArtigoMoeda(); BasBEArtigoUnidade artigoUnidade = new BasBEArtigoUnidade(); artigo.Artigo = txtItem.Text; artigo.Descricao = txtDescription.Text; artigo.UnidadeBase = txtBaseUnit.Text; // Fill the default item information. PriEngine.Engine.Base.Artigos.PreencheDadosRelacionados(artigo); // Set the item prices for the selectc currency. artigoMoeda.Artigo = artigo.Artigo; artigoMoeda.Unidade = artigo.UnidadeBase; artigoMoeda.Moeda = txtCurrency.Text; artigoMoeda.PVP1IvaIncluido = false; artigoMoeda.PVP1 = 100; artigoUnidade.Artigo = artigo.Artigo; artigoUnidade.FactorConversao = 1; artigoUnidade.UnidadeDestino = artigo.UnidadeBase; artigoUnidade.UnidadeOrigem = artigo.UnidadeBase; // Create a new attach. StdPlatBE100.StdBEAnexo anexo = new StdPlatBE100.StdBEAnexo(); // The Attach ID. string anexoID = Guid.NewGuid().ToString(); anexo.IdAnexo = anexoID; anexo.Data = DateTime.Today; anexo.Tabela = StdPlatBE100.StdBETipos.EnumTabelaAnexos.anxArtigos; anexo.Chave = artigo.Artigo; anexo.Descricao = artigo.Descricao; anexo.Utilizador = PriEngine.Engine.Contexto.UtilizadorActual; anexo.Idioma = (int)PriEngine.Platform.Contexto.Utilizador.Cultura; anexo.Tipo = "IMG"; anexo.Web = true; anexo.FicheiroOrigem = @"c:\temp\img_test.png"; // Insert the a new attach. PriEngine.Platform.Anexos.Actualiza(anexo); // Update or insert a new item PriEngine.Engine.Base.Artigos.Actualiza(artigo); PriEngine.Engine.Base.ArtigosPrecos.Actualiza(artigoMoeda); PriEngine.Engine.Base.ArtigosUnidades.Actualiza(ref artigoUnidade); // Format the attach file. anexoID = "{" + anexoID + "}"; // Copy the file to the images folder. File.Copy(@"c:\temp\img_test.png", $@"C:\Program Files\PRIMAVERA\SG100\Dados\LE\ANEXOS\{anexoID}.png", true); }
private void TrataColuna_Artigo(int row) { try { bool artigoInjectado = false; string artigo = PSO.Utils.FStr(priGrelha1.GetGRID_GetValorCelula(row, colArtigo)); if (!string.IsNullOrWhiteSpace(artigo)) { if (BSO.Base.Artigos.Existe(artigo)) { BasBEArtigo beArtigo = BSO.Base.Artigos.Consulta(artigo); priGrelha1.SetGRID_SetValorCelula(row, colArtigo, beArtigo.Artigo.ToUpper()); priGrelha1.SetGRID_SetValorCelula(row, colDescArtigo, beArtigo.Descricao.ToUpper()); priGrelha1.SetGRID_SetValorCelula(row, colTipoEntidade, "Cliente"); priGrelha1.SetGRID_SetValorCelula(row, colTipoAnomalia, "Avaria"); priGrelha1.SetGRID_SetValorCelula(row, colQuantidade, 1); priGrelha1.SetGRID_SetValorCelula(row, colUnidade, beArtigo.UnidadeBase.ToUpper()); priGrelha1.SetGRID_SetValorCelula(row, colArmazem, beArtigo.ArmazemSugestao); TrataColuna_Armazem(row); artigoInjectado = true; } else { PSO.Dialogos.MostraErroSimples("Artigo inexistente!"); } } if (!artigoInjectado) { LimpaCamposGrelhaGrupoArtigo(row); } } catch (Exception ex) { LimpaCamposGrelhaGrupoArtigo(row); throw ex; } }
/// <summary> /// Update the Item in the group companies /// </summary> /// <param name="oERPContext"></param> /// <param name="Artigo"></param> /// <returns>List<String> of the updated companies</returns> internal static List <String> UpdateItem_GroupCompanies(ERPContext oERPContext, String Item) { Dictionary <String, String> groupCompanies = CrossCompany.Platform.GetGroupCompanies(oERPContext); List <String> updatedCompanies = new List <string>(); //Exit if no companies where found if (groupCompanies.Count == 0) { return(updatedCompanies); } groupCompanies.Remove(oERPContext.BSO.Contexto.CodEmp); foreach (string company in groupCompanies.Keys) { ErpBS oCompany = new ErpBS(); oCompany.AbreEmpresaTrabalho( StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial, company, Properties.Settings.Default.User, Properties.Settings.Default.Password); //Create or update the item BasBEArtigo oItem = oERPContext.BSO.Base.Artigos.Edita(Item); BasBEArtigoMoeda oItemPrices = oERPContext.BSO.Base.ArtigosPrecos.Edita(Item, "EUR", oERPContext.BSO.Base.Artigos.DaValorAtributo(Item, "UnidadeBase")); if (!oCompany.Base.Artigos.Existe(Item)) { oItem.EmModoEdicao = false; oItemPrices.EmModoEdicao = false; } oCompany.Base.Artigos.Actualiza(oItem); oCompany.Base.ArtigosPrecos.Actualiza(oItemPrices); updatedCompanies.Add(company); oCompany.FechaEmpresaTrabalho(); } return(updatedCompanies); }