Fórum
Ver pergunta

Converter Documentos de Vendas por API V9   

101 visualizações
1
0

Estou a desenvolver um mecanismo de integração do Guias de Transporte através dos motores e pretendo automaticamente converter a GT em Fatura.

Na KnowledgeBase há um artigo antigo que exemplifica como fazer, mas era para a v7.50 e em ambiente VBA.

Como implementar em C#?

Tenho já o seguinte codigo:

 

private void RG_ConverteDoc(string strID, string strTipoDoc, string strSerie, DateTime dtData)
        {
            System.Type objType = System.Type.GetTypeFromProgID("GcpUS900.tpDocsConverter");
            dynamic objDocsConverter = System.Activator.CreateInstance(objType);

            Collection colDocsVenda = new Collection();
            Collection colTipoDocDestino = new Collection();
            Collection colSerieDocDestino = new Collection();
            string strDocumentosGerados = "";
            
            objDocsConverter.IDDoc = strID;
            
            colDocsVenda.Add(objDocsConverter);
            colTipoDocDestino.Add(strTipoDoc);
            colSerieDocDestino.Add(strSerie);
            
            BSO.Comercial.Vendas.ConverteDocs(colDocsVenda, colTipoDocDestino, colSerieDocDestino, false, null, true, true, strDocumentosGerados, 2, dtData, true);
        }

Para já tenho 2 desafios: o componente GCPUS900 não tem interop e por isso não o consigo  instanciar.

Segundo, na execução do ConverteDocs diz que falta a Collection está definida numa assembly que não está referenciada, mas eu tenho referencia ao VBA.

“Error CS0012 The type ‘Collection’ is defined in an assembly that is not referenced. You must add a reference to assembly ‘VBA, Version=6.0.0.0, Culture=neutral, PublicKeyToken=e076e239d0e78a42’.”

Alguma ajuda?

Faça login para poder traduzir
Integração
Marcado como spam
Criado há 5 anos e 5 meses antniomdias
a
antniomdias Responsiveness Member
1 respostas
0
Resposta privada

Primeiro o GCPUS e outros XXXUS que tens nas aplicações primavera não são para ser usados. Essas DLL's são o UI dos modulos, por isso não tens interop.

A segunda é um problema de compatibilidade de versões, experimenta ver versão que tens e se ela está na pasta APL e se a versão é compativel.

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 5 meses sergiosereno
sergiosereno Most Valuable Professional