Interconnecter une application externe avec SAGE i7

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Interconnecter une application externe avec SAGE i7

de Kassem » Jeu 21 Mar 2013 11:33

Bonjour,

Je cherche à savoir s'il est possible de faire communiquer une application externe (vb ou c#) de type exécutable avec une interface dans Sage i7. Je voudrais par exemple dans Gestion des comptes tiers pouvoir supprimer un client sélectionné à l'aide du programme externe. Mon problème est de savoir s'il existe un moyen de récupérer l'id du client sélectionné dans le code vb ou c#.

Merci,
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: Jeu 21 Mar 2013 11:08

Re: Interconnecter une application externe avec SAGE i7

de DavidDoc » Jeu 21 Mar 2013 21:14

On peux tout faire en VB :)

Mais dans ce cas, c'est pas vraiment du pilotage, on attaque les bases de données en direct depuis une application métier développé en VB.
David Docquoy
Développeur Vb.Net
Contributeur
Contributeur
 
Messages: 70
Inscription: Ven 18 Jan 2013 23:38

Re: Interconnecter une application externe avec SAGE i7

de Kassem » Ven 22 Mar 2013 11:47

Je n'arrive pas à comprendre comment peut on récupérer l'id d'un champs d'une interface SAGE à partir d'un programme externe de type exécutable. Je ne sais pas si dans mon code, je devrais faire appel à un composant me permettant de récupérer les valeurs des champs de l'interface SAGE. Existe-t-il des tuto à ce sujet?

Merci,
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: Jeu 21 Mar 2013 11:08

Re: Interconnecter une application externe avec SAGE i7

de asr31 » Sam 23 Mar 2013 00:31

Bonjour,

Tu veux t'interfacer avec la partie cliente de l'application. Pour cela, tu peux utiliser différentes méthodes :
* les programmes externes (d'où leur nom) :
Fonctionalité du programme SAGE qui permet, à partir de l'application cliente SAGE de 'lancer' un programme externe, une page web (intégrée ou non), un script, avec certains arguments de l'élément en cours.
* des produits tierces (comme AutoIt) qui savent récupérer des zones d'un formulaire d'une application...

Cordialement,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE

Re: Interconnecter une application externe avec SAGE i7

de Kassem » Sam 23 Mar 2013 11:14

Bonjour,

Savez-vous comment faire pour récupérer les valeurs des champs d'un formulaire SAGE i7 en cours d'utilisation sur depuis un programme externe de type exécutable écrit en C#.

Merci,
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: Jeu 21 Mar 2013 11:08

Re: Interconnecter une application externe avec SAGE i7

de asr31 » Lun 25 Mar 2013 22:21

Bonjour,

Le principe :
Ton application (C#) attends en arguments les infos de l'interface SAGE
Dans SAGE, dans programme externe, tu lance ton appli. C# en fournissant les arguments du contexte choisi.
Attention, toutes les informations ne sont pas publiées.
(voir les docs fournies avec une v16, car ces docs ne sont plus livrées sur les i7)

Cordialement,
Dernière édition par asr31 le Jeu 25 Avr 2013 21:33, édité 1 fois.
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE

Re: Interconnecter une application externe avec SAGE i7

de Kassem » Jeu 4 Avr 2013 14:44

Bonjour,

Je ne vois vraiment pas comment fournir les arguments automatiquement lorsque j'exécute l'application C#. Ne sachant pas le faire, j'ai essayé avec la page web intégrée de récupérer les arguments du contexte avec du javascript en faisant comme suit:

Code: Tout sélectionner
document.getElementById("siret").value = window.external.CompteT.siret;


et avec le html, j'affiche le résultat:

Code: Tout sélectionner
 
  <table width="100%">
    <tr>
      <td width="20%" align="right">N&deg; SIRET</td>
      <td width="2%">&nbsp;</td>
      <td width="auto"><input type="text" name="siret" id="siret" value="" /></td>
    </tr>
  </table>


De plus, j'ai voulu insérer la valeur récupérée dans la base de données en utilisant le langage php et je me suis aperçu que je ne pouvais pas le faire en indiquant simplement l'emplacement du fichier index.html qui se trouve dans www car le fichier ne peut se lancer qu'en utilisant l'url soit localhost. Donc, mon souci est de trouver une solution pour la page web afin de contourner ce problème d'url ou bien de trouver un exemple m'expliquant comme faire pour l'application C#.

Merci,
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: Jeu 21 Mar 2013 11:08

Re: Interconnecter une application externe avec SAGE i7

de asr31 » Ven 5 Avr 2013 20:51

Bonjour,

Essaye plutot de lancer un programme externe (ton application C#) à partir de la gescom ou de la compta en fournissant les arguments disponibles selon le contexte. A charge de ton application de gérer les arguments passés.

Cordialement,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE

Re: Interconnecter une application externe avec SAGE i7

de Kassem » Lun 8 Avr 2013 13:26

Bonjour,

Ce que je voudrais faire, c'est créer programme Windows Forms Application en csharp ou vb qui contient 2 TextBox et un Bouton. Je voudrais que ce programme, traite les données du Contexte Tiers. Lorsque je vais appeler mon application, je voudrais que les 2 TextBox se remplissent automatiquement. Un TextBox qui va contenir la valeur du Compte Tiers et l'autre, le numéro du Siret. Le bouton va me servir à insérer les valeurs récupérées dans une base de données.
Si cela est possible, je voudrais connaître la syntaxe à utiliser. J'ai pu récupérer les valeurs avec AutoIt mais je ne vois pas comment gérer la partie base de données avec SqlServer. C'est pourquoi, je cherche à savoir si cela est possible avec dotnet.

Merci,
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: Jeu 21 Mar 2013 11:08

Re: Interconnecter une application externe avec SAGE i7

de asr31 » Jeu 25 Avr 2013 22:01

Bonjour,

les solutions ne sont pas évidentes à expliquer en quelques lignes sur un forum et, d'autre part, je ne pense pas pouvoir mettre à disposition des bouts de documentation SAGE (droits), mais grosso-modo :
Coté client SAGE :
on utilise les programmes externes
dans ton cas le contexte est tiers ou client
le type de programme est exécutable
la ligne de commande est le nom et l'emplacement de ton exe c#
Tes arguments (dépendants du contexte que tu as choisi) sont à mettre entre double-quote (") et séparés par des virgules (cas général)

Coté application C#
Tu dois pouvoir récupérer les arguments avec la fonction main comme ça :
Code: Tout sélectionner
class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments:
        System.Console.WriteLine(args.Length);
    }
}

Pour trouver comment accéder aux données par SQL, il te faut le nom du serveur et le nom de la base :
Les arguments Dossier.FichierComptable et Dossier.LocalisationComptable te donne le nom du raccourci au dossier comptable.
En fait, c'est un fichier texte qui a une structure du genre :
Code: Tout sélectionner
[CBASE]
ServeurSQL=(Local)
Createur=COLU
Type=CIAL

Le nom du fichier correspond à la base de données et la ligne ServeurSQL au nom de l'instance de ton serveur SQL
Donc, tu peux lire ce fichier pour récupérer les informations nécessaires à la création d'une connexion SQL.
Les autres arguments peuvent être le code tiers ou client (CompteT.Numero) ou autres ...

J'espère que cela te donnera quelques pistes.

Cordialement,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE


Qui est en ligne
Utilisateurs parcourant ce forum: Google [Bot] et 1 invité