Вопрос

Добрый день!

Столкнулись со свойством "Объект доступен на портале как раздел" в объекте в блоке "Поведение" и никак не получается разобраться с "подкапотной" частью: зачем это свойство нужно? Что происходит при его простановке в объекте?

Буду очень благодарна за помощь!

Заранее спасибо!

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

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

Версия 7.12.0.2702

HTTP Error 503. The service is unavailable. Pool останавливается.

Только пытаешься открыть начальную страницу.

WSRV 2016

Где копать? 

Или в сообществе может есть FAQ ?

 

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

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

Попробуйте в IIS в дополнительных параметрах пула приложений в параметре "Удостоверение" указать пользователя с правами администратора: "Особая учетная запись" -> Установить.

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

Спасибо. Подтолкнули к решению. Там как раз была учетка с админскими правами. Поставил ApplicationPoolIdentity - ошибка ушла. Но пришлось повторно генерировать исх. коды и компилировать, а это процесс не быстрый. Генерация шла около 4-х часов, а окончания компиляции я не дождался.

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

Здравствуйте! Есть dll в которой есть какой-то функционал, есть solution этой dll, пробую в проекте этой dll приатачится к процессу приложения, но почему-то после атача, брейкпоинты не проставляются, а пишут что симаолы не загружены (no symbols have been loaded for this document breakpoint), как их тогда подгрузить, может кто-нибудь подскажет?

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

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

Вопрос подымался не однократно посмотрите обсуждения

Григорий Чех,

Дело в том, что я все эти способы перепробовал. Само приложение bpm Terrasoft.Configuration.у меня без проблем отлаживается. А вот проект dll, разработанной сторонне, не отлаживается. Вы видимо не поняли мой вопрос. 

Информация о том, как называются локальные переменные, не включена в скомпилированный код.

Всю такую информацию, нужную для отладки, компилятор и складывает в pdb.

Если dll откомпилирована в режиме отладки то на выходе будут 2 файла с одинаковым названием и с расширениями dll и pdb (файл символов) Вот они вам и нужны. Из файлов pdb символы и грузятся в VisualStudio. Запросите у поставщика вашего решения для целей отладки файл(ы) символов.

Более детально смотрите тут

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

Добрый день!

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

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

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

Данное поведение реализовано в последних версиях bpmonline, вы можете обновится.

Если нет возможности обновится то ищите в стилях  что то типа:

.grid-listed-row div {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

и убирайте (переопределяйте) для вашей страницы

Григорий Чех,

Подскажи, пожалуйста, с какой версии доступен этот функционал?

С 7.14:

В редактируемом реестре текст в многострочных полях отображается с переносами в несколько строк.

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

Спасибо.

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

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

Может возникнуть ситуация, в которой мне нужно принудительно установить значение данного справочника. Я поступаю следующим образом:
 

this.set("Country", {value: "a570b005-e8bb-df11-b00f-001d60e938c6", displayValue: "РОССИЯ"});

В результате значение поля выбора принимает соответствующее значение.

Но у атрибута Country назначены дополнительные колонки кроме value и displayValue. Если в дальнейшем потребуется обратиться к этим колонкам, мы получим ошибку, потому что в реальности значением атрибута установлены только две переменных.

Понятно, что можно принудительно назначить атрибуту больше значений, но можно ли каким-то образом восстановить выбор значения из справочника по одному Guid ? Скажем, я знаю, что Guid нужной мне страны такой то. Я пишу что-то вроде this.set("Country, {value: такой-то}), и получаю доступ к любым строкам записи справочника?

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

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

Добрый день.
Если я правильно понял, вам могут помочь две вещи:
1) Укажите в атрибутах колонки справочника, которые вам необходимы:

"Country": {
    "lookupListConfig": {
         "columns": ["Name", "CreatedOn", "CreatedBy"]
    }
}

2) Используйте метод loadLookupDisplayValue для установки справочных значений.

this.loadLookupDisplayValue("Country", valueId);

 

Добрый день!
Нет, предложенный вами способ не сработает.
Необходимо делать запрос в базу данных и вытаскивать атрибуты объекта.
Пример запроса:

var esqContract = Ext.create("Terrasoft.EntitySchemaQuery", {
	rootSchemaName: "Contract"
});
esqContract.addColumn('CreatedOn');
esqContract.addColumn('SignedOn');
 
esqContract.getEntity(contractId, function(responseContract)
{
	var createdOn = responseContract.entity.get('CreatedOn');
}, scope);

 

Добрый день.
Если я правильно понял, вам могут помочь две вещи:
1) Укажите в атрибутах колонки справочника, которые вам необходимы:

"Country": {
    "lookupListConfig": {
         "columns": ["Name", "CreatedOn", "CreatedBy"]
    }
}

2) Используйте метод loadLookupDisplayValue для установки справочных значений.

this.loadLookupDisplayValue("Country", valueId);

 

Сизов Андрей Андреевич,

доброе утро! Этого метода:

this.loadLookupDisplayValue("Country", valueId);

будет достаточно, чтобы заполнить все выбранные для атрибута колонки (в вашем случае "Name", "CreatedOn", "CreatedBy"), или он позволяет получить только displayValue по valueId?

Developer76,

Да, только что сам проверил - колонки заполняются после выполнения данного метода.

 

Сизов Андрей Андреевич,

спасибо!

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

Добрый день.

Просьба пояснить следующие моменты из документации по разделу "Очереди":

  1. В поле [Процесс] выберите бизнес-процесс, по которому будут формироваться правила обработки записей из очереди на домашней странице - Можно ли где то подробно прочитать каким образом работает штатный бизнес-процесс: "Обработка обращений из очереди в Едином окне" (какие в нем заложены правила обработки записей)
  2. Обрабатывать наполнение очереди могут только те специалисты, для которых на вкладке [Команда] установлен признак [Активен]. По умолчанию данный признак устанавливается для всех физ. лиц, добавленных на деталь. Вы можете снять признак для некоторых специалистов, в таком случае наполнение очереди не будет отображаться для них на домашней странице. Каким образом снимается/ признак "Активен"?

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

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

1. Можно открыть в дизайнере этот процесс «Обработка обращений из очереди в Едином окне» и посмотреть. Он состоит всего из двух элементов: в первом выбирается одна запись из таблицы обращений, отфильтрованная по Id, переданному в параметре, во втором — открывается её карточка.

2. На детали «Команда» открывается карточка из двух полей: справочного с выбранным контактом оператора и галки «Активный», доступной для снятия или проставления.

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

Спасибо за Ваш ответ

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

Добрый день, может кто-нибудь подскажет, в каком формате правильно передавать данные в DataService, для поля с типом varbinary(max), т.е. байты файла. Сейчас при попытке создания записи детали файлы и ссылки, возникает след. ошибка: 'Ссылка на объект не указывает на экземпляр объекта'.

                  "Items": {
                        "Name": {
                            "ExpressionType": 2,
                            "Parameter": {
                                "DataValueType": 1,
                                "Value": "test.doc"
                            }
                        },
                        "Data": {
                            "ExpressionType": 2,
                            "Parameter": {
                                "DataValueType": 13,
                                "Value":   base64.encodebytes(fi).decode('ascii')
                            }
                        }
                    }

или так 

                  "Items": {
                        "Name": {
                            "ExpressionType": 2,
                            "Parameter": {
                                "DataValueType": 1,
                                "Value": "test.doc"
                            }
                        },
                        "Data": {
                            "ExpressionType": 2,
                            "Parameter": {
                                "DataValueType": 13,
                                "Value": 0x504B030414000600080000002100DFA4D26C...
                            }
                        }
                    }

всё равно та же ошибка, может кто-нибудь подскажет как правильно передавать байты.

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

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

Я думаю что DataService не работает с varbinary(max), посмотрите как реализована загрузка и скачивание файлов на детали [Файлы и ссылки].

В догонку в документации, указано что

контакт UploadFile - Класс выгрузки файла. Не рекомендуется использовать.

Для работы с файлами используется не DataService, а FileService и FileApiService. Вот пример скачивания, а вот — загрузки.

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

Добрый день, нужна помощь, есть трудности с построением такого фильтра:
 

Select * from "Contact"
LEFT JOIN "SysAdminUnit" ON "Contact"."Id" = "SysAdminUnit"."ContactId"
where "SysAdminUnit"."Id" IN 
	(Select "SysUserId" from "SysUserInRole" where "SysRoleId" IN 
		(Select FuncRoleId from SysFuncRoleInOrgRole))

Для filterGroup, должно получится что-то вроде такого: (мой вариант не верный).
 

filterGroup.add("ContactList", Terrasoft.createExistsFilter("[SysAdminUnit:Contact].[SysUserInRole:SysUser].SysRole.[SysFuncRoleInOrgRole:FuncRole]"));

 

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

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

Можно сначала вычитать все FuncRoleId из SysFuncRoleInOrgRole удовлетворяющие вашим условиям, а потом построить фильтр createColumnInFilterWithParameters, пример привел ниже (existsDocumentsCollection - массив с коллекциями которые нужно включить в запрос)

var filtersGroup = Terrasoft.createFilterGroup();
filtersGroup.logicalOperation = Terrasoft.LogicalOperatorType.AND;
var existsFilter = this.Terrasoft.createColumnInFilterWithParameters("Id",
	existsDocumentsCollection);
existsFilter.comparisonType = this.Terrasoft.ComparisonType.EQUAL;
existsFilter.Name = "existsFilter";
filtersGroup.addItem(existsFilter);
filtersGroup.addItem(discontListFilter);

 

Можно сначала вычитать все FuncRoleId из SysFuncRoleInOrgRole удовлетворяющие вашим условиям, а потом построить фильтр createColumnInFilterWithParameters, пример привел ниже (existsDocumentsCollection - массив с коллекциями которые нужно включить в запрос)

var filtersGroup = Terrasoft.createFilterGroup();
filtersGroup.logicalOperation = Terrasoft.LogicalOperatorType.AND;
var existsFilter = this.Terrasoft.createColumnInFilterWithParameters("Id",
	existsDocumentsCollection);
existsFilter.comparisonType = this.Terrasoft.ComparisonType.EQUAL;
existsFilter.Name = "existsFilter";
filtersGroup.addItem(existsFilter);
filtersGroup.addItem(discontListFilter);

 

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

Добрый день. Столкнулся со следующей проблемой: есть 2 пакета (родительский пакет Bot и зависящий от него NewBot). В пакете Bot есть пользовательский элемент БП SendMessage, который на ExecuteElement создает экземпляр класса Worker и вызывает его метод Send. 

Требуется в пакете NewBot заместить этот элемент, чтобы вызывалась другая логика. Я сделал следующим образом: Создал в пакете NewBot схему исходного кода с классом NewWorker

[Terrasoft.Core.Factories.Override]
public class NewWorker : Worker
{
  public override void Send()
  {
  //новая логика элемента БП
  }
}

Метод Send в классе Worker объявлен со спецификатором virtual.

Как я понимаю, при такой записи если на системе будет стоять и пакет Bot и пакет NewBot, то элемент БП SendMessage должен при ExecuteElement вызвать Send из класса NewWorker. Но оно так не работает.... Вызывается все равно метод Send из класса Worker. 

Что я делаю или понимаю не так? И может есть какой другой способ заместить пользовательский элемент БП?

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

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

Victor, В пакете Bot экземпляр класса Worker создается через ClassFactory?

Victor, В пакете Bot экземпляр класса Worker создается через ClassFactory?

Толмачев Дмитрий Юрьевич,

Эмм, нет

Именно поэтому переопределение, на которое вы надеетесь, не происходит.

Толмачев Дмитрий Юрьевич,

Большое спасибо за помощь, сейчас переделаю

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

Добрый день! Может кто-нибудь подскажет в чем причина, открываю проект Terrasoft.Configuration, но не подгружаются библиотеки в проекте, на версии приложения 7.12 bank_customer_journey. На версии приложения 7.13 всё ок.

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

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

Возможно, причина такая же, как в этой теме, что-то не так настроили в студии.

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