| ♥ 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? Marcado como spam |
| 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. Marcado como spam |