Instructions de déploiement de caisses enregistreuses pour la France (héritées)

Important

Cette fonctionnalité d’échantillon d’intégration fiscale ne tire pas parti du cadre d’intégration fiscale et deviendra obsolète dans les mises à jour ultérieures. Vous devez plutôt utiliser la fonctionnalité qui est basée sur le cadre de l’intégration fiscale.

Cet article est un guide de déploiement qui montre comment activer la localisation Dynamics 365 Commerce pour la France. La localisation consiste en plusieurs extensions des composants. Par exemple, les extensions vous permettent d’imprimer des champs personnalisés sur les reçus, d’enregistrer des événements d’audit supplémentaires, des transactions de vente et des transactions de paiement dans le point de vente (PDV), de signer numériquement les transactions de vente et d’imprimer des rapports X et Z dans des formats locaux. Pour plus d’informations sur la localisation pour la France, voir Fonctionnalité de caisse enregistreuse pour la France.

Cette localisation fait partie du kit de développement logiciel (SDK) Retail. Pour en savoir plus sur la manière d’installer et d’utiliser le SDK, voir Architecture du kit de développement logiciel (SDK) de Retail.

Cette localisation se compose d’extensions pour Commerce Runtime (CRT), Retail Server et le PDV. Pour exécuter cet exemple, vous devez modifier et générer les projets CRT, Retail Server et PDV. Nous vous recommandons d’utiliser un Kit de développement logiciel (SDK) Retail non modifié pour apporter les modifications décrites dans cet article. Nous vous recommandons également d’utiliser un système de contrôle de source, tel que Microsoft Visual Studio Online (VSO), où aucun fichier n’a encore été modifié.

Note

Dans Commerce 10.0.8 et versions ultérieures, Retail Server est appelé Commerce Scale Unit. Étant donné que ce sujet s’applique à plusieurs versions précédentes de l’application, Retail Server est utilisé tout au long du sujet.

Stockage d’un certificat pour la signature numérique dans Azure Key Vault

L’extension de signature numérique utilise un certificat installé dans le stockage de certificats local de la machine où Retail Server est déployé. L’empreinte numérique du certificat doit être spécifiée dans le fichier de configuration (voir la section Composant SequentialSignatureRegister, plus loin dans cet article). En fonction de la topologie d’implémentation, le certificat doit être stocké dans le stockage Microsoft Azure Key Vault. La localisation pour la France contient un exemple de code qui montre comment remplacer le flux de signature et signer des transactions de vente en utilisant un certificat stocké dans le stockage Azure Key Vault.

Conditions préalables

Les étapes suivantes doivent être effectuées avant d’utiliser un certificat enregistré dans le stockage Azure Key Vault :

  • Le stockage Azure Key Vault doit être créé. Il est recommandé de déployer le stockage dans la même zone géographique que le serveur Retail.
  • Le certificat doit être chargé dans le stockage.
  • L’application Retail Server doit être autorisée à lire les secrets du stockage.

Pour plus d’informations sur l’utilisation d’Azure Key Vault, voir Prise en main d’Azure KeyVault.

Utilisation de l’exemple

Le projet DigitalSignatureKeyVaultSample contient un exemple de code qui utilise un certificat stocké dans le stockage Azure Key Vault. Pour utiliser l’exemple dans un environnement de production, vous devez implémenter la logique afin que les paramètres suivants puissent être spécifiés dans la méthode HashAndSignData de la classe CertificateSignatureServiceRequestHandler :

  • URL Azure Key Vault – URL du stockage Azure Key Vault.

    settings.Add(WellKnownKeyVaultSettings.KeyVaultUrl, "Set your Azure Key Vault URL here");
    
  • ID client – ID client interactif de l’application Microsoft Entra associée au stockage Azure Key Vault à des fins d’authentification. Ce client doit avoir accès en lecture aux secrets du stockage Azure Key Vault.

    settings.Add(WellKnownKeyVaultSettings.KeyVaultInteractiveClientId, "Set the client ID here");
    
  • Clé secrète client – Clé secrète associée à l’application Microsoft Entra utilisée pour l’authentification dans le stockage Azure Key Vault.

    // Secret key value should be encrypted and stored in a safe place.
    settings.Add(WellKnownKeyVaultSettings.KeyVaultClientSecretKey, "Set the secret key here");
    
  • Référence secrète – Référence secrète au certificat.

    SecretCertificate secretCertificate = settingsHelper.SecretProvider.GetSecret("vault:///{Specify the secret reference}") as SecretCertificate;
    

Pour remplacer le flux de signature, suivez ces étapes.

  1. Créez le projet DigitalSignatureKeyVaultSample et copiez l’assembly Contoso.Commerce.Runtime.DigitalSignatureKeyVaultSample.dll dans le dossier bin\ext de Retail Server.

  2. Mettez à jour le fichier commerceRuntime.ext.config en ajoutant la ligne suivante à la section composition.

    <add source="assembly" value="Contoso.Commerce.Runtime.DataSignatureKeyVaultSample" />
    

Remarque

L’empreinte numérique du certificat utilisé pour la signature numérique doit être spécifiée dans le fichier de configuration de l’assembly SequentialSignatureRegister, même si le certificat est stocké dans le stockage Azure Key Vault. Pour plus d’informations, voir la section Composant SequentialSignatureRegister, plus loin dans cet article.

Utilisation des profils de certificat dans les canaux Commerce

Dans Commerce version 10.0.15 et ultérieure, vous pouvez utiliser la fonctionnalité Profils de certificats définis par l’utilisateur pour les magasins de détail qui prend en charge le basculement hors connexion lorsque Key Vault ou Headquarters ne sont pas disponibles. La fonctionnalité étend la fonction Gérer les clés secrètes pour les canaux de vente au détail.

Pour appliquer la nouvelle fonctionnalité dans l’extension CRT, suivez les étapes ci-après.

  1. Créer un projet d’extension CRT (type de projet de bibliothèque de classes C#). Utilisez les exemples de modèles du kit de développement logiciel (SDK) Retail (RetailSDK\SampleExtensions\CommerceRuntime).

  2. Ajoutez un gestionnaire personnalisé pour CertificateSignatureServiceRequest dans le projet SequentialSignatureRegister.

  3. Pour lire un appel secret, GetUserDefinedSecretCertificateServiceRequest en utilisant un constructeur avec un paramètre profileId. Cela démarrera la fonctionnalité fonctionnant avec les paramètres des profils de certificat. En fonction des paramètres, le certificat sera récupéré à partir d’Azure Key Vault ou du stockage de la machine locale.

     GetUserDefinedSecretCertificateServiceRequest getUserDefinedSecretCertificateServiceRequest = new GetUserDefinedSecretCertificateServiceRequest(profileId: "ProfileId", secretName: null, thumbprint: null, expirationInterval: null);
     GetUserDefinedSecretCertificateServiceResponse getUserDefinedSecretCertificateServiceResponse = request.RequestContext.Execute<GetUserDefinedSecretCertificateServiceResponse>(getUserDefinedSecretCertificateServiceRequest);
    
     X509Certificate2 Certificate = getUserDefinedSecretCertificateServiceResponse.Certificate;
    
  4. Une fois le certificat récupéré, procédez à la signature des données.

  5. Construisez le projet d’extension CRT.

  6. Copiez la bibliothèque de classes de sortie et collez-la dans ...\RetailServer\webroot\bin\Ext pour un test manuel.

  7. Dans le fichier CommerceRuntime.Ext.config, mettez à jour la section de composition d’extension avec les informations de bibliothèque personnalisées.

Spécification des attributs d’application qui seront imprimés sur les reçus

Vous pouvez utiliser des champs personnalisés pour imprimer les attributs d’application suivants sur les reçus :

  • Numéro de build – Version logicielle de l’application POS. Par défaut, la valeur doit être égale au numéro de build POS que Microsoft a attribué à l’application POS.

  • Catégorie du certificat et Numéro do certificat – Catégorie et numéro du certificat de conformité qu’un organisme accrédité délivre pour l’application. Par défaut, les valeurs correspondent à la catégorie et au numéro du certificat accordé à Microsoft :

    • Microsoft Dynamics 365 for Commerce :

      • Catégorie du certificat : C
      • Numéro du certificat : 18/0202
    • Microsoft Dynamics 365 for Commerce :

      • Catégorie du certificat : B
      • Numéro du certificat : 18/0203

    Remarque

    Par défaut, la catégorie et le numéro du certificat attribués sont imprimés. Si vous implémentez Commerce, vous devez remplacer la catégorie et le numéro de certificat.

Si vous personnalisez l’application POS et que vos personnalisations affectent la conformité de l’application, vous devrez peut-être demander un nouveau certificat de conformité à un organisme accrédité. Dans ce cas, vous devez remplacer le numéro de build ainsi que la catégorie et le numéro du certificat. Sinon, les valeurs par défaut pour la catégorie et le numéro du certificat seront imprimées, mais vous devez toujours spécifier le numéro de build POS que Microsoft a attribué à l’application POS.

Remplacement du numéro de build

Le numéro de version/build du logiciel et l’éditeur sont spécifiés dans RetailSDK\BuildTools\Customization.settings.

<CustomVersion Condition="'$(CustomVersion)' == ''">1.0.0.1</CustomVersion>
<CustomName Condition="'$(CustomName)' == ''">Contoso Retail Customization</CustomName> 
<CustomDescription Condition="'$(CustomDescription)' == ''">Contoso Retail Customization</CustomDescription>
<CustomPublisher Condition="'$(CustomPublisher)' == ''">CN=Contoso Ltd.</CustomPublisher>
<CustomPublisherDisplayName Condition="'$(CustomPublisherDisplayName)' == ''">Contoso Ltd.</CustomPublisherDisplayName>
<CustomCopyright Condition="'$(CustomCopyright)' == ''">Copyright © 2016</CustomCopyright>

Remplacement de la catégorie et du numéro du certificat

La catégorie et le numéro du certificat sont spécifiés dans RetailSDK\SampleExtensions\CommerceRuntime\Extensions.ReceiptsFrance\GetSalesTransactionCustomReceiptFieldService.

/// <summary>
/// Certification category.
/// </summary>
private const string CertificationCategory = "C";

/// <summary>
/// Certificate number.
/// </summary>
private const string CertificateNumber = "18/0202";

Remarque

Vous devez également remplacer la catégorie et le numéro du certificat si vous implémentez Commerce. Dans ce cas, utilisez la catégorie et le numéro du certificat fournis dans la section Spécification des attributs d’application qui seront imprimés sur les reçus, plus haut dans cet article.

Environnement de développement

Suivez ces étapes pour configurer un environnement de développement afin de pouvoir tester et étendre la fonctionnalité de localisation.

Composants d’extension CRT

Les composants d’extension CRT sont inclus dans les échantillons CRT. Pour terminer les procédures suivantes, ouvrez la solution CRT, CommerceRuntimeSamples.sln, sous RetailSdk\SampleExtensions\CommerceRuntime.

Composant CommonFrance

  1. Recherchez le projet Runtime.Extensions.CommonFrance et générez-le.

  2. Dans le dossier Extensions.CommonFrance\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.CommonFrance.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site Microsoft Internet Information Services (IIS) Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.CommonFrance" />
    

Composant ReceiptsFrance

  1. Recherchez le projet Runtime.Extensions.ReceiptsFrance et générez-le.

  2. Dans le dossier Extensions.ReceiptsFrance\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.ReceiptsFrance.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.ReceiptsFrance" />
    

Composant SalesPaymentTransExt

  1. Trouvez le projet Runtime.Extensions.SalesPaymentTransExt et le construire.

  2. Dans le dossier Extensions.SalesPaymentTransExt\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.SalesPaymentTransExt.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.SalesPaymentTransExt" />
    

Composant SalesPaymentTransExtFrance

  1. Recherchez le projet Runtime.Extensions.SalesPaymentTransExtFrance et générez-le.

  2. Dans le dossier Extensions.SalesPaymentTransExtFrance\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.SalesPaymentTransExtFrance.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.SalesPaymentTransExtFrance" />
    

Composant SequentialSignatureFrance

  1. Recherchez le projet Runtime.Extensions.SequentialSignatureFrance et générez-le.

  2. Dans le dossier Extensions.SequentialSignatureFrance\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.SequentialSignatureFrance.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.SequentialSignatureFrance" />
    

Composant SequentialSignatureRegister

  1. Trouvez le projet Runtime.Extensions.SequentialSignatureRegister.

  2. Modifier le fichier App.config en spécifiant l’empreinte, l’emplacement du magasin et le nom du magasin pour le certificat qui doit être utilisé pour signer les transactions de vente. La propriété certificateThumbprint est la seule propriété obligatoire. La valeur doit être une chaîne de 40 caractères en majuscules qui n’inclut aucun délimiteur. Pour plus d’informations, voir Comment récupérer l’empreinte numérique d’un certificat.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <configSections>
            <section name="SequentialSignatureRegister" type="Contoso.Commerce.Runtime.SequentialSignatureRegister.Configuration.SequentialSignatureRegisterConfigSection, Contoso.Commerce.Runtime.SequentialSignatureRegister"/>
        </configSections>
        <SequentialSignatureRegister certificateThumbprint="insert key certificateThumbprint here" certificateStoreLocation="LocalMachine" certificateStoreName="My"/>
        <startup>
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
        </startup>
    </configuration>
    
  3. Créez le projet.

  4. Dans le dossier Extensions.SequentialSignatureRegister\bin\Debug, recherchez les fichiers suivants :

    • Le fichier d’assembly Contoso.Commerce.Runtime.SequentialSignatureRegister.dll
    • Le fichier de configuration Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config
  5. Copiez les fichiers dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  6. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  7. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.SequentialSignatureRegister" />
    

Composant SequentialSignatureRegister.Contracts

  1. Recherchez le projet Runtime.Extensions.SequentialSignatureRegister.Contracts et générez-le.

  2. Dans le dossier Extensions.SequentialSignatureRegister.Contracts\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.

Composant XZReportsFrance

  1. Recherchez le projet Runtime.Extensions.XZReportsFrance et générez-le.

  2. Dans le dossier Extensions.XZReportsFrance\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.XZReportsFrance.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.XZReportsFrance" />
    

Composant RestrictingShiftDuration

  1. Recherchez le projet Runtime.Extensions.RestrictingShiftDuration et générez-le.

  2. Dans le dossier Extensions.RestrictingShiftDuration\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.Runtime.RestrictingShiftDuration.dll.

  3. Copiez le fichier d’assembly dans le dossier des extensions CRT :

    • Retail Server : Copiez l’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur Modern POS : Copiez l’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.
  4. Recherchez le fichier de configuration de l’extension pour CRT :

    • Retail Server : Le fichier s’appelle commerceruntime.ext.config et se trouve dans le dossier bin\ext sous l’emplacement du site IIS Retail Server.
    • CRT local sur PDV moderne : le fichier est intitulé CommerceRuntime.MPOSOffline.Ext.config, et est disponible sous l’emplacement du courtier client CRT local.
  5. Enregistrez la modification CRT du fichier de configuration de l’extension.

    <add source="assembly" value="Contoso.Commerce.Runtime.RestrictingShiftDuration" />
    

Composants d’extension Retail Server

Exemple de composant Retail Server SalesTransactionSignature

  1. Dans le dossier RetailSDK\SampleExtensions\RetailServer\RetailServer.Extensions.SalesTransactionSignatureSample, recherchez le projet RetailServer.Extensions.SalesTransactionSignatureSample et le construire.

  2. Dans le dossier RetailServer\Extensions.SalesTransactionSignatureSample\bin\Debug, recherchez le fichier d’assembly Contoso.RetailServer.SalesTransactionSignatureSample.dll.

  3. Copiez le fichier d’assembly dans le dossier \bin\ext sous l’emplacement du site IIS Retail Server.

  4. Recherchez le fichier de configuration pour Retail Server. Le fichier s’appelle web.config et se trouve dans le dossier racine sous l’emplacement du site IIS Retail Server.

  5. Enregistrez les extensions Retail Server dans la section extensionComposition du fichier de configuration.

    <add source="assembly" value="Contoso.RetailServer.SalesTransactionSignatureSample" />
    

Composant d’extension de proxy

Vous devez exécuter la procédure suivante pour activer les extensions en mode hors connexion pour Modern POS.

Exemple de composant de proxy Retail SalesTransactionSignature

  1. Dans le dossier RetailSDK\SampleExtensions\RetailProxy\RetailProxy.Extensions.SalesTransactionSignatureSample, recherchez le projet RetailServer.Extensions.SalesTransactionSignatureSample et le construire.

  2. Dans le dossier RetailProxy\RetailProxy.Extensions.SalesTransactionSignatureSample\bin\Debug, recherchez le fichier d’assembly Contoso.Commerce.RetailProxy.SalesTransactionSignatureSample.

  3. Copiez les fichiers d’assembly dans le dossier \ext sous l’emplacement du courtier client CRT local.

  4. Enregistrez la modification de proxy dans le fichier de configuration des extensions. Le fichier s’appelle RetailProxy.MPOSOffline.ext.config, et c’est sous l’emplacement du courtier client CRT local.

    <add source="assembly" value="Contoso.Commerce.RetailProxy.SalesTransactionSignatureSample" />
    

Composants d’extension PDV moderne

  1. Ouvrez la solution sur RetailSdk\POS\ModernPOS.sln, et assurez-vous qu’il peut être compilé sans erreur. De plus, assurez-vous que vous pouvez exécuter le PDV moderne de Microsoft Visual Studio en utilisant la commande Run.

    Note

    Le ODV moderne ne doit pas être personnalisé. Vous devez activer le contrôle de compte d’utilisateur (UAC) et vous devez désinstaller les instances précédemment installées du PDV moderne si nécessaire.

  2. Incluez les dossiers de code source existants suivants dans le projet Pos.Extensions.

    • SalesTransactionSignatureSample
    • SequentialSignature
    • AuditEventSignatureSample
    • RestrictingShiftDuration
    • SalesTransBuildNumberSample

    Remarque

    Pour afficher tous les fichiers du dossier du projet, et pas seulement les fichiers inclus dans le projet, sélectionnez le bouton Afficher tous les fichiers dans l’Explorateur de solutions. Si ce bouton n’est pas disponible, assurez-vous d’avoir sélectionné le projet. Les icônes des fichiers et des dossiers qui ne font pas actuellement partie du projet ont un contour en pointillé. Cliquez avec le bouton droit sur le dossier à inclure dans le projet, puis sélectionnez Inclure dans le projet.

  3. Activez les extensions à compiler en supprimant les dossiers suivants de la liste d’exclusion dans tsconfig.json :

    • SalesTransactionSignatureSample
    • SequentialSignature
    • AuditEventSignatureSample
    • RestrictingShiftDuration
    • SalesTransBuildNumberSample
  4. Activez les extensions à charger en ajoutant les lignes suivantes dans extensions.json :

    {
        "baseUrl": "SalesTransactionSignatureSample"
    },
    {
        "baseUrl": "SequentialSignature"
    },
    {
        "baseUrl": "AuditEventSignatureSample"
    },
    {
        "baseUrl": "RestrictingShiftDuration"
    },
    {
        "baseUrl": "SalesTransBuildNumberSample"
    }
    

    Note

    Pour plus d’informations et pour des exemples montrant comment inclure des dossiers de code source et permettre le chargement d’extensions, consultez les instructions du fichier readme.md dans le projet Pos.Extensions.

  5. Recréez la solution.

  6. Exécutez le PDV moderne dans le débogueur et testez la fonctionnalité.

Composants d’extension PDV de cloud

  1. Ouvrez la solution sur RetailSdk\POS\CloudPOS.sln, et assurez-vous qu’il peut être compilé sans erreur.

  2. Incluez les dossiers de code source existants suivants dans le projet Pos.Extensions :

    • SalesTransactionSignatureSample
    • SequentialSignature
    • AuditEventSignatureSample
    • RestrictingShiftDuration
    • SalesTransBuildNumberSample

    Remarque

    Pour afficher tous les fichiers du dossier du projet, et pas seulement les fichiers inclus dans le projet, sélectionnez le bouton Afficher tous les fichiers dans l’Explorateur de solutions. Si ce bouton n’est pas disponible, assurez-vous d’avoir sélectionné le projet. Les icônes des fichiers et des dossiers qui ne font pas actuellement partie du projet ont un contour en pointillé. Cliquez avec le bouton droit sur le dossier à inclure dans le projet, puis sélectionnez Inclure dans le projet.

  3. Activez les extensions à compiler en supprimant les dossiers suivants de la liste d’exclusion dans tsconfig.json :

    • SalesTransactionSignatureSample
    • SequentialSignature
    • AuditEventSignatureSample
    • RestrictingShiftDuration
    • SalesTransBuildNumberSample
  4. Activez les extensions à charger en ajoutant les lignes suivantes dans extensions.json :

    {
        "baseUrl": "SalesTransactionSignatureSample"
    },
    {
        "baseUrl": "SequentialSignature"
    },
    {
        "baseUrl": "AuditEventSignatureSample"
    },
    {
        "baseUrl": "RestrictingShiftDuration"
    },
    {
        "baseUrl": "SalesTransBuildNumberSample"
    }
    

    Note

    Pour plus d’informations et pour des exemples montrant comment inclure des dossiers de code source et permettre le chargement d’extensions, consultez les instructions du fichier readme.md dans le projet Pos.Extensions.

  5. Recréez la solution.

  6. Exécutez la solution en utilisant la commande Exécuter et en suivant les étapes du manuel Kit de développement logiciel (SDK) Retail.

  7. Testez la fonctionnalité.

Configurer les paramètres requis au siège

Pour plus d’informations, voir Fonctionnalité de caisse enregistreuse pour la France.

Environnement de production

Suivez ces étapes pour créer des packages déployables qui contiennent des composants Commerce et pour appliquer ces packages dans un environnement de production.

  1. Complétez les étapes de la section Composants d’extension du PDV Cloud ou Composants d’extension de PDV moderne plus haut dans cet article.

  2. Apportez les modifications suivantes dans les fichiers de configuration du package sous le dossier RetailSdk\Assets :

    1. Dans les fichiers de configuration commerceruntime.ext.config et CommerceRuntime.MPOSOffline.Ext.config ajoutez les lignes suivantes à la section composition :

      <add source="assembly" value="Contoso.Commerce.Runtime.CommonFrance" />
      <add source="assembly" value="Contoso.Commerce.Runtime.ReceiptsFrance" />
      <add source="assembly" value="Contoso.Commerce.Runtime.RestrictingShiftDuration" />
      <add source="assembly" value="Contoso.Commerce.Runtime.SalesPaymentTransExt" />
      <add source="assembly" value="Contoso.Commerce.Runtime.SalesPaymentTransExtFrance" />
      <add source="assembly" value="Contoso.Commerce.Runtime.SequentialSignatureFrance" />
      <add source="assembly" value="Contoso.Commerce.Runtime.SequentialSignatureRegister" />
      <add source="assembly" value="Contoso.Commerce.Runtime.XZReportsFrance" />
      

      Pour utiliser un certificat stocké dans le stockage Azure Key Vault pour la signature numérique, ajoutez la ligne suivante.

      Remarque

      Avant d’ajouter cette ligne, suivez les étapes de la section Stockage d’un certificat pour la signature numérique dans Azure Key Vault, plus haut dans cet article.

      <add source="assembly" value="Contoso.Commerce.Runtime.DataSignatureKeyVaultSample" />
      
    2. Dans le fichier de configuration RetailProxy.MPOSOffline.ext.config, ajoutez les lignes suivantes à la section composition.

      <add source="assembly" value="Contoso.Commerce.RetailProxy.SalesTransactionSignatureSample" />
      
  3. Apportez les modifications suivantes dans le fichier de configuration de personnalisation du package Customization.settings :

    1. Ajoutez les lignes suivantes à la section ItemGroup pour inclure l’extension de proxy Commerce dans les packages déployables.

      <ISV_RetailProxy_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.RetailProxy.SalesTransactionSignatureSample.dll" />
      
    2. Ajoutez les lignes suivantes à la section ItemGroup pour inclure les extensions CRT dans les packages déployables :

      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.CommonFrance.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.ReceiptsFrance.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.RestrictingShiftDuration.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesPaymentTransExt.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesPaymentTransExtFrance.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureFrance.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureRegister.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll" />
      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.XZReportsFrance.dll" />
      

      Pour utiliser un certificat stocké dans le stockage Azure Key Vault pour la signature numérique, ajoutez la ligne suivante.

      Remarque

      Avant d’ajouter cette ligne, suivez les étapes de la section Stockage d’un certificat pour la signature numérique dans Azure Key Vault, plus haut dans cet article.

      <ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.DataSignatureKeyVaultSample.dll" />
      
    3. Ajoutez les lignes suivantes à la section ItemGroup pour inclure l’extension Retail Server dans les packages déployables.

      <ISV_RetailServer_CustomizableFile Include="$(SdkReferencesPath)\Contoso.RetailServer.SalesTransactionSignatureSample.dll" />
      
  4. Mettez à jour le fichier de configuration Retail Server. Dans RetailSDK\Packages\RetailServer\Code\web.config, ajoutez les lignes suivantes à la section extensionComposition.

    <add source="assembly" value="Contoso.RetailServer.SalesTransactionSignatureSample" />
    
  5. Modifier le fichier de configuration du certificat en spécifiant l’empreinte, l’emplacement du magasin et le nom du magasin pour le certificat qui doit être utilisé pour signer les transactions de vente. Copiez ensuite le fichier de configuration dans le dossier Références. Le fichier est nommé Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config, et se trouve sous Extensions.SequentialSignatureRegister\bin\Debug.

  6. Remplacez le numéro de build ainsi que la catégorie et le numéro du certificat de conformité, si besoin. Pour plus d’informations, consultez les instructions de la section Spécification des attributs d’application qui seront imprimés sur les reçus, plus haut dans cet article.

  7. Démarrez l’invite de commande MSBuild pour l’utilitaire Visual Studio et exécutez msbuild sous le dossier Kit de développement logiciel (SDK) Retail pour créer des packages déployables.

  8. Appliquer les packages via Microsoft Dynamics Lifecycle Services (LCS) ou manuellement. Pour plus d’informations, voir Créer des packages déployables.

Activer la signature numérique en mode hors connexion pour le PDV moderne

Pour activer la signature numérique en mode hors connexion pour le PDV moderne, vous devez suivre ces étapes après avoir activé le PDV moderne sur un nouvel appareil.

  1. Connectez-vous à POS.
  2. Sur la page Statut de la connexion à la base de données, assurez-vous que la base de données hors connexion est entièrement synchronisée. Lorsque la valeur du champ Téléchargements en attente est 0 (zéro), la base de données est entièrement synchronisée.
  3. Déconnectez-vous du PDV.
  4. Attendez un moment que la base de données hors connexion soit entièrement synchronisée.
  5. Connectez-vous à POS.
  6. Sur la page Statut de la connexion à la base de données, assurez-vous que la base de données hors connexion est entièrement synchronisée. Lorsque la valeur du champ Transactions en attente dans la base de données hors connexion est 0 (zéro), la base de données est entièrement synchronisée.
  7. Redémarrez le PDV moderne.