L'exemple de programmation illustré ici montre comment placer un bouton dans le signalétique des clients, qui permet d'imprimer toutes les factures et notes de crédit pour le client en cours, avec sélection d'une fourchette de dates. Cette programmation utilise la fenêtre d'historique du menu "Fenêtres", dans un mode multi journaux.
public static void Exec(MercatorUi.MovableControls.MovableButton clickedButton)
{
// enter your customized code here
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)clickedButton.Form;
if (string.IsNullOrWhiteSpace(sigForm.DataSourceRow["c_id"].ToString()))
return;
DateTime[] dd = MercatorUi.Dialogs.AskDates("Imprimer les factures et notes de crédit entre quelles dates ?");
if (dd == null)
return;
string where_clause = string.Format("(pieds_v.id_cli='{0}') and (pieds_v.type=1) and (pieds_v.date between '{1}' and '{2}')",
Api.UnquoteSql(sigForm.DataSourceRow["c_id"].ToString()),
Api.DateTimeSelectString(dd[0]),
Api.DateTimeSelectString(dd[1]));
MercatorUi.Globals.Main.ShowHistAfterAutomaticProcedure("V", where_clause, true, null);
}