Добрый день!



Столкнулся с задачей:

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



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

Нравится

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

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

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

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

Всем доброго времени суток. Версия 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. А как мне вытащить только, допустим, первые пять?

Нравится

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

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

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

 

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) и потом вызовом его в тех местах, где требуется.

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

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

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

Добрый день!

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

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

Нравится

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

Добрый день)

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

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

Добрый день)

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

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

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

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

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

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

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



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

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

Нравится

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

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

Коновалов Игорь пишет:

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

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

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

Коновалов Игорь пишет:

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

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

На версии 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))

 

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