Вопрос

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

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

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

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

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

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Продукт: 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.

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

 

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

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

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

 

Вопрос 1. Существуют параметры, которые используются внутри процесса первый раз внутри сценария. Для этого требуется получить значение параметра, примерно таким образом:

var Number = Get<String>("Number");

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

В то же время, параметр заполняется при вызове процесса внутри клиентского модуля в соответствии с инструкцией https://academy.terrasoft.ua/documents/technic-sdk/7-13/zapusk-processa… Однако чтобы правильное значение оказалось внутри script task'а, приходится использовать вот такой костыль:

То есть подставлять внутрь параметра его собственно значение! Что это - "баг, или фича?"(с)

 

Вопрос 2. Можно ли каким-то образом обработать ситуацию, когда параметра Number в процессе не существует? То есть не задан вообще (даже не то, что не заполнен, а просто не создан как параметр процесса), но вызывается при помощи указанного выше кода. Или в этом случае просто переменная Number останется undefined?

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

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

1) "фича". фиксилась простановкой галки "компилируемый процесс", но теперь видимо всё. именно по этой причине у меня все подпроцессы компилируемые.

2) вроде как null будет 

1) "фича". фиксилась простановкой галки "компилируемый процесс", но теперь видимо всё. именно по этой причине у меня все подпроцессы компилируемые.

2) вроде как null будет 

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

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

Есть бизнес-процесс с параметрами, вызывается из клиентской схемы.

Среди параметров есть параметр типа "Дата/Время". Попробовал передать туда обычную дату this.get("WSStartDate"), в результате при запуске процесс выдаёт ошибку: "Строка не распознана как действительное значение DateTime".

Как правильно передавать такие параметры в бизнес-процессы?

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

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

Это ошибка ядра.

Обойти её можно таким образом. На входе в БП или перед тем, как Вы собираетесь работать с этим параметром нужно добавить элемент скрипт-таск и прописать приблизительно такой код:

var shipmentDateString = Get<string>("ShipmentDateString");
if (!string.IsNullOrEmpty(shipmentDateString)) {
    var shipmentDate = DateTime.ParseExact(shipmentDateString.Substring(0, 24), "ddd MMM d yyyy HH:mm:ss",
        CultureInfo.InvariantCulture);
    Set("ShipmentDate", shipmentDate);
}

и в БП использовать уже другой параметр с установленным значением.

В моем примере на входе у нас параметр "ShipmentDateString", который мы передаем в процесс с клиента, а на выходе параметр "ShipmentDate", с которым мы работаем уже в самом БП.

Это ошибка ядра.

Обойти её можно таким образом. На входе в БП или перед тем, как Вы собираетесь работать с этим параметром нужно добавить элемент скрипт-таск и прописать приблизительно такой код:

var shipmentDateString = Get<string>("ShipmentDateString");
if (!string.IsNullOrEmpty(shipmentDateString)) {
    var shipmentDate = DateTime.ParseExact(shipmentDateString.Substring(0, 24), "ddd MMM d yyyy HH:mm:ss",
        CultureInfo.InvariantCulture);
    Set("ShipmentDate", shipmentDate);
}

и в БП использовать уже другой параметр с установленным значением.

В моем примере на входе у нас параметр "ShipmentDateString", который мы передаем в процесс с клиента, а на выходе параметр "ShipmentDate", с которым мы работаем уже в самом БП.

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

Спасибо за ответ. Я правильно понимаю, что параметр ShipmentDateString - строковый? И как всё-таки в него дата передаётся? В виде строки формата "dd MM yyyy HH:mm:ss"? Или просто можно значение колонки туда из клиентской схемы передать как есть?

Смородинов Денис,

Да, передаете, как есть:

this.get("ShipmentDate")

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