Добрый день!
Версия 7.5.0.627
Проблема в следующем
Переношу репозиторий с новыми пакетами на базу клиента.
Нажимаю Восстановить из хранилища. Операция завершается успешно, но новые пакеты не появляются в списке пакетов.
Перенёс рабочую копию, повторил действия - результат тот же.
Пытаюсь создать одноименный пакет в списке пакетов - пишет, что такой пакет уже есть в репозитории.

Вопросы:
1. Как восстановить из хранилища новые пакеты
2. Как восстановить отдельно взятый пакет из репозитория.

Нравится

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

Добрый день, Игорь!

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

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

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

Подскажите, как можно решить этот банальный кейс?

Нравится

10 комментариев

Фариз, здравствуйте!

Деталь, например, «Связи» не является стандартной деталью и вшита базовую логику приложения (Рис. 1). Это даже не деталь, а можно сказать группа полей.

Редактирование таких деталей (объектов) необходимо осуществлять на уровне схемы (через конфигурацию).
Согласно Вашей задачи обязательность колонки Вы можете реализовать на уровне объекта. Для этого необходимо заместить соответствующий объект и проставить обязательность поля (Рис. 2).

Так как признак обязательности поля/ ссылается на сам объект, а не на схему.

"Вильшанский Дмитрий" написал:Деталь, например, «Связи» не является стандартной деталью и вшита базовую логику приложения (Рис. 1). Это даже не деталь, а можно сказать группа полей.

А не планируется пересмотреть такой подход? Каждый раз, стандартно создавая новый раздел, приходится делать нестандартные вещи. А уже "пользователь без программиста" вообще не сможет добавить свою колонку в Связи

"Владимир Соколов" написал:
Вильшанский Дмитрий пишет:

Деталь, например, «Связи» не является стандартной деталью и вшита базовую логику приложения (Рис. 1). Это даже не деталь, а можно сказать группа полей.

А не планируется пересмотреть такой подход? Каждый раз, стандартно создавая новый раздел, приходится делать нестандартные вещи. А уже "пользователь без программиста" вообще не сможет добавить свою колонку в Связи

Владимир, здравствуйте!

Здесь скорее вопрос не о пересмотре подхода, а том, что Вы пытаетесь изменить базовую схему, которая лежит в верхнем пакете. Поэтому необходимо замещать, чтобы можно было внести изменения.
Предполагается, что приложение кастомизирует пользователь, который знает функционал и понимает, что он делает (для этого у нас есть обучение и SDK).

Примечание. В ближайших версиях (ориентировочно 7.8) планируется убрать кнопку «Настроить», которая отображает данное сообщение у некоторых базовых деталей.

"Вильшанский Дмитрий" написал:Предполагается, что приложение кастомизирует пользователь, который знает функционал и понимает, что он делает

Да, пользователь предполагает, что он добавит стандартное Lookup-поле (связь с новым разделом) в карточку Activity с помощью стандартного мастера раздела, а затем в своем разделе с помощью мастера добавит деталь Activity. И всё - так работает со всеми другими разделами, за исключением Activity.

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

"Вильшанский Дмитрий" написал:Предполагается, что приложение кастомизирует пользователь, который знает функционал и понимает, что он делает (для этого у нас есть обучение и SDK).

Кстати, не могу найти в SDK (может, стоит добавить), как в Activity добавить поле в "Связи", и как в карточку настройки Activity в БП добавить настройку этого поля

"Владимир Соколов" написал:

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

Владимир, это не стандартная деталь. Она строиться динамически.

"Владимир Соколов" написал:
Вильшанский Дмитрий пишет:

Предполагается, что приложение кастомизирует пользователь, который знает функционал и понимает, что он делает (для этого у нас есть обучение и SDK).

Кстати, не могу найти в SDK (может, стоит добавить), как в Activity добавить поле в "Связи", и как в карточку настройки Activity в БП добавить настройку этого поля

Ниже приведен алгоритм (для решения данной задачи необходим доступ к БД):
1. В замещенном объекте «Activity» добавляете колонку, который ссылается на Ваш раздел (необходимо указывать объект раздела, например «Объекты») (Рис. 1). Опубликовать объект.

Рис. 1

2. Затем необходимо узнать Uid колонки в замещенном объекте «Activity» (для дальнейших действий). Узнать можно через метаданные (Рис. 2). Uid является уникальным.

Рис. 2

3. Затем необходимо добавить запись в таблицу «EntityConnection» с помощью команды INSERT INTO, где SysEntitySchemaUId = ‘C449D832-A4CC-4B01-B9D5-8A12C42A9F89' (это ID схемы активностей) и ColumnUId = Uid колонки, который я описал во 2 пункте (например, ‘fbbd60dc-beec-4eb4-96ed-6a18037b1bd9’):

Пример:

Insert into EntityConnection (SysEntitySchemaUId, ColumnUId) values ('C449D832-A4CC-4B01-B9D5-8A12C42A9F89', 'fbbd60dc-beec-4eb4-96ed-6a18037b1bd9')

4. Очистить кэш браузера и почистить Redis приложения.

"Вильшанский Дмитрий" написал:Ниже приведен алгоритм (для решения данной задачи необходим доступ к БД):

Спасибо! Добавил через SQL, так как система on-demand, а ради одного поля не хотелось разворачивать среду разработки

Извините указанные выше действия это для добавления полей в Задачу в БП (см рис ниже)?

"ЮМарат" написал:

Извините указанные выше действия это для добавления полей в Задачу в БП (см рис ниже)?

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

20160412_activity.png
22.81 кб

Речь изначально идет про раздел Активности. То что Вы спрашиваете это - ActivityUserTask.

Показать все комментарии
QuickFilterModule
QuickFilterModuleHelper.
быстрый фильтр
Технические вопросы
7.x

Есть ли какой-нибудь кейс установки фильтров в модуле раздела (файлы с названием Section.js)? Нужен именно быстрый фильтр, а не fixedFilter. fixedFilter написан так, что если поле фильтрации лукапное, то он считает, что это поле - "Owner" и подставляет в выбор текущего пользователя. Мне же нужно фильтровать по кастомному полю.
В клиентских схемах нашел модуль QuickFilterHelper, но не разобрался как с ним работать, а примеров работы с ним не нашел.
Если у кого-то может предоставить готовые примеры фильтрации по кастомному полю - буду премного благодарен!

Нравится

5 комментариев

Богдан, здравствуйте!

Пример установки быстрого фильтра в разделе по указанной колонке, при нажатии на кнопку в другом разделе:

var module = "SectionModuleV2";
var section = "ActivitySectionV2";
var filterColumnName = "Type";
var filterValue = "Задача";
var filterState = {
                ignoreFixedFilters: true,
                ignoreFolderFilters: true,
                customFilterState: {}
};
filterState.customFilterState[filterColumnName] = {
                displayValue: filterValue
};
var state = this.sandbox.publish("GetHistoryState");
var newState = this.Terrasoft.deepClone(state.state || {});
this.Ext.apply(newState, {
                activeTab: "mainView",
                filterState: filterState,
                searchState: true,
                moduleId: "ViewModule_SectionModule"
});
var storage = this.Terrasoft.configuration.Storage.Filters = this.Terrasoft.configuration.Storage.Filters || {};
var sessionFilters = storage[section] = storage[section] || {};
sessionFilters.CustomFilters = {};
var filter = Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.START_WITH, filterColumnName, filterValue);
sessionFilters.CustomFilters[filterColumnName] = {
                value: filterValue,
                displayValue: filterValue,
                filter: filter.serialize({serializeFilterManagerInfo: true})
};
this.sandbox.publish("PushHistoryState", {
                hash: this.Terrasoft.combinePath(module, section),
                stateObj: newState
});

Благодарю! Вроде работает, но в консоли вот такая ошибка.

Да, и фильтр работает только со второго раза.
Первый раз, если перейти по кнопке - фильтр применяется, но список в разделе пуст.
Перейдя по кнопке второй раз - список отображается нормально.
И так для каждого значения фильтра.

"Вильшанский Дмитрий" написал:

Богдан, здравствуйте!

Пример установки быстрого фильтра в разделе по указанной колонке, при нажатии на кнопку в другом разделе:

var module = "SectionModuleV2";

var section = "ActivitySectionV2";

var filterColumnName = "Type";

var filterValue = "Задача";

var filterState = {

                ignoreFixedFilters: true,

                ignoreFolderFilters: true,

                customFilterState: {}

};

filterState.customFilterState[filterColumnName] = {

                displayValue: filterValue

};

var state = this.sandbox.publish("GetHistoryState");

var newState = this.Terrasoft.deepClone(state.state || {});

this.Ext.apply(newState, {

                activeTab: "mainView",

                filterState: filterState,

                searchState: true,

                moduleId: "ViewModule_SectionModule"

});

var storage = this.Terrasoft.configuration.Storage.Filters = this.Terrasoft.configuration.Storage.Filters || {};

var sessionFilters = storage[section] = storage[section] || {};

sessionFilters.CustomFilters = {};

var filter = Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.START_WITH, filterColumnName, filterValue);

sessionFilters.CustomFilters[filterColumnName] = {

                value: filterValue,

                displayValue: filterValue,

                filter: filter.serialize({serializeFilterManagerInfo: true})

};

this.sandbox.publish("PushHistoryState", {

                hash: this.Terrasoft.combinePath(module, section),

                stateObj: newState

});

Добрый день!
В вашем примере вы говорите о кнопке в разделе - скажите, пожалуйста, как можно добавить свою кнопку в раздел - именно кнопку, а не действие ( в SDK приведен пример с действием)

В вашем примере, filterValue принимает фиксированное значение "Задача", скажите, пожалуйста, можно ли добавить в сам раздел строку для ввода, с которой можно считывать значение?

Дарья, реализацию кнопки в разделе вы можете посмотреть в схеме BaseSectionV2 (например, кнопка "AddRecordButton").

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

Всем привет!
Есть вопрос, на который я не смог найти ответ в Академии.
Как реализовать опрос среди пользователей системы за какой-то объект, например - "идея", таким образом что бы руководитель мог выбрать лучшую идею.
Как голосование реализовано на сайте Community? Возможео ли создать что-то подобное?
Или может задавать "вопрос пользователю" с чек-боксами, где нужно отметить понравившиеся идеи. Или прикрепить к объекту возможность его "лайкать" и считать лайки.
Заранее благодарю!

Нравится

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

Сергей, добрый день!

В приложении данный функционал не реализован.
Как вариант Вы можете использовать для этого раздел «Лента», где можно за комментарии ставить «Нравится»/«Не нравится».

Показать все комментарии
оценка обращения
письмо
Технические вопросы
7.x

Добрый день!
Версия itil transitions 7.5.0.1473

Стандартный процесс обработки инцидентов.
Настройка системная "адрес сайта" заполнена.
Пользователю приходит письмо о разрешении инцидента и необходимости поставить оценку.
Пользователь ставит оценку, выходит сообщение в браузере о том, что оценка поставлена.
Но в карточке обращения эта оценка в поле "оценка" не появляется.

С чем это может быть связано?

Нравится

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

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

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

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

BPM 7.5 off-site. Нужно делать поля обязательными / отменять признак обязательности по условию. Поле лукапное, не эксперементировал с другими типами. Поле НЕ помечено как обязательнтое в базе. Вычитал на форуме, что это делается посредством атрибутов:

 

"UsrCustomer":
{
        "isRequired":
        {
                "bindTo": "getUsrCustomerIsRequired"
        }
},

 

Код функции:

 

getUsrCustomerIsRequired: function()
{
        var department = this.get("UsrDepartmentUsr");
        var departmentEngineering = 'c7f45266-747b-47d3-9af1-63978f63f321';
        var result = department && department.value === departmentEngineering;
        return result;
},

 

Проблема - даже когда функция возвращает false, то тогда пропадают красненькие звёздочки, однако поле нельзя оставить пустым, оно ведёт себя как обязательное.

Вопросы:
1. Это баг?
2. Какие есть обходные решения, желательно, работающие? Правила?

UPDATE: Правила работают корректно. Однако, хотелось бы услышать и про биндинг на isRequired атрибута. Ведь если нужно будет более сложное условие, то атрибута будет мало...

Спасибо
-----
Lohika

Нравится

14 комментариев

Добрый день!

Вы пытаетесь биндиться на поле, а необходимо на колонку в diff.
Нужно установить атрибут isRequired колонке в diff и забиндить на Ваше свойство.

"Вильшанский Дмитрий" написал:

Добрый день!

Вы пытаетесь биндиться на поле, а необходимо на колонку в diff.

Нужно установить атрибут isRequired колонке в diff и забиндить на Ваше свойство.


Помнится, я уже делал так ранее, однако, всё что происходило - появлялся красненький текст и астерикс (валидация), однако поле НЕ становилось required, всмысле, можно было сохранить, даже тогда, когда всё красненькое и поле ПУСТОЕ )) Т.е. тут баг наоборот..

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

Проверил, увы, я был прав :)

Вообщем, саммари:
1. С помощью правил работает (красный текст и нельзя сохранить пустое поле), однако, он не поможет, если сложная логика, нужна функция.
2. С помощью атрибута - пустое поле ВСЕГДА НЕЛЬЗЯ сохранить, даже если текст перестал быть красным.
3. С помощью биндинга на isRequired в diff - пустое поле ВСЕГДА МОЖНО сохранить, даже когда текст становится красный.
Вот такие пироги..

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

{
  "operation": "insert",
    "name": "UsrCustomer",
      "values":
      {
        "layout":
        {
          "column": 0,
            "row": 5,
              "colSpan": 12,
                "rowSpan": 1
        },
          "bindTo": "UsrCustomer",
            "caption":
            {
              "bindTo": "Resources.Strings.UsrCustomerCaption"
            },
              "textSize": 0,
                "contentType": 5,
                  "labelConfig":
                  {
                    "visible": true
                    /*,
									"isRequired": { "bindTo": "getUsrCustomerIsRequired" }*/
            },
              "enabled":
              {
                "bindTo": "getUsrCustomerEnabled"
              },
                "isRequired":
                {
                  "bindTo": "getUsrCustomerIsRequired"
                }
        },
          "parentName": "Header",
            "propertyName": "items",
              "index": 11
    },

Здравствуйте снова.
Вы не могли бы как то откомментировать предыдущий пост с анализом?
Например:
1. Здравствуйте, ведётся анализ разработчиками
2. Здравствуйте, я еще не читал ваше сообщение
3. Здравствуйте, у нас всё работает (но я не проверял)
4. Здравствуйте, я проверил, и у нас всё работает
5. Здр, вы правы, во всём, всегда :)
6. Здр. вы правы насчёт вариантов X и Y, но с Z мы вы неправильно сделали, нужно так..
7. Здравствуйте, есть 4й способ..
8. Ну и так далее

Просто холдер на холдере, бесплатные тестировщики :)

Спасибо!

Еще одна проблема. Я не только должен добавить / убрать признак обязательности, но еще и стереть значение (оно нерелеватно в данном случае). Добавляю / убираю признак isRequired я с помощью правила. Стираю значение я в функции вызываемой из attributes > dependencies, используя this.setColumnValue("ColumnName", null). Что происходит (подозреваю)? Я не могу контролировать порядок вызова методов. Сначала вызвается метод, стирающий значение, пр этом поле еще required, появляется индикация "Specify the value". После этого поле становится required, однако, индикация не пропадает. Сущность сохранить МОЖНО, однако, индикация сбивает пользователя с толку. Он может захотеть попытаться заполнить поле (хотя оно у меня еще и disabled делается).

Пришлите, пожалуйста, полный листинг кода.

Спасибо!

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

"Вильшанский Дмитрий" написал:Пришлите, пожалуйста, полный листинг кода.

Просьба странная, я вам описал 4 проблемы. Две из них различные НЕРАБОТАЮЩИЕ варианты сделать одно и тоже (required по условию). Было бы глупо в коде исползовать то, что не работает. 3-е решение (проблема) работает, именно его я и использовал в коде (используя правила). Проблема этого решения - раздутый синтаксис правил, слишком много кода, чтобы решить такую мелкую проблему, учитывая, что полей может быть много, и вся логика будет разбросана по rules, diff, attributes. 4-я проблема связана с использованием 3-его работающего решения + стиранием значения поля использую attributes > dependencies > this.setColumnValue("FieldName", null) - если поле, будучи required по условию, содержало значение, условие поменялось, и на false условия мы хотим сбросить значение используя attributes > dependencies > this.setColumnValue("FieldName", null), то остаётся надпись "Specify the value", при этом сущность можно сохранить, однако, эта надпись может озадачить пользователя, и он может совершить ненужные действия.
------
Я записал 4 видео, где воспроизвёл все 4 проблемы, показал также клиентский код из инспектора. Надеюсь, Вам это заменит "полный листинг кода".

1. Сценарий 1 - биндинг функции на diff > isRequied (ВСЕГДА МОЖНО сохранить пустое поле)
https://dl.dropboxusercontent.com/u/54624048/ShareX/2015/07/2015-07-11_…
2. Сценарий 2 - биндинг функции на attributes > isRequired (ВСЕГДА НЕЛЬЗЯ сохранить пустое поле)
https://dl.dropboxusercontent.com/u/54624048/ShareX/2015/07/2015-07-11_…
3. Сценарий 3 - использования rules - единственное рабочее решение. Кроме как в сочетании с
https://dl.dropboxusercontent.com/u/54624048/ShareX/2015/07/2015-07-11_…
4. Сценарий 4 - сценарий 3 + сброс значения поля - остаётся нерелватный validation message - "Specify the value"
https://dl.dropboxusercontent.com/u/54624048/ShareX/2015/07/2015-07-11_…
-----
Разбор полётов. Если я очень глупо где-то ошибся - очень сильно прощу прощения, и беру все свои слова обратно.
Я (разработчик, представляю компанию, ваших потенциальных Customers) создал тему на форуме, где указал, что определённый способ решения задачи не работает. Параллельно создал тикет на портале самообслуживания. Тикет быстро закрыли как дубликат на тему на форуме (???). Мне предложили другой вариант. Я ответил, что я уже пробовал тот другой, и он не работал, но так и быть, я перепроверю. Я перепроверил, и сказал, что я был прав, это способ нерабочий. Итого - поддержка дала мне неработающее решение. Возможно, я сделал что-то не так, однако мне не предоставили "правильный" листинг кода. Более того, я провёл анализ известным мне способов достичь желаемого, и достаточно подробно для человека "в теме" описал, что 2 из них откровенно НЕ РАБОТАЮТ, 1 работает (УРА!), однако, он очень громоздкий, особенное, если нужна проверка не НЕСКОЛЬКО условий одновременно.
Я ждал ответа, как соловей лета (в ловушке, как мотылёк в ванной). Ответа ждал почти 2 дня. Написал еще одно сообщение, где попросил поддержку сообщить о статусе. Тишина. Потом, начальство узнало об этом всём, возмутилось, почему закрыли тикет как дубликат на эту тему, и настоятельно попросило ПЕРЕОТКРЫТЬ тикет, что я и сделал. Возможно, еще какие-то рычаги применились. Тут же запустилась формальная процедура (подозреваю), на тикет ответили, и на форуме ответили - предоставьте полный листинг кода.
------------
Мои (наши, компании) ожидания были немного другими:
1. Информацию, которую мы предоставили, проанализируют. Даже в целях улучшения качества продукта, за что нам нужно сказать спасибо. Уже несколько серьёзных проблем было добавлено в Ваш бэклог, что должно Вас радовать, а вот ваших QA нет.
2. Ответственный QA попытается воспроизвести сценарии, отпишется по результатах, и по цепочке это приведёт к ответу.
3. В случае некомпетенции QA, вопрос будет передан разработчику, который сделает то же.
4. Не нужно будет "давить" переоткрытием тикета для реакции.
5. Поддержка даёт только те советы, в которых уверена. А не то, что она "думает", что работает, или работало раньше, или что "наверное работает.". Проверять свои заготовленные "copy-paste" шаблоны на актуальность и соответствие версии продукта.
-------
Ничего личного, отношусь ко всему с юмором, в рестроспективе :)

Спасибо

Используя бизнес правила и dependency на поле изменить поведение системы не получится, чтобы не отображать сообщение о валидации.

В карточке счета реализована асинхронная валидация полей "Контакт" и "Контрагент". Это может помочь.
В схеме InvoicePage2, в методах validateAccountOrContactFilling и asyncValidate реализована обязательность заполнения одного из полей - "Контакт", "Контрагент".

Физически поля не являются required, но они валидируются.

Прилагаю схему InvoicePage2

invoicepagev2.txt

Уже 7.8.1, а установки обязательности через атрибуты до сих пор нет.

Игорь, здравствуйте!

Данную информацию передали в департамент разработки для рассмотрения возможной реализации в будущих версиях

"Коновалов Игорь" написал:Уже 7.8.1, а установки обязательности через атрибуты до сих пор нет.

Похоже, что в 7.10 тоже :cry:

С помощью валидатора можно выйти из положения в 7.11, если мастер бизнес-правил не подходит (потому, что при некоторых комбинациях условий на одно поле правило может не работать), но вообще печально :сry:  https://academy.terrasoft.ru/documents/technic-sdk/7-11/dobavlenie-vali…

7.14.2 Всё ещё нет, Держу в курсе 

Также см. соседнее обсуждение.

А вообще, есть такая информация:

Это не ошибка. 

Diff – отвечает за представление. И только. Никакой валидации View не делает. 

Этим занимается модель. Если атрибуту модели дописать свойство isRequired – тогда сработает валидация модели при сохранении. 

 

Показать все комментарии
7.x
скорость
Технические вопросы

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

Сейчас используется sales commerce 7.5.0.1544 on-demand.

Контрагентов около 100
Лидов около 500
Контактов тоже около 600
То есть немного.

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

Может быть есть рекомендации и best practice по использованию конкретных браузеров, их настроек, определенных системных настроек?

Нравится

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

Я бы начал не с браузеров, а со скорости канала и его качества. Как вариант посмотреть как пинг идет от вас до серверов on-demand где узкие места.
Потом смотрел бы на процесс открытия страницы с точки зрения потребления ресурсов браузером на конкретной клиентской машине - сколько памяти доступно, сколько "ест", сколько ресурсов процессора доступно и используется в процессе.

Пинг и канал нареканий не вызывают, это я смотрел в первую очередь.
Ответ от 195.189.123.118: число байт=32 время=2мс TTL=117
Ответ от 195.189.123.118: число байт=32 время=2мс TTL=117
Ответ от 195.189.123.118: число байт=32 время=2мс TTL=117
Ответ от 195.189.123.118: число байт=32 время=2мс TTL=117

Добрый вечер!

Для браузера Google Chrome для увеличения быстродействия можно отключить аппаратную часть. Инструкция следующая:
1) Откройте страницу настроек:

2) Нажмите ссылку отображения расширенных настроек:

3) Отключите флаг "Use hardware acceleration when available" в блоке "System":

Так как у вас on-demand дам радикальный совет - озадачьте производительностью не себя, а команду поддержки on-demand, если проблема на их стороне они ее будут решать, а нет - так в процессе выяснения укажут на "узкие" места в канале, браузере :) как я понимаю, именно в этом смысл облака и платной поддержки

Показать все комментарии
Деталь
фильтрация
Технические вопросы
7.x

Добрый день.
Возникла необходимость добавить в деталь блок быстрой фильтрации, как в модуле активности (даты, ответственный). Если с добавлением такого блока в другой раздел проблем нет, то с деталью все сложнее. Буду признателен за помощь в решении этой задачи.
BPM 7.5

Нравится

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

В 7.6 сделали функциональность такую, но крайне урезанную

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

Данный функционал был реализован в 7.6.
В 7.5. добавление фильтрации в детали трудозатратно, так как для данной реализации необходимо полностью переделывать модуль фильтрации, добавлять связи, добавлять колонки/поля и т.д.

Как вариант можете обновить приложение до версии 7.6.

Показать все комментарии
7.x
наследование
Технические вопросы
5.x

Добрый день!

Подскажите, пожалуйста, правильно ли работает функциональность наследования при использовании мастера раздела? Добавил пару колонок в контакт с помощью мастера раздела. У видел, что объект Contact в пакете Custom унаследовался не от "последнего" пакета Omnichannel, а от базового контакта.

Нравится

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

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

Наследование объектов при использовании мастера раздела работает корректно. Обратите внимание, в разделе Конфигурация - деталь Зависимости пакетов указана иерархия наследования. Пакет Custom находится внизу цепочки наследования. В целях безопасности и надежности системы базовые пакеты недоступны для изменения/добавления. Таким образов пользовательских доработки попадают в пакет Custom, который наследуется от пакетов с базовой функциональностью.

"Зарицкий Олег Васильевич" написал:Таким образов пользовательских доработки попадают в пакет Custom, который наследуется от пакетов с базовой функциональностью.

Олег, спасибо, но не очень понял:
то есть все изменения, которые компания Terrasoft разработает (в процессе перехода на 7.7, 7.8 и т.п.) в пакете Omnichannel (или любых других промежуточных) будут игнорироваться?

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

В свойствах пакета есть детали: Зависит от пакетов и Зависимые пакеты. Для пользовательского пакета Custom устанавливается иерархия таким образом, что он наследуется от базовых пакетов. Изменения/обновления базовой функциональности/пакетов вступает в силу после применения, т.е. игнорироваться не будут. Конфликты могут возникать при обновлении и только в том случае, если в пользовательском пакете есть доработки, которые изменяют/замещают базовую функциональность.

Показать все комментарии
ms link
интеграция
сообщения
Технические вопросы
7.x

Добрый день!
Возможна ли реализация такой задачи в BPM Itil:
Необходима интеграция с Microsoft Link в плане обмена сообщений.
Например, при назначении ответственного посылать ему сообщение в MS Link.

Если возможна, то с помощью каких средств?

Нравится

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

Здравствуйте, Дарья!

В базовом продукте BPM'online ITIL не предусмотрена интеграция с Microsoft Lynс. Данный вопрос можно реализовать в рамках проектного решения. Если Вас интересует доработка функциональности мы передадим этот вопрос ответственному менеджеру для согласования деталей.

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

Во-первых, Microsoft Lync, который уже Skype for Business.
И bpm'online, и Skype for Business интегрируются с Exchange. Возможно, стоит копать в эту сторону.

А где именно реализована интеграция bpm'online с Exchange? В каких сервисах?

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

Возможно, синхронизируемые сущности (письма, задачи, контакты) можно потом «с той стороны» интегрировать из Exchange в Lync. Но не факт, нужно проверять. Вот видео об интеграции Lync с Exchange.

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