- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/product/catalogprovider.php
- Класс: BitrixCatalogProductCatalogProvider
- Вызов: CatalogProvider::deleteBarcode
static function deleteBarcode(array $storeData): SaleResult
{
$result = new SaleResult();
$storeId = $storeData["STORE_ID"];
$productId = $storeData["PRODUCT_ID"];
$barcodeMulti = $storeData['IS_BARCODE_MULTI'];
$barcodeList = $storeData['BARCODE'];
foreach ($barcodeList as $barcodeValue)
{
if (trim($barcodeValue) == "" || !$barcodeMulti)
{
continue;
}
$result = new SaleResult();
$barcodeFields = array(
"STORE_ID" => $storeId,
"BARCODE" => $barcodeValue,
"PRODUCT_ID" => $productId
);
$dbres = CCatalogStoreBarcode::GetList(
array(),
$barcodeFields,
false,
false,
array("ID", "STORE_ID", "BARCODE", "PRODUCT_ID")
);
$catalogStoreBarcodeRes = $dbres->Fetch();
if ($catalogStoreBarcodeRes)
{
CCatalogStoreBarcode::Delete($catalogStoreBarcodeRes["ID"]);
}
else
{
$result->addError(
new SaleResultError(
MainLocalizationLoc::getMessage(
"DDCT_DEDUCTION_BARCODE_ERROR",
array_merge(
self::getProductCatalogInfo($productId),
array("#BARCODE#" => $barcodeValue)
)
), "DDCT_DEDUCTION_BARCODE_ERROR"
)
);
}
}
return $result;
}