@Ex1st

Кастомные поля в документах Bitrix CRM?

Нужно вывести в товарном чеке значения из свойств товара. Нашел вот такую ссылку , почитал, сделал кастомное поле в списке полей.

Но не смог найти инфу, как назначить на созданное поле свойства товара? Как в коде узнать ID товара, чтобы уже по нему цеплять любые значения?

Вот код, как добавил поле в список полей.
\Bitrix\Main\EventManager::getInstance()->addEventHandler('documentgenerator', 'onGetDataProviderList', 'orderReceiptGenerator');
function orderReceiptGenerator()
{
    \Bitrix\Main\Loader::includeModule('documentgenerator');

    class orderReceiptGenerator extends \Bitrix\DocumentGenerator\DataProvider implements \Bitrix\DocumentGenerator\Nameable
    {
        public function getFields()
        {
            return [
                'CODE' => [
                    'TITLE' => 'Код',
                    'VALUE' => function()
                    {
                        return 'test';
                    }
                ],
            ];
        }

        public function isLoaded()
        {
            return true;
        }

        public static function getLangName()
        {
            return 'Код';
        }
    }

    $result['orderReceiptGenerator'] = [
        'NAME' => 'Товарный чек (склад)',
        'CLASS' => 'orderReceiptGenerator',
        'MODULE' => 'documentgenerator',
    ];

    return $result;
}
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Возьмите за основу любой имеющийся провайдер (в недрах компонента documentgenerator, которые наследуются от DataProvider) и смотрите каким образом они поля объявляют.

P.S. В функции генерить класс это конечно великолепно :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы