Вопрос

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

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

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

Для начала нужно в браузере пунктом меню «Inspect» открыть исходники нужного места в системе и выяснить, как называется схема страницы, которую Вы хотите доработать. Затем вносить изменения в её коде. Поскольку это не обычная карточка раздела, заполнение должно будет делаться программно.

Более точно можно сказать, если будет ясно, что именно куда именно добавить: в вышеупомянутый Вами LocalDuplicateSearchPageV2, в DuplicatesPageV2 или же ещё куда-то.

Также обратите внимание на дополнение Automatic duplicates merge в маркете, которое модифицирует логику слияния дублей. Возможно, в ней есть подобные решения.

Добрый день!

На данный момент в базовой версии bpm'online  выполнять настройку колонок можно только для массового поиска дублей

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

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

Добрый день, коммьюнити,
Подскажите, что я делаю не так при работе с миксинами? Метод из миксина вызывается и выполняется, но в него не передаются параметры из схемы страницы.
Пробовал присваивать переменным значения CurrentContact и Owner - значения снова пустые. Пробовал прописывать this.get("CurrentContact") вместо "CurrentContact" - все равно пусто. Методы не из миксина работают.
Благодарен заранее за любую помощь!
 

onEntityInitialized: function() {
 
//присваиваем значение CurrentContact. Owner, который используется ниже, присваивается еще раньше
	this.set("CurrentContact", {
		value: this.get("Id"),
		displayValue: this.get("Name")
 
	});
 
//запускаем метод из миксина, он запускается и отрабатывает, но CurrentContact там пустой
	this.mixins.CustomCallMixin.initCallExtendedMenuButtonCollections(["CurrentContact", "Owner"], this.close);
 
//остальные методы отрабатывают нормально
	this.setJobTitle();
	this.fillEmailExtendedMenuButtonCollections(["CurrentContact", "Owner"]);
	this.fillCallExtendedMenuButtonCollections(["CurrentContact", "Owner"]);
	this.fillLinkedEntitiesMenuButtonCollections(["CurrentContact"]);
	this.callParent(arguments);
 
}

 

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

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

Добрый день! не корректный вызов миксина. Для начала кастомный миксин нужно добавить в зависимости модуля:

define("AbCarInsurance1Section", ["AbEwaModelsHandlerMixin"], 
function() {
	return {
		entitySchemaName: "AbCarInsurance",
		mixins: {
			AbEwaModelsHandlerMixin: "Terrasoft.AbEwaModelsHandlerMixin",
		},
		attributes: {},
		messages: {},
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
			onEntityInitialized: function () {
 
				this.onSetContractInCard(contract);
			}			
 
		}
	};
});

где this.onSetContractInCard(contract) - мтод миксина

Нигрескул Алексей,

спасибо за ответ
я в зависимости добавлял, просто не указывал этот кусок кода

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

Дополнение предназначено для повышения эффективности и оптимизации процессов управления проектами. Модуль можно внедрять в:

  • Проектную и сервисную деятельность;
  • Планирование и обучение;
  • R&D и девелопмент;
  • Разработку ПО и исследования;
  • Управление мероприятиями;

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

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

Видеообзор продукта по ссылке

Попробовать можно по ссылке

Поделиться

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

Как отключить поиск значений при ручном вводе в реестре детали?

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

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

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

Самым простым решением будет добавить в страницу редактирования детали заглушку.

         getLookupQuery: function(filterValue, columnName) {
                return false;
            },

Если нужно запретить на конкретном справочнике/справочниках, то сделать примерно так:

            getLookupQuery: function(filterValue, columnName) {
                var esq = this.callParent(arguments);
                var esqRootSchemaName = esq.rootSchemaName;
                    if(esqRootSchemaName == "__ИМЯ СУЩНОСТИ__") {
                        return false;
                }

esle { return esq; }
            },

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

Иногда возникает ошибка в элементах добавления/изменения данных, например

System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 66) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. в System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) в System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) в System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) в System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) в System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery() в Terrasoft.Core.DB.DBExecutor.FailoverExecute[TResult](DbCommand command, Func`1 func) в Terrasoft.Core.DB.DBExecutor.<>c__DisplayClass110_0.<Execute>b__0(DbCommand command) в Terrasoft.Core.DB.DBExecutor.LoggingWrap[TResult](String sqlText, Func`2 queryExecutionAction) в Terrasoft.Core.DB.DBSecurityEngine.ExecuteSetEntitySchemaRecordOperationRightLevel(Insert recordRightsInsert, StoredProcedure setRecordPositionProcedure) в Terrasoft.Core.DB.DBSecurityEngine.SetEntitySchemaRecordOperationRightLevel(Guid adminUnitId, String schemaName, Guid administratedRecordId, EntitySchemaRecordRightOperation operation, EntitySchemaRecordRightLevel rightLevel, Boolean useDenyRecordRights, Boolean ignoreGrantRecordRight) в Terrasoft.Core.Process.Configuration.ChangeAdminRightsUserTask.AddRecordRight(DBSecurityEngine dbSecurityEngine, Entity entity, Dictionary`2 recordRight) в Terrasoft.Core.Process.Configuration.ChangeAdminRightsUserTask.InternalExecute(ProcessExecutingContext context) в Terrasoft.Core.Process.ProcessActivity.Execute(ProcessExecutingContext context) ClientConnectionId:bf656cfe-f52c-45b5-a37b-f1f5295cf440 Error Number: 1205, State: 51, Class: 13

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

Можно ли продолжить БП с этого места:

1. Вручную?

2. Автоматически перезапустить упавший элемент с этого места?

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

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

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

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

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

Создала отчет, добавила таблицу, в таблицу к каждой ячейке привязала данные. Вопрос: Что делать дальше ? Как это дело фильтровать, сохранить и где с этим дальше работать ? Как добавлять графики и фильтровать их ? 

В статье об этом ни слова. https://academy.terrasoft.ru/documents/technic-sdk/7-14/osobennosti-rab… 

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

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

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

 

Литвинко Павел пишет:
Дальше работаете с формой и в скриптах по сути

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

Литвинко Павел пишет:
можете открыть любой из отчетов DevExpress, который уже есть в системе и посмотреть примеры.

а где я могу их найти ? 

 

Литвинко Павел пишет:
Остальную информацию и документацию смотрите уже на форумах DevExpress и адаптируйте под свои нужды

можете порекомендовать хороший ?  

LilyG пишет:
получается что фильтровать нужно будет программно ?  

 Да, может потребоваться писать скрипт в соответствующей вкладке дизайнера, открывается по кнопке справа. 

LilyG пишет:
Что значит опубликовать, куда и что публикуется?  

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

LilyG пишет:
а где я могу их найти ? 

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

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

Добрый день !

Можно ли в данном дизайнере из раздела вывести в табличную часть  информацию из каждого документа ? Например : 

Документ с типом "КП", имеющий в себе поле " Сумма без НДС", а также имеющая справочное поле Запрос(объект) в котором есть поле Проект (объект). Также интересуют некоторые поля Проекта (Мат. компания,  Наименование проекта). 

Добавила вывод печатной формы в раздел, но она не активна (буквы серым шрифтом). Не могу понять в чём проблема. Есть ли такая возможность ?! Что я делаю не так..

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

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

Доброе утро.

Посмотрите, есть ли какие-то ошибки в консоли браузера. Возможно, там будет указано причину ошибки.

Когда я сталкиваюсь с проблемами в печатных формах Word, то пытаюсь определить проблему методом исключения, то есть убираю или добавляю последовательно выводимые значения в отчет.

А серым отображается отчет и в разделе, и в карточке?

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

нет, только в разделе. в карточке все печатные формы активны. Идея была вывести в табличную часть информацию со всех документов , отфильтровав её в настройках печатной форме в CRM либо в самом разделе. А где именно смотреть (на какой странице вызывать консоль) ? 

Вот методом "тыка" как раз таки выяснилось, что просто поля выводятся  а в табличную часть печатной формы те же самые значения не попадают. Может, я ошибаюсь, и в табличную часть печатной формы должна попадать информация из таблицы в CRM ?   Допустим, из детали Запросы в карточке проекта. 

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

Я ошибаюсь или дизайнер отчетов 

https://academy.terrasoft.ru/documents/technic-sdk/7-14/dizayner-otchet…   это нечто другое ? Возможно, мне стоит воспользоваться именно этим дизайнером а не дизайнером печатных форм ???

LilyG,

1. Консоль браузера обычно вызывается нажатием на клавишу F12.

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

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

4. По поводу табличной части - будут попадать все поля, которые Вы настроите в детали. Как себя будет вести данная функциональность, если в табличной части указать в качестве макроса поле из основной таблицы, точно не скажу - нужно проверять. Скорее всего таким образом работать не будет.

5. Дизайнер отчетов и дизайнер печатных форм в данном случае одно и тоже.

Да, это два разных инструмента. Тот, что Вы указали, может генерировать отчёт, а затем его сохранить в PDF. Он более гибкий, чем Word, но и более сложный в настройке, иногда нужно писать скрипты (самая правая кнопка в окне дизайнера).

Например, стандартный отчёт «Знаменательные события контакта» очень похож на то, что Вы описали выше.

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

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

спасибо ! Попробую воспользоваться BPMonlineReportDesigner

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

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

Разве что смотреть в дизайнере существующие отчёты и делать аналогично.

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

не подскажете какие и где их взять ? 

Например,  «Знаменательные события контакта» в разделе контактов, о которых я писал выше.

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

Добрый день

Есть у меня проект что я дорабатываю, на сегодня он работает на конфигурации 7.14.2. Препрод, 7.13.4 - Девелоп стенд, 7.14.2 - Продакшен. И только сегодня заметил что в консоли показывается что Инициализация WebSocket-ов произошла а подаешь команду для проверки Terrasoft.ServerChannel.ping() , вылетает на версии платформы 7.14.2 ошибка 

 

Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Terrasoft.Messaging.Common.SimpleMessage' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
   at Terrasoft.Common.Json.Json.Deserialize[T](String value, Func`2 func)
   at Terrasoft.Messaging.MicrosoftWSService.WebSocketHandlerExt.OnMessage(String message)

 

Хотя на 7.13.4 - Девелоперском стенде ВебСокеты работают. Настройки сокетов везде одинаковые. Везде настройки следующие 

<wsService type="Terrasoft.Messaging.MicrosoftWSService.MicrosoftWSService, Terrasoft.Messaging.MicrosoftWSService" encrypted="true" portForClientConnection="44310" defaultPort="443" />

<add path="*ViewModule.aspx.ashx " verb="GET" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" /> - коммент убран

 

<add name="WSHandler" verb="*" path="*ViewModule.aspx.ashx" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" /> - коммент убран

Еще раз повторюсь на 7.13.4 все работает. 

Прошу помощи и подсказки что может быть не так и почему на 7.14.2 не работает. Или нужно до 7.14.3 обновится так как это был баг 7.14.2. Я как только не дебажил я понять не могу почему Пинг, Понг не проходит. А раз это не проходит ВебСокеты так же не работают корректно.

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

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

Добрый вечер! Так же столкнулся с данной проблемой, в ТП ответили, что на конфигурации 7.14.2 не работает именно данная функция Terrasoft.ServerChannel.ping(), веб-сокеты работают, что бы проверить работоспособность веб-сокетов, создайте БП со стартовым таймером, если отработает, значит все ок. В ТП сказали, что в следующих версиях поправят функцию "Terrasoft.ServerChannel.ping()". 

Добрый вечер! Так же столкнулся с данной проблемой, в ТП ответили, что на конфигурации 7.14.2 не работает именно данная функция Terrasoft.ServerChannel.ping(), веб-сокеты работают, что бы проверить работоспособность веб-сокетов, создайте БП со стартовым таймером, если отработает, значит все ок. В ТП сказали, что в следующих версиях поправят функцию "Terrasoft.ServerChannel.ping()". 

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

Добрый день ! 

Настроили большое количество дашбордов. Сотрудник кликает по столбцу гистограммы и выбирает пункт "Показать данные", после чего данные вываливаются в виде таблицы. 

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

 

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

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

Добрый день!

Эти колонки настраиваются также, как и другие колонки в реестре.

Нужно войти в систему под пользователем с правами администратора, настроить колонки, а потом сохранить их для всех пользователей с помощью кнопки 'Сохранить для всех пользователей':

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

Добрый день!

Эти колонки настраиваются также, как и другие колонки в реестре.

Нужно войти в систему под пользователем с правами администратора, настроить колонки, а потом сохранить их для всех пользователей с помощью кнопки 'Сохранить для всех пользователей':

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

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

Спасибо большое, потеряла эту кнопку ! 

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

Добрый день,

как я могу получить возврат из страницы редактирования.

У меня есть справочник, выбираю одна запись, потом при нажатии на кнопку(в конце строки) открывается страница редактирования, там у меня есть кнопка, при нажатии  на нее удаляется текущая запись, но когда я возвращаюсь в справочник записи не исчезает.

Исчезает после перезагрузки странице.

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

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

Литвинко Павел,

Судя по всему у товарища редактируемый реестр (грид) и нужно вызывать чтото типа 

this.reloadGridData();

после возвращения в реестр

Вам нужно, например через реализацию сообщений вызывать перезагрузку содержимого страницы в нужный момент времени, например через this.reloadEntity();

Литвинко Павел,

Судя по всему у товарища редактируемый реестр (грид) и нужно вызывать чтото типа 

this.reloadGridData();

после возвращения в реестр

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

Спасибо всем.

Дело в том что я не мог понят в каком методе добавить этот this.reloadGridData();

разобрался, надо добавить в Метод onRender.

onRender: function() {
        this.reloadGridData();
},
в замещающею странице редактирование. 

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