Mercator dispose d'une option générale accessible depuis "Outils / Options / Autres : Forcer majuscules" (id = FORCE_MAJ ) qui permet de paramétrer toutes les zones de texte des écrans paramétrables (signalétiques, actions du CRM, documents de gestion commerciale, inventaires, transferts de dépôts, écritures comptables) afin que la saisie s'y effectue toujours en majuscules. Cette option est générale car elle affecte toutes les zones de texte, hormis les emails, les URL et les modèles d'impression.
Si on souhaite forcer les majuscules dans un nombre limité de zones, il suffit de mettre en place un code semblable à ceux ci-dessous.
Pour le signalétique des fournisseurs
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using System.Windows.Forms;
using System.Linq;
namespace SigFou
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
{
public void FormLoadCustomize(Form form)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
string[] sourcesUppercase = new string[] { "F_NOM", "F_ADRESSE", "F_ADRESSE2", "F_VILLE" };
foreach (string sourceUppercase in sourcesUppercase)
foreach (var textBox in sigForm.MovableControls.Values.OfType<MercatorUi.MovableControls.MovableTextBox>().Where(t => t.Source == sourceUppercase))
{
textBox.CharacterCasing = CharacterCasing.Upper;
}
}
}
}
Pour un document de la gestion commerciale
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using System.Windows.Forms;
using System.Linq;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
{
public void FormLoadCustomize(Form form)
{
MercatorUi.Forms.Billing.BillingForm billingForm = (MercatorUi.Forms.Billing.BillingForm)form;
string[] sourcesUppercase = new string[] { "REFERENCE", "NOTE1", "LIBRE1" };
foreach (string sourceUppercase in sourcesUppercase)
foreach (var textBox in billingForm.MovableControls.Values.OfType<MercatorUi.MovableControls.MovableTextBox>().Where(t => t.Source == sourceUppercase))
{
textBox.CharacterCasing = CharacterCasing.Upper;
}
}
}
}