Implémentation de la modification de commande
Limites
- Vous devez disposer de tous les droits d'accès aux ressources requis, y compris
ISF000058, pour pouvoir modifier des commandes et des lignes de commande. - La modification de commande est prise en charge uniquement pour les bons de commande.
- La modification des lignes de report n'est pas prise en charge.
- La modification de la commande est désactivée dans les cas suivants:
MaxOrderStatusest supérieur ou égal à3700(Order shipped).- La commande contient uniquement des lignes de report.
- La commande est verrouillée par un autre utilisateur. C'est-à-dire si la commande comporte des modifications en attente (
HasPendingChanges = 'Y') et quecurrentLoginIdn'est pas égal àPendingChangesUserID.
Modification d'une commande à l'aide du bouton Editer de la page Récapitulatif de la commande
Cliquez sur le bouton Editer dans la page Récapitulatif de la commande pour ouvrir la page Editer la commande . Vous pouvez modifier la commande ainsi que la ligne de commande. Pour plus d'informations sur les actions que vous pouvez effectuer lors de la modification d'une commande, voir Modification d'une commande.
Toute modification apportée à un ordre confirmé reste en suspens jusqu'à ce que l'utilisateur enregistre ou annule les modifications, ou que les modifications expirent automatiquement après un délai préconfiguré, défini dans le gestionnaire d'applications. Après le délai spécifié, les modifications en attente expirent automatiquement et la commande revient à son état d'origine.
L'API getCompleteOrderDetails est appelée pour extraire les détails de la commande et de la ligne de commande, tels que le total de la commande, les bons de réduction appliqués, etc.
Ajout d'un nouveau produit à une commande existante
- Vous devez disposer du droit d'accès aux ressources
ISF000059pour ajouter des lignes de commande à une commande existante. - Si la date en cours est postérieure à l'âge de la commande, vous ne pouvez pas ajouter de nouveau produit à la commande. La règle
WSC_ORDER_AGEest utilisée pour extraire l'âge maximal de la commande. Toutefois, d'autres modifications, telles que l'application de bons de réduction ou la modification de la méthode de livraison, peuvent être apportées. - Si le produit est ajouté à la commande par numérisation et si une quantité suffisante est disponible, l'API
getCompleteItemListest appelée pour ajouter le produit à la commande avec la quantité par défaut 1 et la méthode de livraison SHIP. Si le produit n'est pas disponible, vous êtes redirigé vers la page Détails du produit . - Si vous recherchez le produit à ajouter à la commande à l'aide de mots clés, la page Résultats de la recherche de produit s'ouvre avec la liste des produits correspondant aux mots clés de recherche. Vous pouvez sélectionner le produit que vous souhaitez ajouter à la commande à partir de ces résultats.
- L'API
modifyFulfillmentOptionsest appelée pour ajouter une nouvelle ligne de commande et pour ajouter une remarque avec le code anomalieYCD_MULTI_ADD_LINES_INFO. - Les modifications apportées à la commande sont validées dans la base de données uniquement lorsque vous cliquez sur Sauvegarder, ce qui déclenche l'API
changeOrder. - Si les modifications sont correctement enregistrées dans la commande, l'API
getCompleteOrderDetailsest appelée pour actualiser la page et afficher un message de réussite. Après cela, vous pouvez mettre à jour les détails du paiement. - Vous ne pouvez pas ajouter de lignes de commande de report à la commande en modifiant la commande.
- Vous pouvez uniquement ajouter des éléments standard et des variantes.
- Les règles de modification des commandes suivantes doivent être activées au niveau de la commande à l'aide du gestionnaire d'applications :
ADD_LINEADD_NOTE
- Les API suivantes sont appelées pour ajouter un nouveau produit à une commande existante:
getRuleDetails: Pour extraire l'âge maximal de la commande à partir de la règleWSC_ORDER_AGE.getCompleteItemList: Pour extraire les détails du produit.modifyFulfillmentOptions: Pour ajouter un produit à la commande.getCompleteOrderDetails: Pour actualiser la page avec un message affichant le total de la commande mise à jour et le montant dû ou le montant du remboursement.changeOrder: Pour enregistrer les modifications apportées à la commande.
Suppression d'une ligne de commande d'une commande existante
- Vous devez disposer du droit d'accès aux ressources
ISF000060pour supprimer une ligne de commande d'une commande existante. - L'annulation des lignes de commande est activée uniquement si
MaxLineStatus < 3700(Shipped) et qu'elle n'est pas égale à1100.7777(CARRIED). - Si le client décide d'annuler un ou plusieurs produits d'une commande, vous pouvez cliquer sur le bouton Supprimer de la ligne de commande correspondante.
Une fenêtre de confirmation s'affiche pour vous permettre de sélectionner le motif de l'annulation et de confirmer. L'API
modifyFulfillmentOptionsest appelée pour supprimer le produit. - Lors de l'annulation de la ligne de commande, une remarque est ajoutée avec le code anomalie
YCD_CANCEL_INFO. - Après l'annulation, vous pouvez uniquement afficher les remarques qui ont été ajoutées aux lignes annulées et vous ne pouvez pas effectuer d'autres actions.
- Si la ligne de commande vient d'être ajoutée, il vous suffit de confirmer la suppression du produit de la commande. Aucune raison d'annulation n'est requise. L'API
changeOrderest utilisée pour supprimer les produits nouvellement ajoutés à la commande. - Lors de la sauvegarde, l'API
changeOrderest appelée pour appliquer les modifications à la commande. - Les règles de modification des commandes suivantes doivent être activées à l'aide du gestionnaire d'applications :
CANCELADD_NOTEau niveau de la commande pour obtenir le statut de la commande annulée.
- Les API suivantes sont appelées pour supprimer une ligne de commande d'une commande existante:
getCommonCodeListavecCodeTypeen tant queYCD_CANCEL_REASON. Pour afficher les raisons de l'annulation.modifyFulfillmentOptionsavecAction="CANCEL". Pour annuler la ligne de commande en mode modifications en attente.changeOrderavecAction="REMOVE". Pour annuler les nouvelles lignes de commande en mode de modification en attente.changeOrder: Pour valider les modifications apportées à la base de données.
Edition de la quantité de la ligne de commande
- Le droit d'accès aux ressources
ISF000049est requis pour mettre à jour la quantité de la ligne de commande. - Vous pouvez mettre à jour la quantité de la ligne de commande uniquement si les conditions suivantes sont remplies:
MaxLineStatus < 3700(Shipped) etMaxLineStatusne sont pas égaux à1100.7777(CARRIED)DeliveryMethodn'est pas égal àDEL.
- Vous pouvez augmenter ou réduire la quantité d'une ligne de commande en fonction des besoins du client.
- Si vous réduisez la quantité commandée, elle est validée par rapport à l'attribut
AvailableQtyForCancelAndStopDelivery. - Lorsque la quantité de la ligne de commande est modifiée, l'API
getItemAvailabilityForStoreest appelée. - Si le stock requis est disponible, l'API
modifyFulfillmentOptionsest appelée dans le mode modifications en attente pour mettre à jour la quantité saisie. - L'API
getCompleteOrderDetailsest appelée pour actualiser la page avec un message affichant le total de la commande mise à jour et les détails du montant dû ou du remboursement. Lorsque vous cliquez sur Sauvegarder, l'APIchangeOrderest appelée pour sauvegarder les modifications apportées à la commande. - Les règles de modification des commandes suivantes doivent être activées à l'aide du gestionnaire d'applications :
ADD_QUANTITYADD_NOTEau niveau de la commande pour obtenir le statut de la commande en cours.
- Les API suivantes sont appelées pour éditer la quantité de ligne de commande:
getItemAvailabilityForStore: Pour extraire la disponibilité en temps réel du produit pour la quantité mise à jour.modifyFulfillmentOptions: Pour mettre à jour la quantité éditée.getCompleteOrderDetails: Pour actualiser la page avec un message affichant le total de la commande mise à jour et le montant dû ou remboursé pour la commande.changeOrder: Pour valider les modifications apportées à la base de données.
Remplacement d'un produit dans la commande par sa variante
Sur la page Modifier la commande, vous pouvez cliquer sur le lien de description du produit pour ouvrir la page Détails du produit. Vous pouvez afficher les variantes du produit et l'ajouter au panier.
Vous pouvez ensuite supprimer la variante précédemment ajoutée de la commande si elle n'est pas requise.
getRuleDetails: Pour extraire l'âge maximal de la commande à partir de la règleWSC_ORDER_AGE.modifyFulfillmentOptions: Pour mettre à jour le produit avec variations.changeOrder: Pour valider les modifications apportées à la base de données.
Modification des méthodes de distribution
- Le droit d'accès aux ressources
ISF000061est requis pour modifier la méthode de livraison d'une ligne de commande. - L'option Editer la méthode de livraison n'est pas disponible si la méthode de livraison de la ligne de commande est CARRY, est
Canceledou est égale àDEL(Delivery line). - Vous pouvez modifier la méthode de livraison d'une ligne de commande en cliquant sur Editer la méthode de livraison. La fenêtre Editer la méthode de livraison s'affiche avec deux onglets, Expédition et Prélèvement. Par défaut, la fenêtre Editer la méthode de distribution affiche l'onglet correspondant à la méthode de distribution en cours de la ligne de commande.
- Lorsque le mode de livraison d'une ligne de commande passe du prélèvement à l'expédition, l'API
modifyFulfillmentOptionsest appelée pour définir l'attributDeliveryMethodsurSHPet l'attributCarrierServiceCodeen fonction de l'option de service de transporteur sélectionnée, le cas échéant.L'API
getCarrierServiceOptionsForOrderingest appelée pour extraire la liste des services de transporteur dans l'onglet Expédition . L'API modifyFulfillmentOptions définit également l'adresse de livraison pour la ligne de commande, si la commande n'a pas encore d'adresse de livraison. - Lorsque la méthode de livraison d'un produit passe de l'expédition à l'enlèvement, l'API
modifyFulfillmentOptionsest appelée pour définir l'attributDeliveryMethodsurPICKet l'attributShipNodesur le magasin sélectionné. La logique implémentée pour sélectionner ou modifier un magasin est applicable.L'API
modifyFulfillmentOptionsest appelée en mode de modifications en attente à condition qu'il n'y ait pas de modifications en attente et que le statut de la ligne de commande soit inférieur àScheduled.Si le statut de la ligne de commande est
Scheduled(MaxLineStatus >= '1500') ou au-delà et que la règle Autoriser les modifications des commandes au-delà du statut prévu (WSC_ALLOW_ORDER_MODIFICATION_POST_RELEASE) est activée dans Sterling Business Center, les modifications en attente sont validées. La ligne de commande est déplanifiée lors de la confirmation.De même, si une expédition est créée pour la ligne de commande, la ligne de commande est supprimée de l'expédition avant que vous ne puissiez procéder à des modifications.
- L'API
getCompleteOrderDetailsest appelée pour actualiser la page avec la nouvelle méthode de distribution. - Lorsque vous cliquez sur Sauvegarder, l'API
changeOrderest appelée pour sauvegarder les modifications apportées à la commande. - La règle de modification de la commande
CHANGE_DELIVERY_METHODdoit être activée à l'aide du gestionnaire d'applications - Les API suivantes sont appelées pour modifier les méthodes de distribution:
modifyFulfillmentOptions: Pour mettre à jour le mode de livraison de ligne de commande existant dans la commande.changeOrder: Pour mettre à jour la nouvelle méthode de livraison de ligne sur la commande.getCarrierServiceOptionsForOrdering: Pour extraire la liste des services de transporteur à afficher dans l'onglet Expédition .getRuleDetails: Pour déterminer si les modifications de commande sont autorisées au-delà du statut planifié à partir de la règleWSC_ALLOW_ORDER_MODIFICATION_POST_RELEASE.getCompleteOrderDetails: Pour actualiser la page avec la nouvelle méthode de distribution.changeOrder: Pour valider les modifications apportées à la base de données.
Ajout, modification et suppression de frais et remplacement de prix dans les lignes de commande
Les droits d'accès aux ressources ISF000050 (Ajouter ou modifier les frais de ligne de commande) et ISF000045 (Remplacement de prix) sont requis pour modifier le mode de livraison d'une ligne de commande.
Affichage et modification des frais-en tant qu'associé de magasin, vous pouvez afficher et modifier les frais des produits en cliquant sur le lien Total de l'article pour chaque ligne de commande.
- L'API
getCompleteOrderDetailsest appelée pour afficher la liste des frais appliqués sur la ligne de commande. - Vous devez disposer des droits requis pour ajouter et modifier des frais de ligne de commande afin d'ajouter ou de modifier les frais actuellement appliqués.
- Seuls les frais appliqués manuellement sont modifiables. Les frais générés automatiquement par le moteur de tarification sont affichés en lecture seule.
- Vous pouvez modifier les frais uniquement si le statut de la ligne de commande est inférieur à Inclus dans l'expédition ou n'est pas Acheminé et que le mode de livraison de la ligne de commande n'est pas égal à
DEL(Delivery line). - Les remarques saisies lors de l'ajout ou de la modification de frais sont enregistrées dans la commande ou la ligne de commande avec
YCD_ADD_MODIFY_CHARGEScomme code raison. - Vous pouvez remplacer le prix uniquement pour les produits des lignes de commande existantes.
- Les règles de modification des commandes suivantes doivent être activées à l'aide du gestionnaire d'applications :
PRICEADD_NOTEau niveau de la ligne de commande pour obtenir le statut de la ligne de commande en cours.
- Les API suivantes sont appelées pour modifier les frais dans les lignes de commande:
getChargeCategoryList: Pour extraire la liste des catégories de frais.getChargeNameList: Pour extraire la liste des noms de frais.changeOrder: Pour appliquer les modifications de frais.getCompleteOrderDetails: Pour afficher la liste des frais appliqués sur la ligne de commande.
Ajout, modification et suppression de frais dans les commandes
Vous pouvez afficher et modifier les frais de tous les produits de la commande en cliquant sur Total de la commande.
- Le droit d'accès aux ressources
ISF000051(Ajouter ou modifier les frais d'en-tête de commande) est requis pour modifier les frais dans les commandes. - L'API
getCompleteOrderDetailsest appelée pour afficher la liste des frais appliqués à la commande. - Vous devez disposer des droits requis pour ajouter et modifier les frais d'en-tête de commande afin d'ajouter ou de modifier les frais actuellement appliqués.
- Seuls les frais appliqués manuellement sont modifiables. Les frais générés automatiquement par le moteur de tarification sont affichés en lecture seule.
- Vous pouvez modifier les frais uniquement si le statut de la commande est inférieur à Inclus dans l'expédition ou n'est pas Acheminé.
- Les remarques saisies lors de l'ajout ou de la modification de frais sont enregistrées dans la commande ou la ligne de commande avec
YCD_ADD_MODIFY_CHARGEScomme code raison. - Les règles de modification des commandes suivantes doivent être activées à l'aide du gestionnaire d'applications :
PRICEADD_NOTEau niveau de la commande pour obtenir le statut de la commande en cours.
- Les API suivantes sont appelées pour modifier les frais dans les commandes:
getChargeCategoryList: Pour extraire la liste des catégories de frais.getChargeNameList: Pour extraire la liste des noms de frais.changeOrder: Pour appliquer les modifications de frais.getCompleteOrderDetails: Pour afficher la liste des frais appliqués à la commande.
Application et suppression de bons de réduction
- Le droit d'accès aux ressources
ISF000052est requis pour mettre à jour des promotions ou des bons de réduction. - Vous pouvez ajouter un nouveau coupon à une commande existante en cliquant sur Editer et en cliquant sur Coupons appliqués. Vous pouvez ensuite numériser ou entrer un code de promotion dans la fenêtre Appliquer des bons de réduction. L'API
translateBarCodeest appelée, suivie de l'APIchangeOrderpour appliquer la promotion. - Vous pouvez également supprimer un coupon appliqué, qui appelle l'API
changeOrder. - Lorsque la fenêtre Appliquer des bons de réduction est fermée, l'API
changeOrderest appelée pour supprimer les promotions non valides des détails de la commande. - Les données ne sont pas sauvegardées définitivement dans la commande tant que vous n'avez pas cliqué sur le bouton Enregistrer. Le fait de cliquer sur Enregistrer permet d'appeler l'API
changeOrderexistante, qui transmet l'attributApplyPendingChanges="Y". - La page Modifier la commande est actualisée avec les données mises à jour, telles que le total de la commande et les remises, en appelant l'API
getCompleteOrderDetailsexistante. - Les règles de modification des commandes suivantes doivent être activées à l'aide du gestionnaire d'applications :
CHANGE_PROMOTIONREMOVE_PROMOTION
- Les API suivantes sont appelées pour modifier la commande en appliquant ou en supprimant des bons de réduction:
getCompleteOrderDetails: Pour obtenir la liste des bons de réduction appliqués et pour actualiser les données de commande après avoir ajouté ou supprimé le bon de réduction.translateBarCodeavecBarCodeType="StoreCoupon". Pour traduire le code à barres d'un bon de réduction.changeOrder: Pour ajouter un nouveau coupon avec l'actionPromotionen tant queCREATEet pour supprimer un coupon avec l'actionPromotionen tant queREMOVE.
Modification des options de cadeau
- Vous ne pouvez pas modifier les options de cadeau pour les lignes CARRY existantes qui sont déjà transportées par le client.
- Vous pouvez modifier les options de cadeau pour les lignes de commande d'expédition et de prélèvement existantes en fonction des droits de modification configurés.
- Vous pouvez marquer toute ligne de commande nouvellement ajoutée comme cadeau. L'option permettant de marquer une ligne de commande comme cadeau est activée uniquement si
MaxLineStatus < 3350(Included in shipment) et qu'elle n'est pas égale à1100.7777(CARRIED). - Le bouton Options de cadeau au niveau de la commande n'est disponible que si au moins une des lignes de commande est valide pour l'application des options de cadeau et dispose de droits de modification. Dans tous les autres cas, vous pouvez utiliser les Options de cadeau au niveau de la ligne de commande.
- L'API
modifyFulfillmentOptionsest appelée pour mettre à jour les informations de cadeau dans la commande. - Les modifications en attente sont validées uniquement en cliquant sur Sauvegarder en appelant l'API
changeOrder. - Les règles de modification des commandes suivantes doivent être activées à l'aide du gestionnaire d'applications :
CHANGE_GIFT_FLAGCHANGE_GIFT_WRAPMARKFORCHANGE_INSTRUCTION
- Les API suivantes sont appelées pour modifier les options de cadeau:
getCompleteOrderLineList: Pour obtenir les détails des options de cadeau qui sont appliquées au niveau de la ligne de commande.getCompleteOrderDetails: Pour obtenir les détails de la commande.modifyFulfillmentOptions: Pour mettre à jour les informations de cadeau dans la commande.changeOrder: Pour valider les modifications apportées à la base de données.
Modification de l'adresse
- Le droit d'accès aux ressources
ISF000062est requis pour modifier l'adresse de la commande. - Vous ne pouvez modifier que l'adresse de commande f
maxOrderStatus < 1500(Scheduled) - Cliquez sur le lien du nom de client dans la page Modifier la commande pour ouvrir la fenêtre Identifier le client . Vous pouvez éditer l'adresse en cours qui s'affiche en cliquant sur Editer l'adresse de livraison. Lors de la modification de l'adresse de commande, toutes les lignes de commande associées à l'adresse de commande sont également mises à jour avec la nouvelle adresse.
- L'adresse mise à jour est enregistrée par rapport à la commande uniquement lorsque vous cliquez sur le bouton Enregistrer dans la page Modifier la commande . Cliquez sur Sauvegarder pour appeler l'API
changeOrderexistante sur la page, qui transmet l'attributApplyPendingChanges="Y". - Les API suivantes sont appelées pour modifier l'adresse:
verifyAddress: Pour vérifier l'adresse.modifyFulfillmentOptions: Pour mettre à jour la commande avec la nouvelle adresse.
Ajout de remarques au niveau de la ligne de commande et de la commande
- Le droit d'accès aux ressources
ISF000057(AddCommentsToOrder) est requis pour ajouter de nouvelles remarques. Si vous ne disposez pas de ce droit d'accès aux ressources, vous pouvez uniquement afficher les remarques existantes. - Lorsque vous cliquez sur le lien Remarques dans le niveau de ligne de commande, la fenêtre Remarques sur le produit s'ouvre et affiche toutes les remarques ajoutées. Vous pouvez cliquer sur Ajouter une nouvelle remarque pour ajouter des remarques au niveau de la ligne de commande.
- Vous pouvez également cliquer sur l'option Remarques dans le menu Actions pour ouvrir la fenêtre Remarques , qui affiche toutes les remarques ajoutées au niveau de la commande. Vous pouvez cliquer sur Ajouter une nouvelle remarque pour ajouter des remarques au niveau de la commande.
- Les remarques n'ont pas besoin d'appeler
ApplyPendingChangescar elles sont directement enregistrées dans la commande. - La règle de modification de la commande
ADD_NOTEdoit être activée à l'aide du gestionnaire d'applications.
Capture du paiement pour le changement dans le total de la commande
- Lors de l'ajout d'une nouvelle ligne de commande, un message s'affiche avec le total de la nouvelle commande et les détails du paiement en attente.
- Lors de l'enregistrement des modifications dans la page Modifier la commande , un message de confirmation s'affiche avec un lien permettant de passer à la page Capturer le paiement .
- Dans la page Capturer le paiement , vous pouvez également afficher les paiements précédemment capturés, le cas échéant. Vous pouvez capturer le montant dû pour effectuer le paiement.
- Une fois le montant total payé, la page Récapitulatif de la commande s'ouvre.
Traitement du remboursement pour les lignes de commande annulées
- Lors de l'annulation d'une ligne de commande, un message s'affiche avec le nouveau total de la commande et les détails du remboursement:
- Si le montant est facturé, le montant exact du remboursement est indiqué.
- Si le montant du remboursement est autorisé, le montant autorisé est annulé sous peu. Le message n'affiche pas le montant exact du remboursement autorisé.
- Si le montant est facturé et autorisé, le montant exact du remboursement est indiqué et le montant autorisé est inversé sous peu.
- Si un paiement ou un remboursement du montant facturé, mais non autorisé, est en attente pour une commande enregistrée, un message d'avertissement s'affiche.
- Lorsque vous sauvegardez les modifications, le remboursement est également traité en arrière-plan à l'aide de l'API
processOrderPayments. Un message de confirmation s'affiche dans la page Modifier la commande avec le récapitulatif du remboursement.Si l'API
processOrderPaymentséchoue, un message d'erreur s'affiche avec une option de nouvelle tentative. Si vous cliquez sur Réessayer, l'APIprocessOrderPaymentsest appelée. Si l'API échoue à plusieurs reprises, vous avez la possibilité d'accéder à la page Récapitulatif de la commande . Ensuite, vous pouvez réessayer en modifiant à nouveau la commande ou le remboursement sera automatiquement traité après un certain temps.