); if($contractorId > 0) $arGeneral["CONTRACTOR_ID"] = $contractorId; if(strlen($currency) > 0) $arGeneral["CURRENCY"] = $currency; if(strlen($_REQUEST["CAT_DOCUMENT_SUM"]) > 0) $arGeneral["TOTAL"] = doubleval($_REQUEST["CAT_DOCUMENT_SUM"]); if($ID > 0) { unset($arGeneral['CREATED_BY']); if(CCatalogDocs::update($ID, $arGeneral)) $docId = $ID; } else $ID = $docId = CCatalogDocs::add($arGeneral); if($ID > 0) { $dbElement = CCatalogStoreDocsElement::getList(array(), array("DOC_ID" => $ID), false, false, array("ID")); while($arElement = $dbElement->Fetch()) { CCatalogStoreDocsElement::delete($arElement["ID"]); $dbDocsBarcode = CCatalogStoreDocsBarcode::getList(array(), array("DOC_ELEMENT_ID" => $arElement["ID"]), false, false, array("ID")); while($arDocsBarcode = $dbDocsBarcode->Fetch()) CCatalogStoreDocsBarcode::delete($arDocsBarcode["ID"]); } } if(isset($_POST["PRODUCT"]) && is_array($_POST["PRODUCT"]) && $docId) { $arProducts = ($_POST["PRODUCT"]); foreach($arProducts as $key => $val)
{ $arElement[$key] = $value; } if($arDocumentElement['IS_MULTIPLY_BARCODE'] == 'N') { $dbDocumentElementBarcode = CCatalogStoreDocsBarcode::getList(array(), array("DOC_ELEMENT_ID" => $arDocumentElement["ID"]), false, false, array("BARCODE")); while($arDocumentElementBarcode = $dbDocumentElementBarcode->Fetch()) { $arElement["BARCODE"][] = $arDocumentElementBarcode["BARCODE"]; } } $arResult["ELEMENT"][] = $arElement; } } $result = CCatalogDocs::add($arResult); if($result == true) $DB->Commit(); else $DB->Rollback(); if($ex = $APPLICATION->GetException()) { $strError = $ex->GetString(); $lAdmin->AddGroupError($strError, $ID); } break; } } }