Forum
See question

Criar documento via motores na v9   

135 views
3
0

Boa tarde

 

ao criar um documento via motores na v9 com a data de sistema da máquina em 2023 dá o erro Object reference not set to an instance of an object.

 

se for por VBA via BSO cria sem problemas com 2023 ou 2022

se for por VBA via Motor dá erro
se for por Motor alterando a data do pc para 2022 cria sem problemas

 

Sub vendas()

Dim Motor As ErpBS900.ErpBS
Set Motor = New ErpBS900.ErpBS

Dim DocumentoVenda As GcpBEDocumentoVenda

Set Motor = New ErpBS900.ErpBS
Set DocumentoVenda = New GcpBEDocumentoVenda

Motor.AbreEmpresaTrabalho tpProfissional, “DEMORGPD”, “USER”, “PASS”
DocumentoVenda.TipoDoc = “FA”
DocumentoVenda.Entidade = “SILVA”
DocumentoVenda.TipoEntidade = “C”
DocumentoVenda.Serie = “C”
DocumentoVenda.DataDoc = “2018-12-31”

Motor.Comercial.vendas.PreencheDadosRelacionados DocumentoVenda, vdDadosTodos
DocumentoVenda.DataDoc = “2018-12-31”
Motor.Comercial.vendas.AdicionaLinha DocumentoVenda, “A0001”, 4, “A1”
Motor.Comercial.vendas.AdicionaLinha DocumentoVenda, “Pack02”, 2, “A2”
Motor.Comercial.vendas.Actualiza DocumentoVenda

Set DocumentoVenda = Nothing
End Sub

Faça login para poder traduzir
Integração
Marked as spam
Created 1 year and 3 months ago miguelmartins-2
Comments
Boa noite Estou exactamente com o mesmo problema! Versão BAS 09.1510.1233 Versão GCP 09.1510.2358 A aplicação externa que utiliza o motor esteve a funcionar normalmente até 2022-12-31 23:52:11 a gerar documentos de venda (data/hora do último documento) A partir do momento que a data alterou para 2023 passou a devolver o erro indicado "Object reference not set to an instance of an object" Até ao momento não consegui encontrar a solução para o problema!
1 year and 3 months ago
vitormartins
    Bom dia, Estou exactamente com o mesmo problema!
    1 year and 3 months ago
    rodrigolopes
      Bom dia, também estamos com o mesmo problema.
      1 year and 3 months ago
      nelsoncosta
        Boa tarde, Penso que o problema terá a ver com a dll Primavera.TaxCV
        1 year and 3 months ago
        ngelafrazo
          Adicionei a seguinte linha de codigo: motor.TaxAuthorityPortugalManager.Platform = plataforma; Já funcionou.
          1 year and 3 months ago
          rodrigolopes
            Com essa linha efetivamente resolve o problema, sem ter que se atualizar o ERP. Obrigado.
            1 year and 3 months ago
            sergioferreira
              Pois eu queria actualizando o ERP não ter de colocar a linha, já vi que não é possível, pelo menos por enquanto segundo o suporte
              1 year and 3 months ago
              miguelmartins-2
                olá, Não consegui adicionar a linha motor.TaxAuthorityPortugalManager.Platform = plataforma; Diz que TaxAuthorityPortugalManager is not a member de ErpBS. Podem exemplificar como fizeram? Foi apos AbreEmpresaTrabalho
                1 year and 3 months ago
                lilianamatos
                  Talvez seja útil... Adicionar a ref StdPlatBS900 e o código em baixo, pode ser depois do AbreEmpresaTrabalho Dim plataforma As StdPlatBS Dim objConfApl As StdBSConfApl Dim objTrans As StdBETransaccao Dim eTipo As EnumTipoPlataforma Set plataforma = New StdPlatBS Set objConfApl = New StdBSConfApl Set objTrans = New StdBETransaccao objConfApl.AbvtApl = "ERP" objConfApl.Instancia = "DEFAULT" objConfApl.LicVersaoMinima = "9.00" eTipo = tpEmpresarial plataforma.AbrePlataformaEmpresa "DEMO", objTrans, objConfApl, eTipo, vbNullString oMotor.TaxAuthorityPortugalManager.Platform = plataforma
                  1 year and 3 months ago
                  rosindobandeira
                    4 answers
                    0
                    Private answer

                    Alguém teve o mesmo problema na v10? Estou com o mesmo erro na série 2023.

                    Não encontrei nada relativamente à solução da v9 "motor.TaxAuthorityPortugalManager.Platform = plataforma;" na v10.

                    Alguém consegue ajudar?

                     

                    Obrigado!

                    Faça login para poder traduzir
                    Marked as spam
                    Created 1 year and 2 months ago joomota
                    j
                    joomota Iniciante
                      Comments
                      resolvido. Eram algumas variáveis das linhascompras que agora não podem ir a null.
                      1 year and 2 months ago
                      joomota
                        3
                        Private answer

                        Adicionei a seguinte linha de codigo:

                        motor.TaxAuthorityPortugalManager.Platform = plataforma;

                        Já funcionou.

                        Faça login para poder traduzir
                        Marked as spam
                        Created 1 year and 3 months ago rodrigolopes
                        r
                        rodrigolopes Responsiveness Member
                          Comments
                          A minha versão de Primavera.TaxCV.dll é 9.1510.0000.0326 Não tenho atualizações do erp disponiveis. Como é que conseguiram a versão 0341?
                          1 year and 3 months ago
                          vitormartins
                            Confirmo que resolveu o problema. Muito obrigado!
                            1 year and 3 months ago
                            nelsoncosta
                              0
                              Private answer

                              Este é um Exemplo de Teste de Criação de Documentos de Venda, usando c#

                               

                              Err_ = String.Empty;
                              string Result = "";
                              
                              if (!bso.Contexto.EmpresaAberta)
                                  LigarMotorEmpresa(Empresa, out Err_);
                              
                              Interop.GcpBE900.GcpBEDocumentoVenda doc_ = null;
                              
                              try
                              {
                                  //for (int x = 1; x < 5001; x++)
                                  //{
                                  doc_ = new Interop.GcpBE900.GcpBEDocumentoVenda();
                                  doc_.set_TipoEntidade("C");
                                  doc_.set_Cambio(1);
                                  doc_.set_Tipodoc("ECL");
                                  doc_.set_Moeda("AKZ");
                                  doc_.set_CondPag("1");
                                  doc_.set_Serie(bso.Comercial.Series.DaSerieDefeito("V", "ECL"));
                                  doc_.set_NumDoc(bso.Comercial.Series.ProximoNumero("V", doc_.get_Tipodoc(), doc_.get_Serie(), true));
                                  doc_.set_Filial("000");
                                  doc_.set_Entidade(Entidade);
                                  doc_.set_DataDoc(DateTime.Now);
                                  doc_.set_DataVenc(DateTime.Now);
                              
                                  //for (int i = 1; i < 5; i++)
                                  //{
                                  bso.Comercial.Vendas.AdicionaLinha(doc_, Artigo, Quantidade, 
                                      bso.Comercial.Armazens.DevolvePrimeiroArmazem(), 
                                      bso.Comercial.Armazens.DevolvePrimeiroArmazem(), Preco, 0);
                                  //}
                                  bso.Comercial.Vendas.PreencheDadosRelacionados(doc_);
                              
                                  bso.Comercial.Vendas.Actualiza(doc_, Err_);
                              
                                  Result += doc_.get_Tipodoc() + " " + doc_.get_Serie() + "/" + doc_.get_NumDoc();
                                  //}
                              }
                              catch (Exception ex)
                              {
                                  Err_ += GetType().Name + Environment.NewLine + System.Reflection.MethodBase.GetCurrentMethod().Name + Environment.NewLine +Environment.NewLine + ex.Message + Environment.NewLine;
                                  wLog.WriteLog("WCF Service", Environment.MachineName, "Erro ERP v9: " + ex.Message, GetType().Name, System.Reflection.MethodBase.GetCurrentMethod().Name, Cnf._Log, Cnf._SQLSrv, "APP", Cnf._SQLUser, Cnf._SQLPass, "LogAPP");
                              }
                              finally
                              {
                                  if (doc_ != null)
                                      Marshal.ReleaseComObject(doc_);
                                  doc_ = null;
                              }
                              
                              return Result;
                              

                               

                              Faça login para poder traduzir
                              Marked as spam
                              Created 1 year and 3 months ago joodiniz-2
                              joodiniz-2 Iniciante
                                0
                                Private answer

                                Qual a Localização da Empresa, qual a sede fiscal?

                                Faça login para poder traduzir
                                Marked as spam
                                Created 1 year and 3 months ago joodiniz-2
                                joodiniz-2 Iniciante
                                  Comments
                                  Portugal continental
                                  1 year and 3 months ago
                                  miguelmartins-2
                                    Já configurou a comunicação de Séries?
                                    1 year and 3 months ago
                                    joodiniz-2
                                      No nosso caso, até para documentos internos, como, por exemplo, encomendas, temos este problema.
                                      1 year and 3 months ago
                                      nelsoncosta
                                        Está a tentar via VBA ou via C# .NET???
                                        1 year and 3 months ago
                                        joodiniz-2
                                          Penso que como estou a testar é indiferente. a si não lhe dá erro?
                                          1 year and 3 months ago
                                          miguelmartins-2