if arFields IBLOCK_ID CATALOG_IBLOCK_ID_NE output date SetSaleProp fil

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
if($arFields["IBLOCK_ID"] == CATALOG_IBLOCK_ID_NEW)
{
$output = date('d.m.Y H:i:s') . ' SetSaleProp' . "\n";
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/bitrix/success_events.log', $output, FILE_APPEND);
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/bitrix/event_SetSaleProp.log', var_export($arFields, true), FILE_APPEND);
CModule::IncludeModule("iblock");
$arOrder = array(
"sort" => "asc"
);
$arFilter = array(
"CODE" => CATALOG_TRAITS_PROP_CODE,
);
$be = new CIBlockElement;
/**
* получить все значения множественного свойства Реквизиты
*/
$rsTraitsProp = $be->GetProperty(
$arFields["IBLOCK_ID"],
$arFields["ID"],
$arOrder,
$arFilter
);
while($arItem = $rsTraitsProp->GetNext())
{
/**
* среди множества значений выделить значение ЦенаБезСкидки
*/
if($arItem["DESCRIPTION"] == CATALOG_TRAITS_PROP_DESCRIPTION)
{
/**
* поле приходи из 1с всегда числовое 0.00, если на стороне 1с не установлено свойство
*/
if($arItem['VALUE'] <> "")
{
if(is_numeric($arItem['VALUE']) && $arItem['VALUE'] > 0)
{
$idPropEnum = CATALOG_SALE_PROP_ENUM_ID_YES;
}
else
{
$idPropEnum = CATALOG_SALE_PROP_ENUM_ID_NO;
}
CIBlockElement::SetPropertyValuesEx(
$arFields["ID"],
$arFields["IBLOCK_ID"],
array(
CATALOG_SALE_PROP_CODE => $idPropEnum,
)
);
}
}
}
$output .= date('d.m.Y H:i:s') . ' SetSaleProp end' . "\n";
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/bitrix/success_events.log', $output, FILE_APPEND);
}