L’erreur provient de votre comboBox dans le signalétique articles. En effet, pour Mercator, il faut stocker partout les infos analytiques par leur code (champ COD_CODE de Bob) et non COD_LIB qui est le libellé. Le principe dans un comboBox est qu’on va montrer le libellé à l’utilisateur, mais stocker dans la DB le code associé.
Voici un exemple de code :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
namespace SigStock
{
public class Customizer : MercatorUi.ICustomizers.IComboListCustomizer
{
public void ComboListCustomize(MercatorUi.MovableControls.Interfaces.IMovableComboBoxOrTree combo)
{
if (combo.Source == "S_ANA1")
{
DataTable dt1 = MercatorUi.Globals.ExternalAna[0].Copy();
dt1.Rows.Add(new string[2] { "", "" }); // ajouter une ligne vide dans la liste pour les fiches sans analytique
dt1.DefaultView.Sort = "lib";
combo.DataSource = dt1.DefaultView; // trier par libelle. Si ce tri n'est pas souhaité, retirer ".DefaultView" et supprimer la ligne qui précède
combo.DisplayMember = "lib";
combo.ValueMember = "code";
}
}
}
}
Bonjour
Je dois établir le lien analytique avec la compta Bob Software.
J'ai donc suivi les instructions du site à cet effet (structure de lignes_v et grille de saisie des séquences (colonne lignes_v_tmp.analyt1) ).
J'ai aussi ajouté le champ analyt1 dans le fichier stock. Je peux ainsi y mettre la clé analytique par défaut.
Champ combo, source analyt1, expression "select * from sana_1"
Détail : la liste que Mercator me donne à cet endroit est la liste des libellés analytiques et non pas des codes. Mais ce n'est pas grave, je dirais même que c'est mieux ainsi.
Lorsque je crée une facture, Mercator me propose ainsi automatiquement la clé analytique de l'article dans la grille de saisie.
Seulement, cette clé analytique est toujours le libellé analytique (et pas le code).
Conséquence, lorsque je centralise vers la compta, Mercator me dit que cette clé analytique n'existe pas.
Où est mon erreur ?