Всем привет!

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

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

Consimpl 

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

7.15.2.50

 

 

 

Нравится

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

Добрый день,

 

Прошу детально описать, Вашу бизнес задачу.

v.kucher@creatio.com,

Добрый день!

 

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

после загрузки штрихкодов  тип баллов выбрал денежный тип начисление бонусов РУЧНОЙ .

и также  там нужно указать (создать) тип бонусов для акции. в нашем случае типа начисление 30000 для лояльных клиентов.

без понятия как создать этот тип бонусов.

Отправляю ссылку на фото 

file:///C:/Users/owner/Desktop/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20(3)/IMG_20210420_175345.jpg

Спасибо большое!

Прошу вас помочь

Асу алмабаев,

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

 

Приложите скриншот файлом, возможно глядя на него удаться больше понять. Сейчас ссылка указана как локальный путь - file:///C:/Users/

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

На странице объекта есть кейс. Каждому шагу кейса соответствует свой статус объекта и вкладка в коллекции Вкладок. Кейс переходит по статусам автоматически. 

Вкладки, не соответствующие шагу, скрываются.

 

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

Нравится

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

Добрый день.

Для реализации Вам необходимо подписаться на изменение колонки кейса и при её изменении вызывать метод setActiveTab.

Пример реализации для страницы CasePage:

define("CasePage", [], function() {
		return {
			entitySchemaName: "Case",
          	attributes: {
              "ActiveTabName": {
                dependencies: [
                  {
                    columns: ["Status"],
                    methodName: "setActiveTabByStatus"
                  }
                ]
              },
              "StatusTabDictionary": {
                dataValueType: Terrasoft.DataValueType.COLLECTION,
                value: [
                  { statusId: "7e9f1204-f46b-1410-fb9a-0050ba5d6c38", tabName: "CaseInformationTab" },
                  { statusId: "3859c6e7-cbcb-486b-ba53-77808fe6e593", tabName: "TimelineTab" },
                  { statusId: "ae7f411e-f46b-1410-009b-0050ba5d6c38", tabName: "SolutionTab" }
                ]
              }
            },
			methods: {
 
              setActiveTabByStatus: function() {
                var status = this.get("Status");
                if (!status) {
                  return;
                }
 
                var statusTabDictionary = this.get("StatusTabDictionary");
                for (var i = 0; i < statusTabDictionary.length; i++) {
                  var item = statusTabDictionary[i];
                  if (item.statusId === status.value) {
                    this.setActiveTab(item.tabName);
                    return;
                  }
                }
              },
 
              initTabs: function() {
                this.callParent(arguments);
                this.setActiveTabByStatus();
              },
 
              onEntityInitialized: function() {
                this.callParent(arguments);
                this.setActiveTabByStatus();
              }
 
            }
		};
	}
);

 

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

Необходимо создать деталь, которая отображается в разделе Товары, в которой выводится список документов в которой этот товар участвовал, (Поступление, Реализация и т.д.) и соответственно ссылка на документ. Как это можно реализовать?

Нравится

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

То что вы описали это обычная деталь для объекта документы, такая деталь уже есть DocumentDetailV2, выводите ее на карточке раздела Товары. Для создания связи детали в объекте документа, должно быть справочное поле в котором задан товар.

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

Да, извините, я не идеально все описал, имелось ввиду, документы разные, типо (Реализация, Поступление и т.д.)

Это разные разделы или это поле поле с типом в документе? Что от этого меняется?

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

Делаю форму фильтрации отчета фаст репорта, нужно сделать подписку на изменение поля(настройка видимости, доступности, автозаполнения)

Подписка не срабатывает. Кто сталкивался с подобным и какие есть варианты исправить?

return {
		messages: {},
        attributes: {
            "IsContract": {
                "dataValueType": Terrasoft.DataValueType.BOOLEAN,
                "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": false,
                "dependencies": [
					{
						"columns": ["WiseSectionSettlements"],
						"methodName": "RecalcIsContract"
					}
                ]
            },
...
methods: {
			RecalcIsContract: function() {
				this.set("IsContract", (this.get("WiseSectionSettlements") &&
					this.get("WiseSectionSettlements").value === "5cfa748e-185e-40fa-ab0e-a29ab91aa10d"));
			},

 

Нравится

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

Странный у вас код в методе RecalcIsContract. Надо делать в два атрибута в IsContract изначальное состояние, и дополнительный атрибут с пересчитанным состоянием IsContract относительно условий.

Либо через конвертер, в BasePageV2 есть пример

{

                "operation": "insert",

                "name": "CardContentWrapper",

                "values": {

                    "id": "CardContentWrapper",

                    "selectors": {"wrapEl": "#CardContentWrapper"},

                    "itemType": Terrasoft.ViewItemType.CONTAINER,

                    "wrapClass": ["card-content-container"],

                    "items": [],

                    "markerValue": {

                        "bindTo": "IsEntityInitialized",

                        "bindConfig": {

                            "converter": "getCardContentContainerMarkerValue"

                        }

                    }

                }

            }

 

getCardContentContainerMarkerValue: function() {

                return this.get("IsEntityInitialized") ? "EntityLoaded" : "EntityLoading";

            }

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

Добрый день. Я новичок, не могу разобраться с одной вещью.

 

Для страницы редактирования своего раздела переопределил метод asyncValidate. Все работает отлично, но только при редактировании записи, при добавлении записи валидация не вызывается. Моя цель - сделать так, чтобы валидация вызывалась и при создании. Где мне нужно переопределить этот метод, чтобы без дублирования кода обеспечить валидацию в обоих случаях?

Нравится

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

При добавлении записи используется миникарточка?

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

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

Есть необходимость по галке в основной карточке делать деталь с редактируемым реестром(и) ТДЧ. 

Судя по публикациям здесь, в текущей версии бизнес-правилами это не реализуемо. 



В разработке на Creatio я недавно, поэтому творческие варианты решения данной задачи приходят со скрипом. На данный момент решение такое:

 

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



Или есть другие более удачные решения данной задачи? 




Заранее благодарю за ответы, особенно, если они будут со ссылками на похожие реализации.

Нравится

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

Если отвечать на вопрос, то с помощью механизма сообщений.

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

Если отвечать на вопрос, то с помощью механизма сообщений.

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

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

Добрый день!

Задача в дробном поле отобразить 6 знаков после запятой. В системе только вариант 1,2,3,4,8. Как можно отобразить 6, например?

Нравится

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

Отобразить можно, а хранить 6 знаков нельзя. Можно хранить число с 8 знаками и написать свой textedit, отнаследовав от существующего, который будет выводить 6 знаков.

Либо использовать вместо числа строку и там уже хранить как вам нравится.

Отобразить можно, а хранить 6 знаков нельзя. Можно хранить число с 8 знаками и написать свой textedit, отнаследовав от существующего, который будет выводить 6 знаков.

Либо использовать вместо числа строку и там уже хранить как вам нравится.

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

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

Тестирую возможности вашего инструмента, пытаюсь настроить интеграцию фронта через прокси с 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.

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

В описании дополнения File storage for Creatio (https://marketplace.terrasoft.ru/app/file-storage-creatio) написано, что оно работает только с Субд MS SQL. Может ли данное дополнение работать с СУБД Postgre SQL?

Если нет, то есть ли подобное решение для данной БД?

Нравится

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

Нет, надо дорабатывать.

Добрый день, Оксана.

 

Евгений правильно уточнил, что дополнение не совместимо с СУБД Postgre SQL. Подобные решения также поддерживают работу с Субд MS SQL. Предлагаю уточнить у разработчиков решений планы по добавлению совместимости с Postgre SQL:

https://marketplace.terrasoft.ru/app/external-file-storage-creatio

https://marketplace.terrasoft.ru/app/file-manager-creatio

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

Добрый день, начал получать такие ошибке при входе в систему

Пишет 401ю, хотя сервис логина работает

 

Прикрепленные файлы

Нравится

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

Запустите Компилировать все.

не помогло, скомпилировал все, не сработало, после сгенерировал все и скомпилировал все еще раз, все еще не помогло

 

Александр, если Вы подключаетесь к сервису аутентификации из другой программы, то дело может быть в неправильной работе с другими сервисами после этого. Например, если не передаёте все полученные куки и CSRF-токен. Подробнее о логине см. тут.

Или у Вас всё работало, а в какой-то момент перестало?

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