"MODIFIED_BY" => (0 < $intUserID ? $intUserID : "") ); CSaleStoreBarcode::Add($arStoreBarcodeFields); } foreach ($arStoreSavedRecords as $storeId => $arStoreBarcodeRecord) { if (!in_array($storeId, $arStoreIDToAdd) && !in_array($storeId, $arStoreIDToDelete)) { if ($arStoreBarcodeRecord["QUANTITY"] != $arStoreFormRecords[$arStoreBarcodeRecord["STORE_ID"]]["QUANTITY"]) { CSaleStoreBarcode::Update( $arStoreBarcodeRecord["ID"], array( "QUANTITY" => $arStoreFormRecords[$arStoreBarcodeRecord["STORE_ID"]]["QUANTITY"], "MODIFIED_BY" => (0 < $intUserID ? $intUserID : "") ) ); } } } $arProduct["HAS_SAVED_QUANTITY"] = "Y"; } else //BARCODE_MULTI = Y { $arStoreFormRecords = array(); foreach ($arProduct["STORES"] as $index => $arStore) { $arStoreFormRecords[$arStore["STORE_ID"]] = $arStore; }
foreach ($arStoreSavedRecords as $index => $arRecord) { if (!in_array($arRecord["STORE_ID"], array_keys($arStoreFormRecords))) { $arStoreIDToDelete[$arRecord["ID"]] = $arRecord["STORE_ID"]; } } foreach ($arStoreIDToDelete as $id => $storeId) { CSaleStoreBarcode::Delete($id); } foreach ($arStoreIDToAdd as $addId) { $arStoreBarcodeFields = array("BASKET_ID" => $arProduct["BUSKET_ID"], "BARCODE" => "", "STORE_ID" => $addId, "QUANTITY" => $arStoreFormRecords[$addId]["QUANTITY"], "CREATED_BY" => intval($GLOBALS["USER"]->GetID()) > 0 ? IntVal($GLOBALS["USER"]->GetID()) : "", "MODIFIED_BY" => intval($GLOBALS["USER"]->GetID()) > 0 ? IntVal($GLOBALS["USER"]->GetID()) : ""); CSaleStoreBarcode::Add($arStoreBarcodeFields); } foreach ($arStoreSavedRecords as $storeId => $arStoreBarcodeRecord) { if (!in_array($storeId, $arStoreIDToAdd) && !in_array($storeId, $arStoreIDToDelete)) { if ($arStoreBarcodeRecord["QUANTITY"] != $arStoreFormRecords[$arStoreBarcodeRecord["STORE_ID"]]["QUANTITY"]) { CSaleStoreBarcode::Update($arStoreBarcodeRecord["ID"], array("QUANTITY" => $arStoreFormRecords[$arStoreBarcodeRecord["STORE_ID"]]["QUANTITY"], "MODIFIED_BY" => intval($GLOBALS["USER"]->GetID()) > 0 ? IntVal($GLOBALS["USER"]->GetID()) : "")); } } } $arProduct["HAS_SAVED_QUANTITY"] = "Y"; } else { $arStoreFormRecords = array(); foreach ($arProduct["STORES"] as $index => $arStore) { $arStoreFormRecords[$arStore["STORE_ID"]] = $arStore; } //deleting all previous records $dbStoreBarcode = CSaleStoreBarcode::GetList(array(), array("BASKET_ID" => $arProduct["BUSKET_ID"]), false, false, array("ID", "BASKET_ID", "BARCODE", "QUANTITY", "STORE_ID")); while ($arStoreBarcode = $dbStoreBarcode->GetNext()) { CSaleStoreBarcode::Delete($arStoreBarcode["ID"]); } //adding new values