Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Ахат Баязи написал: а вообще ссылки можно как-то передавать в провайдер?
Специально ссылки никак не обрабатываются, всё вставляется как текст. Дальше зависит от конкретного редактора. Кто-то может подсветить часть текста, кто-то не подсветит
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Игорь Акинфиев написал: Здравствуйте, генерирую таблицу все нормально получается, но есть загвостка , товар периодически составной и мне нужно его выделить жирным и изменить нумератор для составляющих. по типу
Не нашел как это можно сделать. ( формируется в одной таблице)
1. плата 1.1. диод 1.2. припой 2. плата2
Если коробка, то вы можете сделать обработчик события onBeforeProcessDocument, в котором дописывать нужный вам номер к названию товара. Жирность можно добавить с помощью html-тега <b>
Пример обработчика событий с изменением содержимого товаров где-то есть выше в этой теме
В облаке можно такое сделать, но только через рест
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Алексей Гребнев, код правильный, но для его работы надо ещё передать описание новых полей.
Ниже полный пример с записью данных из своей таблицы. Вам по аналогии надо заполнить поля и передать в setFields() В этом примере используется провайдер для реста (это на случай, если у вас все данные свои). Уберите лишние поля, а описания своих добавьте
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Алексей Гребнев написал: т.к. первым будет все равно вызываться провайдер Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal
На предыдущей странице этого топика я рассказывал, что можно сделать.
Вам надо перехватить результат отправки аякс-запроса на получение списка шаблонов для текущей сущности и переопределить его, добавив туда нужный вам провайдер вместо стандартного.
После этого всё должно заработать само, из сделки будет печататься документ через ваш провайдер
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Алексей Гребнев написал: Как я понимаю в этот список полей попасть невозможно вообще.Эти окна вызываются из окна просмотра/редактирования сделки - http://joxi.ru/YmE1JwKcwWnZQm а там, в свою очередь, в запросе отправляется класс DataProvider
попасть в список полей стандартного провайдера нельзя, только через пользовательские поля, но вы туда не добавите свой провайдер.
сразу же при переходе из сделки получить в фильтре свой провайдер-наследник не получится, только если хаками с переопределением компонента или внедрением js, которое поменяет фильтр и применит его.
Главное проверить, что ваш провайдер появился в списке провайдеров в фильре. Дальше дело техники.
Цитата
Алексей Гребнев написал: А в один шаблон документа можно плейсхолдеры (макросы) вставлять из разных провайдеров?
теоретически - можно, но там всё непросто. Надо пробовать и дебажить. Проще уже на событии получать нужные значения и записывать их.
Вы попробовали способ, который я посоветовал? Там для прототипа работы совсем немного
Генератор документов - феррари на которой можно ездить только вокруг дома, Новый модуль получился хорошим но не предназначен для использования разработчиками.
Это будет непросто. Порядок действий примерно следующий:
1. унаследовать \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal - это будет ваш новый провайдер, из которого вы будете печатать документы. Это будет та же сделка, но с дополнительным набором полей 2. добавить этот класс через событие onGetDataProviderList (https://dev.1c-bitrix.ru/api_d7/bitrix/documentgenerator/customization.php) с привязкой к модулю crm. Проверить, что провайдер отобразился в списке в настройке шаблона. 3. Добавить ваши новые поля в ваш новый провайдер