Да у меня есть кое-какие доработки в конфигурации затрагивающие цены, скорее всего дело в них.
Кто разбирается в коде, гляньте пожалуйста, код из init.php
Код |
---|
function p($ar)
{ ?><pre><?print_r($ar);?></pre><? };
global $first_1c_upd;
$first_1c_upd=true;
AddEventHandler("sale", "OnSalePayOrder", "UserDiscount");
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "Catalog1CUpd");
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "CatalogAddProd");
AddEventHandler("iblock", "OnStartIBlockElementUpdate", "CatalogUpdProd");
CModule::IncludeModule("catalog");
function CatalogAddProd ($arFields){
if($arFields["IBLOCK_ID"]==4){
$prices_type=array("Мини-опт"=>4, "Розничная"=>6, "Опт"=>7);
$el=new CIBlockElement;
foreach($arFields["PROPERTY_VALUES"][14] as $arVal)
if($arVal["DESCRIPTION"] == "Упаковка"){
$arPriceType=explode(";",$arVal["VALUE"]);
if(!empty($arPriceType))
foreach($arPriceType as $arPrice){
$arPrice=explode(":",$arPrice);
$arProd=array(
"IBLOCK_ID"=>9,
"NAME"=>$arFields["NAME"]."; Упаковка ".$arPrice[0],
"PROPERTY_VALUES"=>array("50"=>$arFields["ID"],"49"=>intval(str_replace(" шт","",$arPrice[0])))
);
$prodid=$el->Add($arProd);
CPrice::Add(array(
"PRODUCT_ID" => $prodid,
"CATALOG_GROUP_ID" => $prices_type[$arPrice[2]],
"PRICE" => $arPrice[1],
"CURRENCY" => "UAH")
);
if($prices_type[$arPrice[2]]!=6) {
CPrice::Add(array(
"PRODUCT_ID" => $prodid,
"CATALOG_GROUP_ID" => 6,
"PRICE" => $arPrice[1],
"CURRENCY" => "UAH")
);
}
CCatalogProduct::Add(array(
"ID" => $prodid,
"WEIGHT" => $prices_type[$arPrice[2]])
);
}
}
$fp=fopen($_SERVER["DOCUMENT_ROOT"]."/log_add.txt","w");
fwrite($fp,print_r('testtest '.$arFields,true));
fclose($fp);
}
}
function CatalogUpdProd ($arFields){
if($arFields["IBLOCK_ID"]==4){
/*$fp=fopen($_SERVER["DOCUMENT_ROOT"]."/log_upd.txt","a+");
fwrite($fp,print_r($arFields,true));
fclose($fp);*/
}
}
function Catalog1CUpd ($arFields){
CModule::IncludeModule('iblock');
global $first_1c_upd;
$arFields["PROPERTY_VALUES"]["NEWPRODUCT"]=4;
if($first_1c_upd){
$first_1c_upd=false;
$res=CIblockElement::GetList(array(),array("IBLOCK_ID"=>4,"PROPERTY_NEWPRODUCT"=>4,"<DATE_CREATE"=>date("d.m.Y H:i:s",mktime(0,0,0,date("m")-1))));
while($el=$res->Fetch())CIBlockElement::SetPropertyValuesEx($el["ID"],$el["IBLOCK_ID"],array("NEWPRODUCT"=>false));
}
return $arFields;
}
|
Цитата |
---|
С учетом ситуации, может быть выгоднее обновиться |
С удовольствием бы обновился, но столько всего уже сделано и прежде всего это накопительные скидки из-за которых и не обновляюсь: в 10 версии их еще не было, пришлось самому прикручивать и сейчас накопленные скидки (и суммы соответственно) имеют около 3000 клиентов, и каждому ручками прописывать проблематично. А помимо этого реализованы упаковки, полностью переделана корзина. Пусть лучше старая версия стоит.