ANS-1319 · SERVICES WEB ET INTéGRATIONS
Services Web NetSuite : Recherche dans le stock sérialisé (emplacement avancé)
Apprenez à récupérer les détails de l'inventaire sérialisé, y compris les numéros d'emplacement et les quantités, pour les articles configurés avec la gestion avancée des stocks.
Solution courte
Pour rechercher des articles de stock sérialisés via les services Web NetSuite, utilisez `ItemSearchAdvanced` avec `inventoryDetailJoin` pour les numéros d'emplacement et les quantités. Un `InventoryNumberSearch` supplémentaire est nécessaire pour récupérer les numéros de série réels, car la recherche initiale ne renvoie que leurs identifiants internes.
Scénario
Les utilisateurs doivent récupérer par programmation des informations détaillées sur les articles en stock sérialisés, notamment leurs numéros de série, leurs emplacements de stockage et leurs quantités, lorsque la fonctionnalité « Gestion avancée des emplacements / des stocks numérotés » est activée dans NetSuite. La première tentative d’utilisation de `ItemSearchAdvanced` ne renvoie que l’identifiant interne du numéro d’inventaire, et non le numéro de série lui-même.
Solution
Les services Web NetSuite peuvent être utilisés pour rechercher des articles de stock sérialisés lorsque la fonctionnalité « Gestion avancée des emplacements / Stock numéroté » est activée. Ce processus implique généralement une recherche initiale des détails de l’article, suivie d’une recherche plus spécifique des numéros de stock (numéros de série) eux-mêmes.Remarque importante concernant les services Web et les versions WSDL : les exemples suivants utilisent des services Web SOAP avec des versions WSDL illustrant une implémentation plus ancienne. NetSuite procède activement à la dépréciation des services Web SOAP, dont la dépréciation complète est prévue pour la version 2028.2. Pour les nouvelles intégrations, il est vivement recommandé d’utiliser les services Web REST. Le dernier point de terminaison SOAP prévu est la version 2025.2. Bien que les concepts fondamentaux de ItemSearchAdvanced et inventoryDetailJoin restent d’actualité, les espaces de noms WSDL spécifiques indiqués ci-dessous reflètent une approche plus ancienne. 1. Recherche initiale des détails d’un article à l’aide de ItemSearchAdvanced : pour récupérer les détails généraux d’un article et les informations d’inventaire associées, y compris les numéros d’emplacement et les quantités, une requête ItemSearchAdvanced peut être effectuée. Cette recherche renverra l’identifiant interne du numéro d’inventaire, qui pourra ensuite être utilisé dans une recherche ultérieure pour obtenir le numéro de série réel.
xml<soapenv:Body> <platformMsgs:search xmlns:platformCommon="urn:common_2012_1.platform.webservices.netsuite.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:platformCore="urn:core_2012_1.platform.webservices.netsuite.com" xmlns:platformMsgs="urn:messages_2012_1.platform.webservices.netsuite.com" xmlns:s0="urn:accounting_2012_1.lists.webservices.netsuite.com"> <platformMsgs:searchRecord xsi:type="s0:ItemSearchAdvanced"> <s0:criteria> <s0:basic> <platformCommon:internalId operator="anyOf"> <platformCore:searchValue internalId="111"type="serializedInventoryItem" /> </platformCommon:internalId> </s0:basic> </s0:criteria> <s0:columns> <s0:inventoryDetailJoin> <platformCommon:binNumber /> <platformCommon:externalId /> <platformCommon:internalId /> <platformCommon:inventoryNumber /> <platformCommon:quantity /> </s0:inventoryDetailJoin> </s0:columns> </platformMsgs:searchRecord> </platformMsgs:search></soapenv:Body>La réponse attendue de cette recherche inclura le inventoryDetailJoin avec l’identifiant interne du numéro d’inventaire :
xml<soapenv:Body> <searchResponsexmlns="urn:messages_2012_1.platform.webservices.netsuite.com"> <platformCore:searchResultxmlns:platformCore="urn:core_2012_1.platform.webservices.netsuite.com"> <platformCore:status isSuccess="true" /> <platformCore:totalRecords>31</platformCore:totalRecords> <platformCore:pageSize>1000</platformCore:pageSize> <platformCore:totalPages>1</platformCore:totalPages> <platformCore:pageIndex>1</platformCore:pageIndex> <platformCore:searchId>WEBSERVICES_TSTDRV594049_05162012145800475280551266_a0a82b34</platformCore:searchId> <platformCore:searchRowList> <platformCore:searchRowxsi:type="listAcct:ItemSearchRow"xmlns:listAcct="urn:accounting_2012_1.lists.webservices.netsuite.com"> <listAcct:inventoryDetailJoinxmlns:platformCommon="urn:common_2012_1.platform.webservices.netsuite.com"> <platformCommon:internalId> <platformCore:searchValue internalId="35" /> </platformCommon:internalId> <platformCommon:inventoryNumber> <platformCore:searchValue internalId="38" /> </platformCommon:inventoryNumber> <platformCommon:quantity> <platformCore:searchValue>1.0</platformCore:searchValue> </platformCommon:quantity> </listAcct:inventoryDetailJoin> </platformCore:searchRow>.... .... .... </platformCore:searchRowList> </platformCore:searchResult> </searchResponse></soapenv:Body>Il est important de noter que cette réponse ne renvoie que l’identifiant interne du numéro d’inventaire (numéro de série).2. Recherche ultérieure des numéros de série à l’aide de InventoryNumberSearch : Pour obtenir la chaîne de caractères du numéro de série proprement dit, une recherche distincte à l’aide de InventoryNumberSearch est nécessaire, généralement en utilisant l’identifiant interne récupéré à partir du résultat de ItemSearchAdvanced.
xml<soapenv:Body> <platformMsgs:search xmlns:platformCommon="urn:common_2012_1.platform.webservices.netsuite.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:platformCore="urn:core_2012_1.platform.webservices.netsuite.com" xmlns:platformMsgs="urn:messages_2012_1.platform.webservices.netsuite.com" xmlns:s0="urn:accounting_2012_1.lists.webservices.netsuite.com"> <platformMsgs:searchRecord xsi:type="s0:InventoryNumberSearchSupport expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Services Web et intégrations
