7.12
service

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

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

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

Изображение удалено.

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

Нравится

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

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

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

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

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

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

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

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

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

Нравится

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

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

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

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

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

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

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

Всем доброго времени суток. Версия 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".

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

Нравится

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

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

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

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")

Смородинов Денис,вопрос решился ? у меня тоже просто та же проблема(

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

Добрый день. Прошу консультации.

Настраиваем SVN сервер. Смотрели инструкции, ролики. Делали все как сказано там. Возникла проблема при авторизации в списке хранилища (скрин во вложении). Сам SVN работает, авторизация в ней происходит, а в bpm не получается. Прошу помочь.

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

Нравится

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

можно скрин url svn-а?

обычно просто указывается до репозитория (пример: http://192.168.10.10:81/svn/DevelopV2/)

можно скрин url svn-а?

обычно просто указывается до репозитория (пример: http://192.168.10.10:81/svn/DevelopV2/)

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

Спасибо большое! Получилось. yes

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

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

Настроили для раздела Обращений несколько страниц редактирования, в соответствии со схемой: https://academy.terrasoft.ru/documents/common/7-12/kak-nastroit-svoystv…

После переноса пакета на другую площадку в разделе остаётся одна страница - основная CasePage.

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

Нравится

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

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

Вот такой, например(этот скрипт применялся для разных страниц редактирования продукта). Поэтому посмотрите БД и попробуйте аналогично

update SysModuleEdit set TypeColumnValue = 'C296C34D-D083-4E8C-A318-BBB1647C4B5E', ActionKindCaption=N'Шины', PageCaption=N'Шины' where id = '90986556-A3E8-4882-AFD1-EFD98A08F836'
update SysModuleEntity set TypeColumnUId='AC574603-A4DB-410C-877D-E383C0A6C51A' where Id = '48A9D1A5-2DB8-4474-8E5B-F81DBC5E1454'

 

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



И пробовали ли вы после установки пакета очистить кеш?

Колодяжный Владислав Эдуардович,

схемы все переносятся и отображаются в пакете.

Однако в свойствах раздела после переноса установлена настройка "Использовать одну страницу редактирования", причём изменить эту настройку невозможно.

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

А данные из SysModuleEdit Вы переносили?

Посмотрите обсуждение здесь.

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

Вот такой, например(этот скрипт применялся для разных страниц редактирования продукта). Поэтому посмотрите БД и попробуйте аналогично

update SysModuleEdit set TypeColumnValue = 'C296C34D-D083-4E8C-A318-BBB1647C4B5E', ActionKindCaption=N'Шины', PageCaption=N'Шины' where id = '90986556-A3E8-4882-AFD1-EFD98A08F836'
update SysModuleEntity set TypeColumnUId='AC574603-A4DB-410C-877D-E383C0A6C51A' where Id = '48A9D1A5-2DB8-4474-8E5B-F81DBC5E1454'

 

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

Показать все комментарии
параметры БП
7.12
service

У меня есть элемент "Читать данные", у него есть ИД, Имя, и другие параметры сущности, которую считали. Как получить значения этих параметров из кода в элементе "Задание-сценарий"?Изображение удалено.

Нравится

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

Добрый день! вот ссылка на статью https://academy.terrasoft.ru/documents/technic-bpms/7-12/element-proces…

 

Метод Get возвращает значение параметра элемента или процесса.

Сигнатура метода:

Get<T>(string path)

где:

T — тип значения параметра;

path — строка, определяющая путь к параметру или свойству. Путь формируется согласно правилам:

•“имя параметра”,

•“имя свойства”,

•“имя элемента.имя параметра”,

•“имя элемента.имя свойства”

Добрый день! вот ссылка на статью https://academy.terrasoft.ru/documents/technic-bpms/7-12/element-proces…

 

Метод Get возвращает значение параметра элемента или процесса.

Сигнатура метода:

Get<T>(string path)

где:

T — тип значения параметра;

path — строка, определяющая путь к параметру или свойству. Путь формируется согласно правилам:

•“имя параметра”,

•“имя свойства”,

•“имя элемента.имя параметра”,

•“имя элемента.имя свойства”

Вы можете нужные Вам значения из элемента "Читать данные" добавить в параметры бизнес-процесса (БП), а потом в элементе "Задание-сценарий" вычитать их из параметров БП с помощью метода Get

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