Обновить сумму в полях "Тип цены" у элементов
Ребята подскажите пожалуйста, очень нужно. У меня есть инфоблок "Услуги", в нем есть элементы, у каждого элемента есть базовая цена и несколько вариантов "Тип цены" для других городов. Эти элементы делались в ручную и не участвуют в обмене с 1С.
Сейчас стоит задача автоматизировать все это дело, через SOAP получаю данные по этим элементам в таком виде:
[0] => stdClass Object
(
[tovar] => Установка встраиваемой посудомоечной машины: PREMIUM
[shortname] => test
[guid] => c5683b2e-d780-11e8-80eb-1866da78d386
[codbitrix] => 10516575
[tablesprice] => stdClass Object
(
[spisok] => Array
(
[0] => stdClass Object
(
[name] => Розничная NewCastle
[guid] => c6e0d04e-008a-11e7-bfb0-001e670c9280
[price] => 0
)
[1] => stdClass Object
(
[name] => Розничная Bosch Manchester
[guid] => 746e270b-fdd2-11e8-80ef-1866da78d386
[price] => 0
)
[2] => stdClass Object
(
[name] => Розничная Sony Studgart
[guid] => 42f61408-1802-11e4-9698-001e670c9280
[price] => 0
)
[3] => stdClass Object
(
[name] => Розничная Val
[guid] => fbb1d90d-250f-11e3-a8b4-001e670c9280
[price] => 12990
)
[4] => stdClass Object
(
[name] => Розничная London
[guid] => efc9496c-b790-11e1-afc8-001e670c9281
[price] => 13990
)
[5] => stdClass Object
(
[name] => Розничная Simple
[guid] => 5ffdd770-c548-11e3-b70c-001e670c9280
[price] => 12990
Пытаюсь обновлять данные из [spisok] по полю guid, он соответствует полю xml_id, но в CPrice::Update нужно передавать CATALOG_GROUP_ID, который соответсвует id на стороне bitrix, а как можно сверить внешний ключ "XML_ID" который пришел из 1С "5ffdd770-c548-11e3-b70c-001e670c9280", и то что на стороне сайта соотвествует этому XML_ID и установить ему цену например 12990 у которой guid = 5ffdd770-c548-11e3-b70c-001e670c9280
Несколько дней пытаюсь, не получается установить нужные цены нужным "Тип цены".
Ответы (1 шт):
Непонятно в чём сложность. Задавать соответствие guid и XML_ID типа цены вы можете сами и проверять в своём РНР скрипте на стороне битрикс. Если ваши цены не создавались при обмене, то внешний код не будет совпадать с тем что в 1С. Получать данные значений XML_ID битрикса можно с помощью GetByID https://dev.1c-bitrix.ru/api_help/catalog/classes/ccataloggroup/ccataloggroup__getbyid.cc56219b.php