Вопрос

Всем доброго времени суток. Версия 7.12.

Два вопроса (не связанных друг с другом):

1. Есть ли возможность вызвать какую-либо функцию после авторизации? Для примера - показывать окно с сообщением сразу после авторизации пользователя. Попробовал добавлять такие вызовы в схемы, загружающиеся только один раз (MainHeaderSchema, CommunicationPanel и т.д.), но вот проблема - если пользователь нажмёт F5, то снова сработает загрузка, а значит - вызов окна.

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

2. Есть ли в фильтрах - https://academy.terrasoft.ru/documents/technic-sdk/7-8/rabota-s-filtram… (именно в варианте для клиентской части) фильтрация "последних нескольких записей"? Т.е. к примеру, фильтрация по колонке с датой:

var dateColumn = esq.addColumn("UsrDate");
dateColumn.orderDirection = Terrasoft.OrderDirection.DESC;
dateColumn.orderPosition = 0;

выведет все записи в порядке убывания значений колонки UsrDate. А как мне вытащить только, допустим, первые пять?

У меня такой же вопрос

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

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

2. Вам нужно указать при обращении к EntitySchemaQuery кол-во выводимых записей в запросе:

  var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
   }

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

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
}
var createdOnColumn = esq.addColumn("CreatedOn");
createdOnColumn .orderDirection = Terrasoft.OrderDirection.DESC;
createdOnColumn .orderPosition = 0;

 

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

Всем доброго времени суток. Версия 7.13.

На демо-площадке добавил кнопку и модуль в коммуникационную панель, для примера полностью скопировал код из статьи: http://beta-community.bpmonline.com/articles/kak-dobavit-knopku-v-kommu…

В результате новая вкладка появилась, но она пустая, а при открытии возникает ошибка в консоли:

Ошибка возникает в функции generateSchemaStructure, вызываемой в init модуля UsrMyMenuModule внутри this.callParent(arguments).

Что не так? Помню, что в 7.12 успешно добавлял свою вкладку на панель.

У меня такой же вопрос

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

Добрый день

Данная ошибка свидетельствует о том, что у вас есть в вашем скрипте UsrMyMenu синтаксическая ошибка (лишняя запятая, не закрытая скобка..)

При сохранении схемы проверьте наличие ошибок, выдаваемых валидатором (сообщения о лишних пробелах можно игнорировать), а также можете воспользоваться любым JS online валидатором 

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

Всем доброго времени суток. Версия 7.12.

Ситуация в целом следующая - нужно добавить кнопку в стандартное окно lookup. Примерно сюда:

Где добавляется нашёл, всё в целом понятно - схема LookupPageViewGenerator, функция getSelectionControlsConfig.

Но вот вопрос - как идеологически верно замещать подобные схемы? Вроде и не контрол (он же модуль - с ними разобрались: через override либо наследование), и не обычная схема (там работает обычное замещение). А тут по сути набор функций.

У меня такой же вопрос

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

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

Идеально, это реализация собственного окна (наследника от LookupPageViewGenerator) и потом вызовом его в тех местах, где требуется.

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

Добрый день!

Как можно отправить данные с bpmonline на внешний сайт  при изменении статуса Обращения ? 

Нужны либо все данные обращения, либо его ИД.

У меня такой же вопрос

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

Добрый день)

Посмотрите пост.

Подробнее о выборе способа интеграции можно почитать на Академии.

Начиная с 7.12 появился элемент БП «веб-сервис». То есть, можно добавить БП на событие изменения поля, а в нём запустить сервис.

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

Ошибка в Базовой функциональности:

В методе restoreActiveRow в клиентской схеме BaseGridDetailV2 (пакет Nui) происходит попытка записать объект в атрибут ActiveRow, который должен содержать строку идентификатора.

this.set(
 "ActiveRow", 
 {
  value: lastActiveRow,
  scrollPageToActiveRow: true
 }
);

В итоге получаем ошибку "Элемент с ключом [object Object] Не существует "

Воспроизведено на 7.12.4

У меня такой же вопрос

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

На версии 7.13.1 данный код аналогичен.

А как Вы воспроизводите данную ошибку?

В версии 7.12.4 при сохранении карточки детали карьеры контакта никаких ошибок нет. В коде схемы BaseGridDetailV2 для LastActiveRow указан верный тип:

/**
 * Last active record primary column value.
 */
"LastActiveRow": {
	dataValueType: Terrasoft.DataValueType.GUID
},

 

Алла Савельева,

Я открываю на редактирование звонок из детали звонки, потом закрываю. 

Метод restoreActiveRow отрабатывает 2 раза. В перывый раз и происходит ошибка

В том то и дело, что и у LastActiveRow и у ActiveRow  тип Guid, в методе в ActiveRow пытаются записать объект

В методе берётся значение из LastActiveRow:

var lastActiveRow = this.get("LastActiveRow");

 

Зверев Александр,

И в ActiveRow записывается значение 

{
  value: lastActiveRow,
  scrollPageToActiveRow: true
 }

Да, так должен записаться Guid. Может, в разделе звонков эту функцию переопределяют.

Зверев Александр,

Как я написал в самом начале метод restoreActiveRow определён в клиентской схеме BaseGridDetailV2 (пакет Nui), а не в замещённой схеме

Игорь,

снимите видео с воспроизведением ошибки и отправьте в саппорт.

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

Алла Савельева,

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

P.s.: Когда же уже появится конкурс "Найди баг в базовой функциональности и получи IPhone."laugh

Коновалов Игорь,

Коновалов Игорь пишет:
Мне кажется, что я в полной мере описал проблему и указал место, где есть эта проблема. Ход за командой поддержки.

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

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

Коновалов Игорь пишет:
P.s.: Когда же уже появится конкурс "Найди баг в базовой функциональности и получи IPhone."

Такого конкурса не будет - IPhono'в на все баги не хватит wink  

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

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

Всем доброго времени суток. Версия 7.12.

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

А можно ли то же самое сделать с вкладкой? Т.е. показывать вкладку на странице Обращения целиком только при определённом значении, к примеру, Сервисной колонки?

Информации на странице много, поля разделяются на несколько групп, нужные по сути только для определённых сервисов. Возникла идея вынести их на вкладку.

У меня такой же вопрос

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

См. комментарии тут.

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

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

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

Продукт: BPMonline Service Desk, версия 5.4.0.2408.

Создала нестандартный справочник (в соответствии с инструкцией по настройке): объект + страница редактирования + страница реестра. После регистрации справочника открываю его для добавления записи, но в нем неактивны кнопки (добавить, изменить, удалить, копировать) и не отображаются колонки.

Может кто-нибудь помочь с этим вопросом?

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

У меня такой же вопрос

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

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

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

Елена, имею в виду, что если Вы сами его создали, то это самодельный справочник. Он может быть стандартным (две текстовых колонки «название» и «описание» в объекте, отдельная карточка не нужна) и нестандартным (больше колонок, своя карточка).

Александр, Ваше решение помогло. За это огромное спасибо! Создала только страницу редактирования (так как справочник нестандартный) и в карточке регистрации справочника, в поле "страница карточки" выбрала созданную страницу редактирования, а поле "страница реестра" оставила пустым. Тогда всё получилось."

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

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

Всем доброго времени суток. Версия 7.12.

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

Можно ли как-нибудь перенести раздел целиком, не нарушая связи между отдельными объектами (схемами и т.д.)?

У меня такой же вопрос

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

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

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

Всем доброго времени суток. Версия 7.12.

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

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

У меня такой же вопрос

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

Добрый день, может SysProcessElementData?
Не пробовали?

Или SysProcessData, нужно смотреть. В обеих значение поля PropertiesData можно вывести в SQL-запросе читаемым так:

cast(PropertiesData as varchar(max))

 

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

Всем доброго времени суток. Версия 7.12.

Есть стандартный фильтр в ESQ-запросе, например, такой:

esq.filters.add("Filter", Terrasoft.createColumnInFilterWithParameters("Number", ["79219259027"]));

Есть получение колонок в данных фильтра, в том числе получение отображаемой колонки, не зная её названия:

esq.addMacrosColumn(Terrasoft.QueryMacrosType.PRIMARY_DISPLAY_COLUMN, "PrimaryDisplayColumnValue");

А можно ли организовать поиск по значению отображаемой колонки? Такой вариант:

esq.filters.add("Filter", Terrasoft.createColumnInFilterWithParameters("PrimaryDisplayColumnValue", ["79219259027"]));

выдаёт ошибку о том, что такой колонки не существует.

У меня такой же вопрос

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

Варфоломеев Данила,

Насколько я поняла вопрос, то речь о том, чтобы взять primaryDisplayColumn корневой схемы, которая указана в  EntitySchemaQuery.

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

 

можно взять отображаемую колонку из this.entitySchema.primaryDisplayColumn.name

Варфоломеев Данила,

Насколько я поняла вопрос, то речь о том, чтобы взять primaryDisplayColumn корневой схемы, которая указана в  EntitySchemaQuery.

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

 

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