Не могу получить выборку элементов смарт-процесса (СП) с фильтром по наблюдателям.
К СП наблюдатели подключены, в некоторых элементах поле это заполнено.
Делаю примерно:
Код |
---|
<?php
use Bitrix\Crm\Service;
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
$entityTypeId = 157;
$factory = Service\Container::getInstance()->getFactory($entityTypeId);
$r = $factory->getItems(['filter'=>['observers'=>504]]);
|
В ответ:
Код |
---|
[Error]
Call to undefined method Bitrix\Main\ORM\Fields\Relations\OneToMany::getColumnName() (0)
/home/bitrix/www/bitrix/modules/main/lib/orm/query/chainelement.php:266
#0: Bitrix\Main\ORM\Query\ChainElement->getSqlDefinition()
/home/bitrix/www/bitrix/modules/main/lib/orm/query/chain.php:499
#1: Bitrix\Main\ORM\Query\Chain->getSqlDefinition()
/home/bitrix/www/bitrix/modules/main/lib/orm/query/query.php:2620
#2: Bitrix\Main\ORM\Query\Query->getFilterCswFields(array)
/home/bitrix/www/bitrix/modules/main/lib/orm/query/query.php:2228
#3: Bitrix\Main\ORM\Query\Query->buildWhere()
/home/bitrix/www/bitrix/modules/main/lib/orm/query/query.php:2461
#4: Bitrix\Main\ORM\Query\Query->buildQuery()
/home/bitrix/www/bitrix/modules/main/lib/orm/query/query.php:933
#5: Bitrix\Main\ORM\Query\Query->exec()
/home/bitrix/www/bitrix/modules/main/lib/orm/data/datamanager.php:513
#6: Bitrix\Main\ORM\Data\DataManager::getList(array)
/home/bitrix/www/bitrix/modules/crm/lib/Model/Dynamic/PrototypeItem.php:159
#7: Bitrix\Crm\Model\Dynamic\PrototypeItem::getList(array)
/home/bitrix/www/bitrix/modules/crm/lib/Service/Factory.php:384
#8: Bitrix\Crm\Service\Factory->getItems(array)
/home/bitrix/www/get_sp.php:28 |
Если в фильтрах не указывать observers -- запрос проходит, но в возвращаемых данных observers - пусто
Это так у всех? Или конкретно мне не повезло?!
Есть подозрения, что связь с наблюдателями где-то в кодне не прописали. Или я что-то не так делаю? Может быть я могу что-то со своей стороны сделать, не влезая сильно в код ядра?
ORM описание таблицы b_crm_observer есть, лежит в /bitrix/modules/crm/lib/observer/entity/observertable.php (содержимое явно больше, чем создается по умолчанию через админку).
Пробовал для таблицы СП делать GetList - та же история: без фильтра по наблюдателю работает, с фильтром -- уходит по тому же пути и в итоге приходит к той же ошибке.