Fórum
Ver pergunta

Referêcia StdBE100   

162 visualizações
0
0

Boa tarde,

Tenho uma questão relativamente à referência StdBE100.

Na StdBE900, na função StdBERegistoUtil() existiam 6 campos (getcampos(),setcampos(),getchaves(), etc.).

Na nova referência da V10 (StdBE100), esses campos penso que deixaram de existir.

O que é que agora substitui esses mesmos campos?

 public static StdBERegistoUtil PreparaRegistoUtil(StdBERegistoUtil regUtil) {
if ((regUtil != null)) {
	StdBECampos campos = regUtil.get_Campos().CopiaCampos();
	regUtil.get_Campos().RemoveTodos();
	foreach (StdBECampo c in campos) {
		if ((c.Tipo != EnumTipoCampo.tcTimeStamp)) {
			StdBECampo cc = c;
			regUtil.get_Campos().Insere(ref cc);
		}
		else {
			Console.WriteLine(\"Ignorando campo \" + c.Nome + \"=\" + c.Valor.ToString());
		}
	}
	bool t = true;
	regUtil.set_EmModoEdicao(ref t);
	campos = null;
}
return regUtil;
}

 

Faça login para poder traduzir
V10
Web API
Marcado como spam
Criado há 4 anos e 2 semanas buildcode
b
buildcode Iniciante
Comentários
@buildcode Em que contexto estamos a falar? tens um exemplo?
4 anos e 2 semanas
sergiosereno
    @buildcode edita porfavor a questão e coloca lá esse codigo não em formato de imagem pf.
    4 anos e 2 semanas
    sergiosereno
      @sereno Já editei.
      4 anos e 2 semanas
      buildcode
        3 respostas
        0
        Resposta privada

        Na sua opinião qual seria a melhor referencia alternativa a ADODB ?

        Faça login para poder traduzir
        Marcado como spam
        Criado há 3 anos e 10 meses buildcode
        b
        buildcode Iniciante
          0
          Resposta privada
          internal void DumpConnectionProps( string file ){
                      System.IO.StreamWriter sw = new System.IO.StreamWriter(file);
                      
                      for (int i = 0; i < mBSO.DSO.BDAPL.Properties.Count; i++) {
                          sw.Write(mBSO.DSO.BDAPL.Properties[i].Name + "=");
                          if (mBSO.DSO.BDAPL.Properties[i].Value != null) {
                              sw.Write(mBSO.DSO.BDAPL.Properties[i].Value.ToString());
                          }
                          sw.WriteLine();
                      }
                  }

          Neste exemplo, o campo Properties está a dar erro porque BDAPL pertence a System.Data.Common.DbConnection e na V9 não dá erro porque pertence a ADODB.Connection.

          Faça login para poder traduzir
          Marcado como spam
          Criado há 4 anos e 2 semanas buildcode
          b
          buildcode Iniciante
            1
            Resposta privada

            Olá, nada se perdeu, apenas mudaram as propriedades por causa da interoperabilidade, exemplo:

            using Primavera.Extensibility.Base.Editors;
            using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
            using StdBE100;
            using static StdBE100.StdBETipos;
            
            namespace ExtensibilityProject5.Base
            {
                public class UiFichaArtigos : FichaArtigos
                {
                    public override void ErroAoGravar(string Artigo, ExtensibilityEventArgs e)
                    {
                        base.ErroAoGravar(Artigo, e);
            
                        StdBERegistoUtil regUtil = new StdBERegistoUtil();
            
                        StdBECampos campos = regUtil.Campos.CopiaCampos();
                        regUtil.Campos.RemoveTodos();
                        foreach (StdBECampo c in campos)
                        {
                            if ((c.Tipo != EnumTipoCampo.tcTimeStamp))
                            {
                                StdBECampo cc = c;
                                regUtil.Campos.Insere(ref cc);
                            }
                            else
                            {
                            }       
                        }
            
                    }
                }
            }

             

            Faça login para poder traduzir
            Marcado como spam
            Criado há 4 anos e 2 semanas sergiosereno
            sergiosereno Most Valuable Professional
              Comentários
              A referência ADODB.dll não existe na V10? Ou é suposto usar a da V9?
              4 anos e 2 semanas
              buildcode
                ADODB é uma referencia a tecnologia VB em .NET isso já não existe.
                4 anos e 2 semanas
                sergiosereno
                  Então qualquer uso dessa referência tem de ser eliminado? Tem um exemplo em cima que enviei ontem.
                  4 anos e 1 semana
                  buildcode
                    Sim convém migrar esse código.
                    4 anos e 1 semana
                    sergiosereno
                      Na sua opinião qual seria a melhor referencia alternativa a ADODB ?
                      3 anos e 10 meses
                      buildcode
                        @buildcode Pode marcar comigo uma sessão para exclareçer duvidas. https://calendly.com/tecintex/
                        3 anos e 10 meses
                        sergiosereno