Подключаете нужное расширение через Bitrix\Main\UI\Extension::load() и пользуетесь классами из документации.
|
|||
|
|
|
|
smi27utc10, вы смотрите таблицу b_file. В ней хранятся сырые данные о файлах, среди них нет информации о том, кто его создал.
Судя по MODULE_ID - файл загружен из диска. Ищите создателя файла через диск. |
|
|
|
|
|
Андрей Жилко, не очень понимаю, в чем вопрос.
Конвертация документа - процесс асинхронный. docx-файл генерируется в runtime, после этого он отправляется на конвертацию. В среднем документы конвертируются за 10-15 секунд, но бывает всякое. Если вам нужен ид pdf-файла, то вам надо подписаться на событие onDocumentTransformationComplete. В обработчик придёт ид документа и данные из getFile(). Тут есть описание При этом при конвертации может произойти ошибка и pdf там не будет. В этом случае можно попробовать отправить на конвертацию повторно. |
|
|
|
|
|
Виктор Магдин, здравствуйте.
Сейчас в апи нет "нормального" способа изменения значений внутри массивов. Пропустил эту возможность. В следующем обновлении я добавлю какой-нибудь нормальный метод для этого дела. Пока что воспользуйтесь Reflection API для доступа к $data внутри нужного товара и меняйте поля там. Ниже пример кода.
|
|||
|
|
|
|
Ярослав, это упрощенный пример.
Понятно, что простую таблицу вставить можно. У меня даже есть закомментированные метод generateSpreadsheets() в классе \Bitrix\DocumentGenerator\Body\DocxXml. Можно раскомментировать и поиграться. Проблема в том, что мне не удалось добиться хорошего результата для разных вариантов данных / разной сложности таблиц. Это как вставка картинок. Чисто теоретически, можно было бы вставлять картинки вместо текста. Но это сложно и не всегда предсказуемый / качественный результат. В итоге я отказался от идеи доделывать вставку таблиц вручную и оно работает так, как работает сейчас. |
|
|
|
|
|
|||
|
|
|