Добрый день! Поставили sales 7.17.3 1377 релиз. Проблема с кнопками видна на скрине,  в системе язык русский и у пользователя то жеИзображение удалено.

Нравится

2 комментария

Проверьте доступы на папку Terrasoft.WebApp\ClientApp\assets\i18n

Полозюков Евгений Петрович,Да права полные разданы в т.ч. и пользователю iis

Показать все комментарии

Добрый день

Мне необходимо скрывать кнопку создания контакта и контрагента, если два поля заполнены

я сделал следующее

Код самой кнопки

//кнопка
{
				"operation": "insert",
				"name": "ProcessButton",
				"values": {
					"itemType": 5,
					"style": "green",
					"caption": "Добавить Контакта и Контрагента",
					"click": {
						"bindTo": "onLeadManagementSectionButtonClick1"
					},
					"visible": {
                       //привязка атрибута отвечающего за видимость кнопки
						"bindTo": "ButtonVisible"
					}
				},
				"parentName": "LeftContainer",
				"propertyName": "items",
				"index": 8
			},

Код аттрибута видимости

 

"ButtonVisible": {
				"dataValueType": Terrasoft.DataValueType.BOOLEAN,
				"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": false
			},

Метод отвечающий за изменение значения аттрибутта

 

setButtonVisible: function() {
 
 
				var qualifiedContact = this.get("QualifiedContact");
				var qualifiedAccount = this.get("QualifiedAccount");
 
				if(qualifiedContact && qualifiedAccount){
 
					this.set("ButtonVisible", false);
 
				}else{
					this.set("ButtonVisible", true);
				}
			},

аттрибут на изменение колонки контакта или контрагента

 

"buttonVisibleCreateContactAndAccount":{
				"dependencies": [
					{
						"columns": ["QualifiedContact","QualifiedAccount"],
						"methodName": "setButtonVisible"
					}
				]
			},

Когда я захожу просто в карточку раздела,(двоиным кликом в реестре) то метод, который я написал выше, вызывается и присваивает true значению аттрибута, если одно из полей не заполнено, но при этом если я заполню эти два поля, то аттрибут перейдет в false  и все равно оставит видимой кнопку

НО если я обновлю страницу, то вся логика начинает отрабатывать нормально и реагировать на изменения

Нравится

3 комментария
Лучший ответ

Посмотрите комментарий в теме по ссылке, там описано решение. Проблема заключается в "совмещенном режиме"

https://community.terrasoft.ru/questions/dinamecheskaoe-izmenenie-aktiv…

Посмотрите комментарий в теме по ссылке, там описано решение. Проблема заключается в "совмещенном режиме"

https://community.terrasoft.ru/questions/dinamecheskaoe-izmenenie-aktiv…

Трефилов Павел Сергеевич,

кнопку мне тоже получается делать в section?

а в странице редактирования вешать метод, который отвечает за изменение состояния

 

все получилось , сделал кнопку в секции и на изменение контрагента или контакта повесил метод сообщения, который вызывает нужную мне логику, спасибо, никогда до этого не работал с сообщениями именно так

Показать все комментарии

Добрый день коллеги. 

Столкнулись с такой проблемой: есть два поля одно дата, другое дата и время. В БД дата и время сохраняется в  utc (2021-03-15 21:00:00.0000000), а дата без utc(2021-03-16 00:00:00.0000000). Как правильно на уровне БД сравнить эти даты с учётом часового пояса?

 

Нравится

4 комментария
Лучший ответ

Добрый день.

 

Для меня не так давно стало открытием, что в базе данных дата хранится в том же виде, в котором отображается в клиентском приложении, а дата и время по Гринвичу.

 

Для Вашего представления Вам нужно дату и время преобразовать со смещением по часовому поясу пользователя, для которого будут отображаться данные, а потом уже вычислять нужный промежуток времени между двумя датами.

Что значит на уровне бд, вы как запрос пишите?

Полозюков Евгений Петрович,

Если кратко есть представление которое нужно заполнить данными по промежутку времени

Добрый день.

 

Для меня не так давно стало открытием, что в базе данных дата хранится в том же виде, в котором отображается в клиентском приложении, а дата и время по Гринвичу.

 

Для Вашего представления Вам нужно дату и время преобразовать со смещением по часовому поясу пользователя, для которого будут отображаться данные, а потом уже вычислять нужный промежуток времени между двумя датами.

Показать все комментарии

С недавних пор при редактировании (добавление поля в "колонки отчета") или создании отчетов в Конструкторе отчетов вылезает ошибка "Поле "Название": Необходимо указать значение".

Возможно кто-то знает как это лечится ?

Изображение удалено.

После появления в отчете этой ошибки невозможно отредактировать даже название отчета. 

В консоль никакие ошибки при этом не валяться.

Важно -  на странице есть поле Название, но оно заполнено.

 

Нравится

4 комментария

Виктроия, читайте тут и тут

Алексей Следь,

спасибо, но предложенные варианты не работают

Виктория,

 

в настройках отчета с версии 7.17.1+ нет возможности добавить новые колонки отчета. Направила указанную ошибку ответственной команде.

Если необходимо внести изменения в другие поля или детали отчета, удалите колонку, которую пытались добавить.

Столкнулись с аналогичной проблемой.

Нашел следующее обходное решение. Для добавление новой колонки в существующий отчет можно скопировать существую колонку отчета.

Показать все комментарии

Каким образом можно настроить шаблон письма, чтобы не было отступов (полей)?



При создании письма без шаблона посылается нормально, а шаблоны сразу добавляют отступы



Изображение удалено.

Нравится

8 комментариев
Лучший ответ

Добрый день.

 

Мне в поддержке ответили следующее: начиная с версии 7.15.2 используется новый дизайнер контента и функционал регулирования расположения шаблона внутри дизайнера отсутствует. 

Шаблон располагается по центру по умолчанию. Ширина по умолчанию задана 600.



Для решения проблемы, увеличьте ширину шаблона. 

Нажмите на шестеренку в правом верхнем углу и выберите максимальную ширину страницы. (максимально допустимая 1300px).

 

Мою проблему с отступами, к сожалению, это не решило, то есть отступы остались, но письмо визуально стало выглядеть немного лучше.

Измените положение, похоже что у вас по центру стоит.

Добрый день.

 

Мне в поддержке ответили следующее: начиная с версии 7.15.2 используется новый дизайнер контента и функционал регулирования расположения шаблона внутри дизайнера отсутствует. 

Шаблон располагается по центру по умолчанию. Ширина по умолчанию задана 600.



Для решения проблемы, увеличьте ширину шаблона. 

Нажмите на шестеренку в правом верхнем углу и выберите максимальную ширину страницы. (максимально допустимая 1300px).

 

Мою проблему с отступами, к сожалению, это не решило, то есть отступы остались, но письмо визуально стало выглядеть немного лучше.

Полозюков Евгений Петрович,

это что за версия?

Владимир Соколов,

С 7.12 по текущую версию такое точно есть.

Как интересно - есть два типа шаблонов. Но непонятно, как управлять, какой тип создать



 

Владимир, да, выравнивание всего шаблона доступно только в старой версии дизайнера контента.

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



Признак ConfigType – это тип шаблона, но этот признак – следствие того, что конфиг шаблона такого типа, его изменение ни к чему не приведёт.



Для того, чтобы открылся старый дизайнер, TemplateConfig у шаблона должен быть старого образца, этого можно достичь либо копированием старого шаблона, либо update в базе данных поля TemplateConfig на конфиг старого образца.

 

Уже заведена идея о необходимости выравнивания в новых шаблонах.

 

В качестве обходного решения предлагается подход, который предложила Алла: для того, чтобы сделать письмо, которое потенциально будет выглядеть как обычное письмо и весь контент был по левому краю, необходимо сделать ширину шаблона максимальной и все элементы шаблона выравнивать по левому краю.

Коллеги, а как поднять приоритет возвращения старого функционала с выравниванием шаблона не по центру?

Добрый день, Константин!

 

Мы добавили Ваше обращение к уже существующей проблеме на ответственной команде R&D, тем самым повысив ее приоритет.



Спасибо, что помогаете делать наш продукт лучше!



Если у вас возникли вопросы, мы с радостью на них ответим.

Спасибо за выбор наших продуктов!



С уважением,

Сидько Елена

Оператор

Группа компаний Terrasoft

Показать все комментарии

Подскажите пожалуйста актуальную инструкцию по интеграции "Лендинги и Веб формы" СРМ Creatio и  "CF7-3rdParty Integration".

Как правильно настроить интеграцию и проверить ее работу на стороне СРМ Creatio? Ниже скриншоты того как мы настроили согласно найденым здесь инструкциям Изображение удалено.

Изображение удалено.

Изображение удалено.

Мы устанавливаем плагин "CF7-3rdParty Integration", далее мы настроили 

"Лендинги и Веб формы" в СРМ Creatio. Насколько мы понимаем, далее после заполнения пользователем контактных форм "Contact Form -1" и "NewsLetter" 

на сайте нашем сайте Плагин "CF7-3rdParty Integration" отправляет POST запрос в СРМ Creatio и далее СРМ Creatio в модуле "Лендинги и Веб формы" 

должен создать "Лид или Обращение" с данными веб форм. 

Но к сожалению в СРМ Creatio мы ничего такого не видим. Возможно это связано с тем, что устарел плагин CF7-3rdParty Integration, но при размещении кода на нашем сайте что генерирует "Лендинги и Веб формы" СРМ Creatio,  тоже ничего не происходит.

Мы можем протестировать, что CF7-3rdParty Integration отправляет запросы, но получает ли их и обрабатывает СРМ Creatio и какие ошибки при получении данных в СРМ Creatio мы протестировать не можем.

 

Подскажите пожалуйста, возможно существует другой способ интеграции Контактных форм Wordpress и  "Лендинги и Веб формы" в СРМ Creatio который работает на современных версиях этих продуктов?

Нравится

3 комментария

Ирина, добрый день! попробуйте выполнить настройку с помощью коннектора к Wordpress (https://marketplace.terrasoft.ru/app/wordpress-plug-creatio) по инструкции. Этот коннектор разработан на основе плагина CF7-3rdParty Integration под Creatio (ранее bpm'online).

Лазоренко Ирина,

Лазоренко Ирина,

Лазоренко Ирина,

Лазоренко Ирина,

Попробовали, пишет: 

*** Response ***

WP_HTTP_Requests_Response Object

(

    [response:protected] => Requests_Response Object

        (

            [body] => {"SaveWebFormObjectDataResult":"{resultMessage:\"Unknown landing identifier.\",resultCode:-1}"}

            [raw] => HTTP/1.1 200 OK

Cache-Control: private

 

Ирина, добрый день!

 

прошу подтвердить, что выполнили настройку для создания лидов. Обратите внимание на пункт из исходной инструкции:

Important. Please note that the plugin works only with Leads. If you need to create an activity participant, a case or something else, please create a lead instead. Then create a business process that will create the needed case and everything else based on the newly created lead.

Показать все комментарии

Клиент хочет скрыть список контрагентов (и других объектов) для пользователей, сделав видимыми только определенную часть из них.



Это делается просто, устанавливая права на записи.



Однако, если эта запись используется в поле другого объекта (например, Контрагент в Продажах), то в поле отображается название контрагента, несмотря на то, что сам контрагент пользователю недоступен.



Каким образом можно сделать так, чтобы скрыть название тех контрагентов, к которым у пользователя нет доступа?

Изображение удалено.

Нравится

1 комментарий
Лучший ответ

Залезть в loadGridData или prepareResponseCollection и чистить значения коллекции перед отрисовкой.

Залезть в loadGridData или prepareResponseCollection и чистить значения коллекции перед отрисовкой.

Показать все комментарии

Здравствуйте!

Добавил бизнес-правило проверки вводимого значения. Оно то работает, то нет. Иногда появляется сообщение, что значение некорректно, но, если кликнуть на другое поле, то сообщение исчезает и система позволяет сохранить объект с некорректным значением. Прошу помочь разобраться.

Нравится

12 комментариев
Terrasoft.sdk.Model.addBusinessRule("ScpObject", {
    name: "ScpObjectAreaValidatorRule",
    ruleType: Terrasoft.RuleTypes.Custom,
    triggeredByColumns: ["ScpObjectArea"],
    events: [Terrasoft.BusinessRuleEvents.Save, Terrasoft.BusinessRuleEvents.ValueChanged],
    executeFn: function (record, rule, column, customData, callbackConfig) {
       	var isValid = false;
		var ssArea=0;
		var curArea = record.get("ScpObjectArea");
 
		if(Terrasoft.SysSettings.MinScpObjectArea !== undefined)
		{
			ssArea=Terrasoft.SysSettings.MinScpObjectArea;
		}
		isValid = curArea>=ssArea;
 
        record.changeProperty("ScpObjectArea", {
            // Установка признака корректности колонки.
            isValid: {
                value: isValid,
                message: Terrasoft.LocalizableStrings.InvalidScpArea + ssArea
            }
        });
        // Асинхронный возврат значений. 
        Ext.callback(callbackConfig.success, callbackConfig.scope);
    }
});

 

Сергей, а Вы не проверяли, как будет работать, если заменить проверку системной настройки на константу с таким же значением? Может, в некоторых случаях оно не считывалось, из-за чего валидация работала неправильно?

Добрый день, Александр!

Как хорошо, что Вы ответили. Я уже начал отчаиваться. Итак, прописал жестко цифру - и результат тот же. Кроме того, еще явно пробовал указать в коллбэк функции результат: Ext.callback(callbackConfig.success, callbackConfig.scope, [isValid]);, но это тоже не помогло. В отладчике видно, что isValid=false, однако, сообщение о некорректно заполненном поле и отмены сохранения не происходит.

Сергей, так пока не нашли причину, не особо хорошо.

Сравниваю Ваш фрагмент с академией, на первый взгляд, особых отличий и нет. Разве только другой синтаксис локализируемых строк в значении message, чем у Вас.

Александр, чувство локтя незаменимо. В любом случае, если бы локализация влияла и значение не подтягивалось, то в сообщении, как минимум, осталось бы значение переменной  ssArea. Я и брал за основу пример из академии. 

А если добавить правило такое же, как в том примере для раздела активностей, оно будет работать всегда или так же само, как Ваше?

Доброе утро. Добавлять для активностей один-в-один или опять же модифицировать под свой объект?

Сергей, как Вам будет удобнее, мне кажется, лучше попробовать именно так. Ведь Вы свой вариант делали по образцу написанного.

Если и там неправильное поведение повторится, то будет понимание, что дело либо в Вашей системе (например, бинарных файлах), либо в примере.

Добрый день, Александр!

Вставил код, но он перекрывается кодом, который был реализован внедренцем. Сходу не удалось его заместить, однако, какая-то логика в активностях при помощи бизнес-правил работает. И без ошибок.

Сергей, извините, не увидел сразу ответа. Получается, проблема конкретно в Вашей карточке или её объекте, конфликтующей с добавленными правилами? Может, стоит обратиться к поддержке, предоставить доступ к системе для анализа?

Добрый вечер, Александр!

И я пропал в отпуске :). Спасибо за помощь, завтра попробую разобраться с поддержкой.

Здравствуйте.

Перетряс код, провел тестирование. В результате замечено следующее: при попытке внести значения, которые не удовлетворяют ограничениям, в режиме просмотра - значение вносится, сообщение об ошибке не показывается, но при выходе из элемента и повторном входе - значения остаются прежними (теми, которые были до попытки изменить). Если же зайти в режим редактирования элемента и попытаться внести недопустимые значения, то появляется сообщение об ошибке и сохранить не удается. Получается, что на данный момент есть только проблема с отображением сообщения о некорректном значении в режиме просмотра. Само некорректное значение сохранить система не позволяет.

Показать все комментарии

Как реализовать синхронизацию товаров с маркетплейса Prom.ua в Creatio?

Ручной импорт из Excel - не решение, поскольку цены могут меняться несколько раз на день.

Какой либо загрузчик фида или импорт с Гугл таблиц не нашел.

Интеграция с Промом предлагает лишь импорт клиентов и заказов.

Кто сталкивался с такой задачей?

Спасибо.

Нравится

1 комментарий

Дмитрий, для интеграции в том числе и с  Prom.ua есть дополнение ApiX-Drive connector, которое взаимодействует с сервисом ApiX Drive. Но там товаров действительно нет.

На сайте Prom.ua тоже не нашёл информации о документации разработчика, возможно, её предоставляют по запросу.

В зависимости от характера API, подход может быть противоположным: либо из БП в Creatio вызывать веб-сервис Prom, передавая и получая параметры. Либо на стороне Prom (или промежуточном сервере, взаимодействующем с обоими системами) подключаться к сайту Creatio по OData и добавлять или менять значения в нужном объекте. Наконец, извне можно запускать БП в Creatio, передавая в него нужные значения, а уже процесс будет изменять данные.

 

Показать все комментарии

Доброго времени суток.

Тестирую возможности вашего инструмента, пытаюсь настроить интеграцию фронта через прокси с Creatio.

 

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

 

Есть вот такой процесс заказа:

Изображение удалено.

Мне нужно, чтобы после создания заказа, с ним можно было оперировать, например, завершить его.

 

Пытался отправлять сигнал похожим на создание процесса способом:

Изображение удалено.

Но вместо schemaUId мне нужно передавать uid процесса, запущенного ранее.

По документации, не могу найти под каким параметром можно передать uid процесса, а не uid схемы процеса.

 

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

 

Подскажите, существует ли возможность активировать сигнал в определенном запущенном процессе с передачей данных?

Нравится

3 комментария
Лучший ответ

>Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.

К сожалению с таким на практике не встречался, подсказать не могу.

 

Вариант решения делать на каждой действие простой процесс (подпроцесс).

Например процесс добавления товара в заказ, у него будут входящие параметры: id заказа, id товара, булевый параметр. Запускаем этот процесс через ProcessEngineService.

На мой взгляд для текущей задачи больше подойдет odata https://academy.terrasoft.ru/docs/7-17/developer/integrations_and_api/d…

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

 

Интеграцию с odata я уже реализовал на прокси и умею через нее добавлять товары в заказ. Но хотелось бы больше контроля над бизнес процессом, от этого и вопрос.

Например мне нужно при изменении заказа уведомить склад о реформировании заказа. В таком случае я вижу 3 варианта:

1. OData. На прокси при добавлении заказа отсылать email (плохо, мало контроля и не очевидно в рамках БП).

2. OData + BPMN. В самом БП создать некую подписку на добавление товара в данный заказ и сделать отправку email (уже лучше, но например не при каждом изменении заказа мне нужно отправлять email, в таком случае появятся кастыли вроде сохранения промежуточных булевых переменных в данных, для определения вида изменения заказа).

3. BPMN. Чистая реализация на вызове отдельного события в процессе с передачей данных. Это позволит добавлять любой товар по простому сигналу и получить контроль над процессом, передавать дополнительно булевые переменные для модификации поведения БП в рантайме.

 

3-ий вариант для меня сейчас самый приоритетный.

Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.

>Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.

К сожалению с таким на практике не встречался, подсказать не могу.

 

Вариант решения делать на каждой действие простой процесс (подпроцесс).

Например процесс добавления товара в заказ, у него будут входящие параметры: id заказа, id товара, булевый параметр. Запускаем этот процесс через ProcessEngineService.

Показать все комментарии