Цитата |
---|
Ахат Баязи написал: после запуска генератора документов, если произошел какой-нить сбой при генерации, самоудаляются товар из таблицы товаров в сущности (Сделка или ЛИД) |
02.06.2020 10:20:33
|
|||
|
01.06.2020 21:49:40
Ахат Баязи, за конвертацию в pdf отвечает отдельный модуль (transformer). Конвертация выполняется на облачных серверах компании 1с-битрикс. Чтобы она корректно работала, модуль должен быть доступен снаружи и в настройках модуля должен быть указан корректный публичный адрес.
Если всё настроено, но по-прежнему не работает - проверьте корректность настроек ssl-сертификата. Если ничего не помогло - в техподдержку |
|
|
27.05.2020 16:36:02
Ахат Баязи, файл script.js компонента crm.timeline.
Там BX.CrmHistoryItemDocument.prototype.prepareTitleLayout - тут вешается событие на ссылку. Надо либо пройтись по всем объектам и у них переопределить BX.CrmHistoryItemDocument.editDocument либо найти все ссылки, убрать с них "штатные" обработчики события и повесить свои. Ещё есть вариант подлезть в файл /bitrix/components/bitrix/crm.document.view/slider.php и там заменить вызываемый компонент. Это модификация ядра, но вряд ли этот файл будет меняться в ближайшее время. |
|
|
26.05.2020 09:47:28
Дмитрий Б, до модификатора с изменением регистра руки пока не дошли. Задача непростая. По-быстрому не смог придумать, как это сделать, поэтому пока отложил.
По поводу одного шаблона на разные реквизиты - используйте БП, это нормально. Шаблоны сами не умеют в условия и вычисления - это будет уже космолет какой-то. Есть специальный робот / активити, которое позволяет поменять значения полей. Всё можно через него обернуть. |
|
|
26.05.2020 09:43:33
Для общих методов лучше делать общие контроллеры и обращаться к ним через BX.ajax.runAction |
|||
|
25.05.2020 11:21:15
|
|||
|
25.05.2020 11:20:40
Александр Исупов,проверьте, что у вас и печать и подпись в формате png и там фон прозрачный.
Также проверьте, что в шаблоне картинки не перекрывают друг друга. В этом случае в документе тоже должно быть правильно. |
|
|
21.05.2020 12:11:06
В битрикс есть готовый набор инструментов для осуществления аякс-запросов к вашим компонентам.
Почитать о нем можно тут или поищите ещё какие статьи на эту тему. Если вкратце, то надо добавить вашему компоненту интерфейс Bitrix\Main\Engine\Contract\Controllerable определить публичный метод с суффиксом action и со стороны клиента обратиться к нему с помощью BX.ajax.runComponentAction Если вы не хотите идти этим путем, то пропишите абсолютный путь к вашему файлу внутри компонента, что-нибудь вроде /bitrix/components/my_module/my_component/fetch.php |
|
|
30.04.2020 11:01:02
Егор Зотов, привет.
А вы своего провайдера делаете или передаете значения полей снаружи? Там немного разные форматы будут. Если снаружи, то вот полный пример создания документа Если свой провайдер, то инструкция здесь Не поможет - кидайте свой код, посмотрю |
|
|
30.04.2020 10:31:08
Сергей, раньше wav-файлы проигрывались в firefox. Попробуйте скопировать полный путь к файлу и вставить в адресную строку браузера - должен появиться встроенный плеер. Если он проиграет запись, то пишите в техподдержку. Если не проиграет - попробуйте скачать файл и повторить процедуру. Если скачанный файл проиграет - проблема на стороне сервера. Если не восроизведется даже локально - ничего не сделать, надо использовать другой формат аудио файла.
|
|
|
27.04.2020 10:13:25
Ахат Баязи,версия 20.0.0. По срокам не знаю. Если выйдет в мае - будет хорошо.
|
|
|
25.04.2020 09:40:04
Ахат Баязи, баг поправил, да. Рефлексия будет работать.
|
|
|
23.04.2020 13:13:36
|
|||
|
17.04.2020 19:52:49
|
|||
|
17.04.2020 13:56:48
Пример обработчика событий с изменением содержимого товаров где-то есть выше в этой теме В облаке можно такое сделать, но только через рест |
|||
|
11.04.2020 14:35:12
Алексей Гребнев, код правильный, но для его работы надо ещё передать описание новых полей.
Ниже полный пример с записью данных из своей таблицы. Вам по аналогии надо заполнить поля и передать в setFields() В этом примере используется провайдер для реста (это на случай, если у вас все данные свои). Уберите лишние поля, а описания своих добавьте
|
|||
|
10.04.2020 16:13:51
Вам надо перехватить результат отправки аякс-запроса на получение списка шаблонов для текущей сущности и переопределить его, добавив туда нужный вам провайдер вместо стандартного. После этого всё должно заработать само, из сделки будет печататься документ через ваш провайдер |
|||
|
09.04.2020 19:31:51
Главное проверить, что ваш провайдер появился в списке провайдеров в фильре. Дальше дело техники.
Вы попробовали способ, который я посоветовал? Там для прототипа работы совсем немного |
|||||||
|
08.04.2020 15:55:43
Это будет непросто. Порядок действий примерно следующий:
1. унаследовать \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal - это будет ваш новый провайдер, из которого вы будете печатать документы. Это будет та же сделка, но с дополнительным набором полей 2. добавить этот класс через событие onGetDataProviderList ( 3. Добавить ваши новые поля в ваш новый провайдер |
|
|
08.04.2020 10:25:17
Через onBeforeProcessDocument самый простой вариант. Посмотрите тему
Чтобы поля появились в интерфейсе понадобится намного больше телодвижений. |
|
|
30.03.2020 10:16:26
Я бы предложил такой вариант: добавить к ссылке какой-то свой уникальный get-параметр, а в обработчике события его обрабатывать и вызывать метод
|
|||||||||||
|
24.03.2020 23:21:58
Оптимальный вариант будет следующий: При клике на кнопку "Документ" в первый раз идёт аякс-запрос на получение списка доступных шаблонов. На js аякс вызывается тут BX.DocumentGenerator.Button.init documentgenerator/install/js/documentgenerator/documentprevi На php этот запрос обрабатывается тут \Bitrix\DocumentGenerator\Controller\Document::getButtonTemplatesAction() Вам надо перехватить событие onAjaxSuccess, в этом событии по урлу определить, что это нужный запрос, и в обработчике переопределить список шаблонов (видимо, придётся сделать ещё один аякс запрос). Больше ничего делать не надо, можно вообще никуда не лезть 2. вам надо сделать запрос к методу crm.documentgenerator.document.list 3. Через активити показать слайдер с документом конечно не получится. Может и есть способ, но мне не известен
Если нужен именно рест, то вам нужен метод crm.documentgenerator.document.list Ссылка на просмотр существующего документа crm в слайдере имеет вид /bitrix/components/bitrix/crm.document.view/slider.php?documentId=10&IFRAME=Y&IFRAME_TYPE=SIDE_SLIDER чтобы в слайдере начался процесс генерации нового документа ссылка должна быть такой /bitrix/components/bitrix/crm.document.view/slider.php?providerClassName=Bitrix\Crm\Integration\DocumentGenerator\D здесь надо подставить нужный провайдер, ид шаблона и ид сущности |
|||||
|
23.03.2020 12:42:45
Для реализации такой логики вам лучше сделать создание документа через активити "Создание документа CRM". Вы можете перед этим активити проверять ваши условия, в зависимости от них записать ид нужного документа в переменную и передать его в активити создания документа. Другой вариант - подсовывать какую-то свою логику на js. |
|||
|
23.03.2020 12:33:08
Чтобы новое поле добавилось в документ, вам надо передать его описание. В конце обработчика события добавьте следующее
В этом случае его значение появится в документе. Локально проверил, работает |
|||||
|