npm install -g @bitrix/cli@3.1.1
\Bitrix\Catalog\Model\Price::update($PriceId,$arPrice);
который вы используете для обновления, использовать что-то вроде:\Bitrix\Catalog\Model\Price::add(array(
'CATALOG_GROUP_ID'=>$PriceId,
'PRODUCT_ID'=>$ProductId,
'PRICE'=>$Price,
'CURRENCY'=>'RUB',
));
Host github.com-repo-1
Hostname github.com
IdentityFile=/home/bitrix/.ssh/id_rsa-repo-1
Host github.com-repo-2
Hostname github.com
IdentityFile=/home/bitrix/.ssh/id_rsa-repo-2
Host github.com-repo-3
Hostname github.com
IdentityFile=/home/bitrix/.ssh/id_rsa-repo-3
$a1 = array(
0 => 'значение 1',
1 => 'значение 2',
2 => 'значение 3',
);
$a2 = array(
0 => 'значение 4',
1 => 'значение 5',
2 => 'значение 6',
3 => 'значение 7',
4 => 'значение 8',
5 => 'значение 9',
6 => 'значение 10',
);
$a3 = array(
0 => 'значение 11',
1 => 'значение 12',
2 => 'значение 13',
3 => 'значение 14',
4 => 'значение 15',
);
$a = [];
foreach ($a1 as $i1=>$v1) {
foreach ($a2 as $i2=>$v2) {
foreach ($a3 as $i3=>$v3) {
$a[] = [$v1,$v2,$v3];
}
}
}
var_dump($a);
// грууппы этого правила для скидки
$lstGruopsIDs = array_column(
\Bitrix\Sale\Internals\DiscountGroupTable::getList(['filter'=>['DISCOUNT_ID'=>$dctPrototype['ID']]])->fetchAll(),
'GROUP_ID'
);
// переменовываем
$dctPrototype['NAME'] = 'Автоматическая скидка';
// так надо
$dctPrototype['VERSION'] = intval($dctPrototype['VERSION']);
// удаляем лишние поля
unset($dctPrototype['MODIFIED_BY'],$dctPrototype['ID']);
// заменяем id пользователя
$dctPrototype['CONDITIONS_LIST']['CHILDREN'][0]['DATA']['value'][0] = $UserId;
$dctPrototype['UNPACK'] = str_replace(
'Bitrix\Main\Discount\UserConditionControl::checkBasket($arOrder, array(1), \'Equal\')',
'Bitrix\Main\Discount\UserConditionControl::checkBasket($arOrder, array('.$UserId.'), \'Equal\')',
$dctPrototype['UNPACK']
);
// добавляем
$result = \Bitrix\Sale\Internals\DiscountTable::add($dctPrototype);
if ($result->isSuccess()) {
$DISCOUNT_ID = $result->getId();
// добавляем группы
foreach ($lstGruopsIDs as $GROUP_ID) {
\Bitrix\Sale\Internals\DiscountGroupTable::add([
'ACTIVE'=>'Y',
'DISCOUNT_ID'=>$DISCOUNT_ID,
'GROUP_ID'=>$GROUP_ID
]);
}
}
<script type="extension/settings" name="user">{"token":""}</script>