} if ($isErrorSaveBarcode) { $strWarning .= GetMessage("C2IT_ERROR_SAVE_BARCODE"); break; } } if (isset($_REQUEST["CAT_BARCODE_ADD"]) && is_array($_REQUEST["CAT_BARCODE_ADD"])) { foreach ($_REQUEST["CAT_BARCODE_ADD"] as $barcodeToAdd) { if (trim($barcodeToAdd) != '') { $arBarCodeFieldsAdd[] = array("BARCODE" => trim($barcodeToAdd), "PRODUCT_ID" => $PRODUCT_ID, "CREATED_BY" => $userId, "MODIFIED_BY" => $userId, "STORE_ID" => 0); } } } if (count($arBarCodeFieldsAdd) > 0 && is_array($arBarCodeFieldsAdd)) { foreach ($arBarCodeFieldsAdd as $arCodeToAdd) { if (!CCatalogStoreBarCode::Add($arCodeToAdd)) { $strWarning .= GetMessage("C2IT_ERROR_SAVE_BARCODE"); break; } } } } $arFields = array("ID" => $PRODUCT_ID, "QUANTITY_TRACE" => $quantityTrace, "WEIGHT" => $CAT_BASE_WEIGHT, "WIDTH" => $CAT_BASE_WIDTH, "LENGTH" => $CAT_BASE_LENGTH, "HEIGHT" => $CAT_BASE_HEIGHT, "VAT_ID" => $CAT_VAT_ID, "VAT_INCLUDED" => $CAT_VAT_INCLUDED, "CAN_BUY_ZERO" => $useStore, "NEGATIVE_AMOUNT_TRACE" => $negativeAmount, "PRICE_TYPE" => false, "RECUR_SCHEME_TYPE" => false, "RECUR_SCHEME_LENGTH" => false, "TRIAL_PRICE_ID" => false, "WITHOUT_ORDER" => false, "BARCODE_MULTI" => $barcodeMultiply, "MEASURE" => $CAT_MEASURE); if ($USER->CanDoOperation('catalog_purchas_info') && !$bUseStoreControl) { if (isset($_POST['CAT_PURCHASING_PRICE']) && trim($_POST['CAT_PURCHASING_PRICE']) != '' && isset($_POST['CAT_PURCHASING_CURRENCY']) && trim($_POST['CAT_PURCHASING_CURRENCY']) != '') { $arFields['PURCHASING_PRICE'] = $_POST['CAT_PURCHASING_PRICE']; $arFields['PURCHASING_CURRENCY'] = $_POST['CAT_PURCHASING_CURRENCY']; } } if (isset($_POST['SUBSCRIBE'])) { $arFields['SUBSCRIBE'] = strval($_POST['SUBSCRIBE']);
protected function applyBarCode($arFields, $userId) { $barCode = $arFields["BARCODE"]; $elementId = $arFields["PRODUCT_ID"]; $storeToId = isset($arFields["STORE_ID"]) ? $arFields["STORE_ID"] : 0; $storeFromId = isset($arFields["STORE_FROM"]) ? $arFields["STORE_FROM"] : 0; $storeName = CCatalogStoreControlUtil::getStoreName($storeFromId); $productInfo = CCatalogStoreControlUtil::getProductInfo($elementId); $newStore = 0; $userId = intval($userId); $result = false; $rsProps = CCatalogStoreBarCode::GetList(array(), array("BARCODE" => $barCode), false, false, array('ID', 'STORE_ID', 'PRODUCT_ID')); if ($arBarCode = $rsProps->Fetch()) { if ($storeFromId > 0) { if ($storeToId > 0) { if ($arBarCode["STORE_ID"] == $storeFromId && $arBarCode["PRODUCT_ID"] == $elementId) { $newStore = $storeToId; } else { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("CAT_DOC_WRONG_STORE_BARCODE", array("#STORE#" => '"' . $storeName . '"', "#PRODUCT#" => '"' . $productInfo["NAME"] . '"', "#BARCODE#" => '"' . $barCode . '"'))); return false; } } } else { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("CAT_DOC_BARCODE_ALREADY_EXIST", array("#PRODUCT#" => '"' . $productInfo["NAME"] . '"', "#BARCODE#" => '"' . $barCode . '"'))); return false; } if ($newStore > 0) { $result = CCatalogStoreBarCode::update($arBarCode["ID"], array("STORE_ID" => $storeToId, "MODIFIED_BY" => $userId)); } else { $result = CCatalogStoreBarCode::delete($arBarCode["ID"]); } } else { if ($storeFromId > 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("CAT_DOC_WRONG_STORE_BARCODE", array("#STORE#" => '"' . $storeName . '"', "#PRODUCT#" => '"' . $productInfo["NAME"] . '"', "#BARCODE#" => '"' . $barCode . '"'))); return false; } elseif ($storeToId > 0) { $result = CCatalogStoreBarCode::Add(array("PRODUCT_ID" => $elementId, "STORE_ID" => $storeToId, "BARCODE" => $barCode, "MODIFIED_BY" => $userId, "CREATED_BY" => $userId)); } } return $result; }
{ if (!CCatalogStoreBarCode::Delete($arId[0])) $strWarning .= GetMessage("C2IT_ERROR_SAVE_BARCODE"); } } else { if(!CCatalogStoreBarCode::Update($arId[0], array("MODIFIED_BY" => $userId, "STORE_ID" => 0))) $strWarning .= GetMessage("C2IT_ERROR_SAVE_BARCODE"); } } elseif(count($arId) == 0) { if(trim($_REQUEST["SUBCAT_BARCODE"]) != '') { if(!CCatalogStoreBarCode::Add($arBarCodeFields)) $strWarning .= GetMessage("C2IT_ERROR_SAVE_BARCODE"); } } else { $strWarning .= GetMessage("C2IT_ERROR_SAVE_MULTIBARCODE"); $barcodeMultiply = 'Y'; } } $arFields = array( "ID" => $PRODUCT_ID, "QUANTITY_TRACE" => $quantityTrace, "WEIGHT" => $SUBCAT_BASE_WEIGHT, "WIDTH" => $SUBCAT_BASE_WIDTH,