Добрый день!
Скажите, пожалуйста, можно ли настраивать авторизацию с LDAP "точечно" - то есть, например, не всех пользователей из группы в LDAP, а только некоторых.
Если такой возможности нет, то какое обходное решение вы можете посоветовать?

Нравится

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

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

Мы уточнили у Вас, что речь идет не об авторизации, а именно о синхронизации пользователей с помощью LDAP.
Решение следующее:
1. Сначала Вам необходимо на сервере Active Directory (где находится информация о пользователях) создать новую группу.
2. В созданную группу внести только тех пользователей, которых Вы хотите синхронизировать с bpm'online.
3. В настройках синхронизации с LDAP указать название новой группы. Сохранить настройки.

Таким образом, в последующих синхронизациях будут задействованы только определенные пользователи.

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

Добрый день, Сообщество!

Кто нибудь сталкивался с задачей отправки электронных счет фактур или актов в систему Диадок славной компании СБК Контур. Уже который месяц пытаюсь получить от них внятного и работающего примера, но вот никак. Есть пример, но он до конца не работает(

Нравится

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

Здравствуйте.
С системой Диадок не сталкивался, но на вскидку, можно попробовать записывать данные в их базу напрямую, например через шлюзовые таблицы или использовать что-то на подобие ADO-Connection.

В общем то там у них ActiveX библиотека, в которой реализована обертка над их Web API. Но примеров отправки готовых XML докуметов нету или я их не нашел, вот второй месяц поддержку мучаю, прислали скрипт, но он не работает.

Здравствуйте.
Повторю, что у нас прецедентов интеграции с такой системой не было, но, вероятно, Вам будет любопытно ознакомиться с: http://habrahabr.ru/company/skbkontur/blog/175871/

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

Добрый день,
bpm'online ITIL service 7.5.0.1473

Возможно ли получить значение характеризующее время остатка до момента "План. решение" в обращении набором состояний/характеристик обращения, которое потом можно использовать в бизнес-процессе?
или необходимо создать какую-то свою, пользовательскую переменную и использовать в бизнес- процессе её?

Например, необходимо отправлять Ответственному за обращение письмо на эл. почту, в случае если остаток времени до предоставления решения по обращению меньше 20% общего времени отведенного на решение данного инцидента.

или, например, необходимо переназначать ответственного с 1 линии на 2 линию, в случае если остаток времени до предоставления решения по обращению меньше 40% общего времени отведенного на решение данного инцидента.

и т.д. и т.п.

Нравится

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

Добрый день, Маргарита!

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

0) Создайте параметр бизнес процесса с типом "Целое число"
1) Бизнес процесс запускается по сигналу добавления обращения.
2) Элементом "Чтение данных", Вы получаете инфорамацию по времени "План. решение" обращения.
3) Далее элементом C# Вы можете подсчитать значение времени (по первому кейсу) 0,8*("План. решение" - фактическая дата и время) в секундах и установить его в параметр, созданный на нулевом шаге.
4) Используйте элемент таймер. Установите значение таймеру из параметра. Таким образом через 80% времени, отведенного на решения инцидента бизнес процесс "пойдет" дальше.
5) Вновь используйте "Чтение данных". Прочтите данные по обращению. Если обращение находится в конечном состоянии - процесс завершается.
Если же обращение не разрешено:
6) "Чтение данных" по объекту Контакт, где Обращение.Ответственный = Контакт.Id.
7) Элемент "Отправить email", где поле "Кому" заполнено значением поля "Email" из прочитанного на предыдущем шаге элемента, а в поле "От кого" - выбранный из справочника предварительное настроенный email адрес пользователя, от имени которого будет происходить отправка. Конец процесса.

Если пользователь может изменить "План. решение", то необходимо учитывать, что процесс необходимо перезапустить.

Огромное спасибо, Алексей, за ваш ответ.

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

Добрый день! В нашей компании встал вопрос с быстродействием системы. В частности менеджеры в региональных офисах стали жаловаться на долгое открытие разделов и карточек в системе. Для эксперимента были сняты трейсы через Profiler. На трейсах были обнаружены непонятные пары запросов: Audit Login и Audit Logout, постоянно отправляемые на сервер. Кроме того, с помощью сниффера, получили странную картину: в определённые моменты времени и сервер и клиент одновременнно простаивают. В связи спроблемой с быстродействием хотелось бы больше понимать механизм работы системы. Можно ли получить больше информации по этому вопросу?

Нравится

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

Здравствуйте.
В стандартной конфигурации запросов вида "Audit Login", "Audit Logout" нет. Вероятнее всего, что это либо проектная доработка, либо внесены изменения в конфигурацию с Вашей стороны. Что касается быстродействия, то можно попробовать перестроить индексы базы данных путём запуска "хранимки" sp_reindex_all_tables (скрипт для её создания прикрепил). Запускать нужно в нерабочее время и предварительно ОБЯЗАТЕЛЬНО создать резервную копию базы данных.

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

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

Нравится

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

Олег, здравствуйте!

К данному комментарию прикрепил наглядный пример по реализации иерархической детали.

realizaciyaierarhicheskoydetali.doc

Приятного дня!

Добрый день, спасибо за оперативный ответ, попробовал сделать по инструкции, но иерархичность грида не работает http://goo.gl/yCvmBG, кнопка добавления подчиненной записи вообще не активна, добавляются только по кнопке родительской записи, как обычные записи детали
В принципе не могу найти даже в базовой схеме детали метод getAddChildButtonEnabled

Пришлите список сервисов и сами сервисы в которые Вы вносили изменения на support@bpmonline.com для того чтобы мы детально проанализировали Вашу конфигурацию.
В тему письма впишите номер инцидента 0255638.

Отправил на почту письмо с детальным описанием проделанных действий.
P.S. с форума письмо на восстановление пароля содержит в теме [*****SPAM 4.1 *****] странно как то

Добрый день, по итогу общения по почте:

Согласно предоставленному файлу, в схеме детали после строки:
- "hierarchical": true
следует добавить:
- hierarchicalColumnName: "Parent"

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

Олег, здравствуйте!

Для отображения кнопки «Добавить подчинённый элемент» добавьте в код детали:

getAddChildButtonEnabled: function() {
   return true;
},

Попробуйте в код детали подключить следующий миксин:

define("HierarchicalSectionUtilities", ["HierarchicalSectionUtilitiesResources", "GridUtilitiesV2"],
    function(resources) {
        Ext.define("Terrasoft.configuration.mixins.HierarchicalSectionUtilities", {
            extend: "Terrasoft.BaseObject",
            alternateClassName: "Terrasoft.HierarchicalSectionUtilities",
 
            expandedElements: {},
            expandHierarchyLevels: {},
            ExpandItemId: null,
            ExpandedLevels: null,
 
            changeSorting: function() {
                this.clearExpandHierarchyLevels();
                this.callParent(arguments);
 
            },
 
            /**
             * Обработчик загрузки дочерних элементов. Осуществляет проверку загружености
             * дочерних элеметов выбранной записи. Запускает загрузку нового уровня.
             * @protected
             * @virtual
             * @param {String} primaryColumnValue Уникальный идентификатор записи
             * @param {Boolean} isExpanded Признак того, разворачивает или сворачивает пользователь дочерние элеметы
             * true - если разворачивает, false в обратном случае
             */
            onExpandHierarchyLevels: function(primaryColumnValue, isExpanded) {
                if (!isExpanded || this.isItemExpanded(primaryColumnValue)) {
                    return;
                }
                this.setExpandedItem(primaryColumnValue);
                this.set("ExpandItemId", primaryColumnValue);
            },
 
            /**
             * Удаляет логику постраничности если загружаются дочерние объекты
             * @protected
             * @overridden
             */
            initCanLoadMoreData: function() {
                var parentItem = this.get("ExpandItemId");
                if (!parentItem) {
                    this.callParent(arguments);
                }
            },
 
            /**
             * получает коллекцию развернутых уровней
             * @returns {*}
             */
            getExpandedItems: function() {
                return this.get("expandedElements");
            },
 
            /**
             * Устанавливает новый уровень развернутости иерархии
             * @param primaryColumnValue
             */
            setExpandedItem: function(primaryColumnValue) {
                (this.getExpandedItems()[primaryColumnValue]) = { "page": 0 };
            },
 
            /**
             * Проверяет, были ли загруженны дочерные элементы выбранной записи
             * @protected
             * @virtual
             * @param primaryColumnValue Уникальный идетификатор записи
             * @return {boolean}
             */
            isItemExpanded: function(primaryColumnValue) {
                return !!(this.getExpandedItems()[primaryColumnValue]);
            },
 
            /**
             * Очищет информацию о загруженных и развернутых уровнях
             * @protected
             * @virtual
             */
            clearExpandHierarchyLevels: function() {
                this.set("expandedElements", {});
                this.set("expandHierarchyLevels", []);
                var grid = this.getCurrentGrid();
                if (grid) {
                    grid.expandHierarchyLevels = [];
                }
            },
 
            /**
             * Убирает информацию о том, что элемент развернут из системных параметров
             * @protected
             * @virtual
             * @param {String} itemId Уникальный идентификатор записи
             */
            removeExpandHierarchyLevel: function(itemId) {
                var expandHierarchyLevels = this.get("expandHierarchyLevels");
                this.set("expandHierarchyLevels", Terrasoft.without(expandHierarchyLevels, itemId));
                var grid = this.getCurrentGrid();
                if (grid) {
                    grid.expandHierarchyLevels = Terrasoft.without(grid.expandHierarchyLevels, itemId);
                }
            },
 
            /**
             * Дополнительная обработка после удаления записи
             * Очищает иерархию и перезагружает реестр
             * @overridden
             * @protected
             */
            onDeleted: function(result) {
                this.callParent(arguments);
 
                if (result.Success) {
                    this.clearExpandHierarchyLevels();
                    this.loadGridData();
                    this.reloadGridData();
                }
            },
 
            reloadGridColumnsConfig: function(doReRender) {
                var profile = this.get("Profile");
                var propertyName = this.getDataGridName();
                var gridProfile = profile[propertyName];
                if (!this.Ext.Object.isEmpty(gridProfile)) {
/**
* очень важны две следующие строки, благодаря им при перерисовке реестра в виде вертикального, не разрушаются стили иерархии, и она нормально отображается в вертикальном реестре.
*/
                    gridProfile.isTiled = false;
                    gridProfile.type = "listed";
                    var grid = this.getCurrentGrid();
                    if (!grid) {
                        return;
                    }
                    grid.type = gridProfile.type;
                    var viewGenerator = Ext.create("Terrasoft.ViewGenerator");
                    viewGenerator.viewModelClass = this;
                    var gridConfig;
                    var bindings = this.Terrasoft.deepClone(grid.bindings);
                    if (gridProfile.type === Terrasoft.GridType.LISTED) {
                        gridConfig = {
                            listedConfig: Ext.decode(gridProfile.listedConfig),
                            type: gridProfile.type
                        };
                        viewGenerator.actualizeListedGridConfig(gridConfig);
                        grid.captionsConfig = gridConfig.listedConfig.captionsConfig;
                        grid.columnsConfig = gridConfig.listedConfig.columnsConfig;
                        grid.listedConfig = gridConfig.listedConfig;
                        grid.initBindings(gridConfig.listedConfig);
                    } else {
                        gridConfig = {
                            tiledConfig: Ext.decode(gridProfile.tiledConfig),
                            type: gridProfile.type
                        };
                        var isVertical = (propertyName.indexOf("VerticalProfile") > -1);
                        gridConfig.isVertical = isVertical;
                        grid.isEmptyRowVisible = !isVertical;
                        viewGenerator.actualizeTiledGridConfig(gridConfig);
                        grid.columnsConfig = gridConfig.tiledConfig.columnsConfig;
                        grid.tiledConfig = gridConfig.tiledConfig;
                        grid.initBindings(gridConfig.tiledConfig);
                    }
                    grid.bindings = bindings;
                    if (doReRender) {
                        grid.clear();
                        grid.prepareCollectionData();
                        if (grid.rendered) {
                            grid.reRender();
                        }
                    }
                }
            }
        });
        return Terrasoft.HierarchicalSectionUtilities;
    }
);

В результате деталь должна отобразиться нужным образом.
Также подобную реализацию можете посмотреть в разделе «Контрагенты» (деталь «Структура организации»).

Добрый день, наверное глупый вопрос, но найти ответа не смог, как подключить миксин? создал модуль, поместил в него код миксина, в код детали добавил :

details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
mixins: {
	HierarchicalSectionUtilities: "HierarchicalSectionUtilities"
},
diff: /**SCHEMA_DIFF*/[

и при открытии страницы где расположена деталь в консоль выбивает ошибку

Добрый день, Олег!
Если нужно подключить указаный выше по комментариям мексин HierarchicalSectionUtilities, то нужно подключить/зарегистрировать модуль содержащий мексин в define и подключить его в секции mixins, как показано ниже:

define("SchemeModuleName", ["HierarchicalSectionUtilities"], function() {
                return {
                               messages: {},
                               /**
                               * Классы-миксины, расширяющие функциональность данного класа.
                               */
                               mixins: {
                                               /**
                                               * @class HierarchicalSectionUtilities
                                               */
                                               HierarchicalSectionUtilities: "Terrasoft.HierarchicalSectionUtilities"
                               },
                               methods: {},
                               diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
                };
});

Добавил миксин, ситуация не изменилась, деталь так же имеет обычную структуру...
http://goo.gl/dexq8R

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

Огромное спасибо за помощь, понял свои ошибки

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

Добрый день!
Версия 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.

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

Есть ли какой-нибудь кейс установки фильтров в модуле раздела (файлы с названием 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").

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

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

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

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

Нравится

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

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

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

Добрый день!

Прошу помочь с таким вопросом -

как получить возможность фильтровать данные по нескольким полям (критериям)?
Например по контрагентам + по средствам связи + и.т.д.

Спасибо.

Нравится

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

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

Здравствуйте.
Такая возможность была добавлена только в версии 3.5.2 в сборках, которые были выпущены после 14.03.2014. При такой фильтрации используется логический оператор "И". Если у Вас более ранняя версия, то для выбора множественного условия нужно использовать менеджер фильтрации (слева внизу) + там существует возможность выбора разных условий (И, ИЛИ, =, <> и т. д.).

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