Thursday 9 March 2017

Usecomforexcelexport

Importation et exportation pour Office en GP 2013 Ils avaient utilisé Excel Based Budgeting dans GP 2010 avec succès 8211 principalement pour importupdate les budgets existants en fonction de leurs tableurs existants. Ce qui a réussi dans GP 2010, wasn8217t travaillant dans GP 2013 8211 spécifiquement les cellules qui étaient basées sur des formules n'étaient pas venir correctement comme ils l'ont fait en GP 2010. Après un peu d'expérimentation, nous avons trouvé qu'une formule telle que La raison est que la Code a interprété la formule comme le montant littéral. Le 822018221 provient du premier calcul de cellule dans 8220D18221. Changer la formule à D3D2D1 a abouti à une valeur de 3.00 de sorte que semblait être le modèle. Donc, ce qui a changé entre les versions de faire cette échouer de cette manière Ce qui a changé et pourquoi Il a été le changement de Dynamics à l'aide de l'automatisation COM d'Excel à l'aide de l'OpenXML SDK pour Microsoft Office. Dans les versions précédentes de l'exportation de l'importation d'amplification 8211 de Dynamics vers les applications Office (Excel dans cet exemple), il est possible d'utiliser des appels COM natifs à Excel à l'aide de Dexterity. Cela a fonctionné assez bien sur plusieurs versions de Dynamics et Excel, alors pourquoi le changement dans GP 2013 La plus grande raison 8211 probablement la seule raison 8211 est pour le client Web Microsoft Dynamics GP. Du point de vue du client Web, COM isn8217t est pris en charge (mais peut toujours fonctionner) par Microsoft, car la façon dont le client Web s'exécute isn8217t est compatible avec une interface utilisateur et affecte également les objets instanciés par l'exécution. Comme il arrive, nous venons d'avoir un cas aujourd'hui où un ISV était l'automatisation de Microsoft Word. L'objet était d'ouvrir un Word existant, puis de remplacer 8220tags8221 dans le document par des valeurs substituées. Le code ISV utilisait un code similaire à: qui sélectionnerait le contenu du document Word. Sous le client de bureau, cela a fonctionné très bien (comme avec les versions précédentes de Dynamics GP). Mais sous le client Web, cela crée une exception. Le document ouvre bien et les autres appels de méthode ont fonctionné, cette méthode n'a pas. Donc, la question est 8211 est le client coincé Comme il s'avère, il semble que nous avons pu trouver une solution pour eux. Comme j'ai examiné le code, j'ai remarqué qu'il y avait un contrôle 8220if8221 qui didn8217t appeler les routines OpenXML. Intrigué, j'ai fait des recherches plus loin et j'ai trouvé ce qui semble être un commutateur Dex. ini non documenté qui affecte ce comportement. Avertissement: Il s'agit d'un commutateur ini non documenté. Son utilisation n'est pas testée ou prise en charge, utilisez à vos propres risques, votre kilométrage peut varier. L'utilisation de ce commutateur sur le client Web peut également enfreindre votre accord de licence pour MS WordExcel. Nous avons ajouté le commutateur Dex. ini: Cela indique à GP d'utiliser les anciennes routines COM pour les deux Import export d'ampères au lieu d'utiliser les routines SDK OpenXML. Je ne suis pas complètement à la recherche de l'application entière, mais de ce que je pourrais dire est que cela a affecté les routes d'exportation d'ampli d'importation communes, ce qui signifie qu'elle affecterait SmartList exportant ainsi que le budget basé sur Excel. Après avoir effectué cette modification (et GP redémarré), l'importation du budget Excel a fonctionné comme prévu. À titre de test, nous avons exporté une liste de transactions GL. Il a exporté, mais nous avons remarqué que c'était plus lent que d'habitude et que les informations sur la devise étaient maintenant formatées avec des symboles. GP 2013 importe maintenant les exportations vers Excel à l'aide du SDK OpenXML La méthode SDK OpenXML est beaucoup plus rapide que l'utilisation de COM L'exportation à l'aide d'OpenXML SDK perd la mise en forme des devises car le champ est exporté sous forme de décimale et non de devise. L'utilisation du SDK OpenXML signifie qu'Excel (ou Word) n'a plus besoin d'être installé sur la machine pour lire les fichiers. Patrick Senior Escalation Engineer, GP PS: I8217ll le mentionner encore: Attention: Il s'agit d'un commutateur ini indocumenté. Son utilisation n'est pas testée ou prise en charge, utilisez à vos propres risques, votre kilométrage peut varier. L'utilisation de ce commutateur sur le client Web peut également enfreindre votre accord de licence pour MS WordExcel. Ils avaient utilisé Excel Based Budgeting dans GP 2010 avec succès - principalement pour importupdate budgets existants basés sur leurs tableurs existants. Ce qui a réussi dans GP 2010, n'a pas travaillé dans GP 2013 - spécifiquement les cellules qui étaient basées sur des formules n'étaient pas venir correctement comme ils l'ont fait en GP 2010. Après un peu d'expérimentation, nous avons trouvé qu'une formule telle que La raison est que le Code a interprété la formule comme le montant littéral. Le 1 provient du premier calcul de cellule dans D1. Changer la formule à D3D2D1 a abouti à une valeur de 3.00 de sorte que semblait être le modèle. Donc, ce qui a changé entre les versions de faire cette échouer de cette manière Ce qui a changé et pourquoi Il a été le changement de Dynamics à l'aide de l'automatisation COM d'Excel à l'aide de l'OpenXML SDK pour Microsoft Office. Dans les versions précédentes de Dynamics - importez l'exportation d'ampli vers les applications Office (Excel dans cet exemple) est effectuée en utilisant des appels COM natifs à Excel en utilisant Dextérité. Cela a fonctionné assez bien sur plusieurs versions de Dynamics et Excel, alors pourquoi le changement dans GP 2013 La raison principale - probablement la seule raison - est pour le client Web Microsoft Dynamics GP. Du point de vue du client Web, COM n'est pas pris en charge (mais peut toujours fonctionner) par Microsoft, car la façon dont le client Web s'exécute n'est pas compatible avec une interface utilisateur et affecte également les objets instanciés par l'exécution. Comme il arrive, nous venons d'avoir un cas aujourd'hui où un ISV était l'automatisation de Microsoft Word. L'objet était d'ouvrir un mot existant, puis de remplacer les balises du document par des valeurs substituées. Le code ISV utilisait un code similaire à: qui sélectionnerait le contenu du document Word. Sous le client de bureau, cela a fonctionné très bien (comme avec les versions précédentes de Dynamics GP). Mais sous le client Web, cela crée une exception. Le document ouvre bien et les autres appels de méthode ont fonctionné, cette méthode n'a pas. Donc, la question est - est le client coincé Comme il s'avère, il semble que nous avons pu trouver une solution pour eux. Comme je l'ai revu le code, j'ai remarqué qu'il y avait un chèque if qui n'a pas appelé les routines OpenXML. Intrigué, j'ai fait des recherches plus loin et j'ai trouvé ce qui semble être un commutateur Dex. ini non documenté qui affecte ce comportement. Avertissement: Il s'agit d'un commutateur ini non documenté. Son utilisation n'est pas testée ou prise en charge, utilisez à vos propres risques, votre kilométrage peut varier. L'utilisation de ce commutateur sur le client Web peut également enfreindre votre accord de licence pour MS WordExcel. Nous avons ajouté le commutateur Dex. ini: Cela indique à GP d'utiliser les anciennes routines COM pour les deux Import export d'ampères au lieu d'utiliser les routines SDK OpenXML. Je n'ai pas pleinement recherché l'application entière, mais de ce que je pourrais dire est que ceci a affecté les routines communes d'exportation d'amplificateur d'importation signifiant qu'il affecterait exporter de SmartList aussi bien que la budgétisation basée sur Excel. Après avoir effectué cette modification (et GP redémarré), l'importation du budget Excel a fonctionné comme prévu. À titre de test, nous avons exporté une liste de transactions GL. Il a exporté, mais nous avons remarqué que c'était plus lent que d'habitude et que les informations sur la devise étaient maintenant formatées avec des symboles. GP 2013 importe maintenant les exportations vers Excel à l'aide du SDK OpenXML La méthode SDK OpenXML est beaucoup plus rapide que l'utilisation de COM L'exportation à l'aide d'OpenXML SDK perd la mise en forme des devises car le champ est exporté sous forme de décimale et non de devise. L'utilisation du SDK OpenXML signifie qu'Excel (ou Word) n'a plus besoin d'être installé sur la machine pour lire les fichiers. Patrick Senior Escalation Engineer, GP PS: Je le mentionnerai encore: Attention: Il s'agit d'un commutateur ini indocumenté. Son utilisation n'est pas testée ou prise en charge, utilisez à vos propres risques, votre kilométrage peut varier. L'utilisation de ce commutateur sur le client Web peut également enfreindre votre accord de licence pour MS WordExcel.


No comments:

Post a Comment