адресные
сообщения
широковещательные
7.x

Добрый день!
Для передачи информации между модулями можно использовать сообщения(подписываться, публиковать)
Сообщения бывают адресные и широковещательные.
В чем отличие между этими сообщениями, когда необходимо использовать широковещательные, а когда адресные?

Нравится

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

Здравствуйте!

Разница состоит в том, что адресное сообщение направленно к конкретному модулю, а широковещательное - для всех подписчиков.

Дарья, грубо говоря «Адресное» используется если Вы хотите обратиться к какому-то конкретно модулю, а «Широковещательное» всем , кто подписан на сообщение.

Спасибо

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

Здравствуйте.

Подскажите как правильно расширить функционал всплывающего окна в расписании активностей. Нашел модуль SimpleTaskAddModule, создание замещающего клиентского модуля и копирование в него кода из исходного ничего не дало, окно перестало появляться.
Что нужно сделать что бы добавить в всплывающее окно дополнительное поле "Результат активности"?

Нравится

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

Подскажите какое всплывающее окно вы имеете в виду, по какому действию оно появляется? Желательно со скриншотом.

Скрин в приложении

Здравствуйте!

Вам необходимо заместить SimpleTaskAddModule. Но копирование кода - это некорректное замещение.
В замещающем клиентском модуле Вам необходимо через разметку добавить одно поле. Для добавления поля используйте пример с Академии.

Не совсем так, схемы можно расширять или менять логику частично, при замещении же модуля вам необходимо воссоздать всю его логику.
1. Убедитесь чтобы ваш пакет куда вы добавляете замещающий модуль был выше по иерархии зависимости чем пакет UIv2.
2. В замещающем модуле после указания родительского, нужно воссоздать все "сообщения", а так же строки и картинки, строкам и картинкам дав новые названия, к примеру с приставкой "New", а так же поменять старые названия ресурсов на новые в коде модуля.
3. Так же необходимо скопировать стили с закладки LESS, они у этого модуля есть.

Я прикладываю к этому комментарию пример своей реализации этого замещающего модуля, но делаю это для примера, не следует загружать его в свою конфигурации, код вашего SimpleTaskAddModule может отличатся от моего в силу разных версий программы.

1

2

4. Дальше, генерируйте метаданные, компилируйте конфигурацию, фиксируйте модули в бд (если пишите код во внешнем редакторе), очистите кеш браузера, выйдите и зайдите в приложение.
5. Проверяйте.

Показать все комментарии
Технические вопросы
7.x

Хочу для раздела Контрагентов создать новый тип. И хочу сделать копию исходной страницы. Как это сделать?

Нравится

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

Здравствуйте!

Новый тип, добавляется в справочнике "Типы контрагентов".
Для добавления новой страницы нужно использовать «Мастер раздела». Про базовый функционал мастер раздела более подробно описано в обучающем ролике - https://www.youtube.com/watch?v=_ErQuZrpxIw

При добавлении новой страницы редактирования необходимо заново отображать все необходимые колонки.

"Мотков Илья" написал:При добавлении новой страницы редактирования необходимо заново отображать все необходимые колонки.

А склонировать как либо можно? Может в конфигурации?

"Сенько Виктор" написал:
Мотков Илья пишет:

При добавлении новой страницы редактирования необходимо заново отображать все необходимые колонки.

А склонировать как либо можно? Может в конфигурации?

Можно, но проще и правильней было бы делать все через мастер раздела.

Почему?
Если я использую 50 полей и 30 деталей, разве так не быстрей?
В ручную собирать займет довольно много времени, а время = деньги.

С помощью мастера зарегистрируйте новую страницу, а код с 50 полями и 30 деталями из исходной страницы скопируйте в новую, только название поправьте. И будет клон после сохранения.

Показать все комментарии
экспорт данных
7.x

Доброго времени суток.
По импорту данных в bpm мы разобрались, все хорошо.
А вот как сделать экспорт? К примеру мне надо выгрузить контакты в эксель или csv, это возможно?

Нравится

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

Стандартная кнопка экспорта в файл. Предварительно настройте отображение колонок реестра - они и пойдут в выгрузку
ex

Спасибо. Нажал.
Пишет: У вас нет прав на выполнение данной операции.
Как добавить права для данной операции?
Добавил права для операции: Экспорт реестра
Но все равно этаже ошибка.

Перезайдите в систему попробуйте

"Александр Кудряшов" написал:

Перезайдите в систему попробуйте


Нет, все равно.

"Сенько Виктор" написал:
Александр Кудряшов пишет:

Перезайдите в систему попробуйте

Нет, все равно.

Виктор, добрый день!

Данная ошибка не воспроизводиться в базовой версии приложения.
Просьба обратиться в техническую поддержку Terrasoft (support@terrasoft.ru) с данным вопросом.
Для анализа подобных проблем необходим доступ к приложению.

Показать все комментарии
Технические вопросы
7.x

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

Нравится

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

Олег, добрый день!

Уточните, пожалуйста, название и версию продукта.

BPMOnline 7.6

"Глобин Олег" написал:

BPMOnline 7.6

Олег, данная ошибка была зафиксирована в базовой версии приложения и исправлена в последних версиях 7.6

"Глобин Олег" написал:

BPMOnline 7.6

Олег, данная ошибка была зафиксирована в базовой версии приложения и исправлена в последних версиях 7.6

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

Добрый день.
BPMOnline Cargo 5.4.0.1555 не отрабатывает событийный подпроцесс при изменении значения элемента "поле Дата/время" на странице редактирования раздела при нажатии на кнопку "Сегодня" данного поля.
В иных случаях событие происходит.
Какое событи отвечает за нажатие указанной кнопки

Нравится

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

О каком разделе идёт речь?
Можете приложить скриншот?

Я смотрю раздел Перевозки. Но есть подозрение, что данная проблема не привязана к разделу

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

Немного ошибся, раздел Заявки.
Поле стандартное.

На скриншоте ничего не видно.

Попробовал на пустой карточке создать поле даты-времени, при нажатии кнопки событие срабатывает точно так же, как и при выборе из календаря или вводе с клавиатуры. Событие происходит не прямо в момент изменения, а при переходе к другому полю или кнопке и это нормально.
datetime
Рекомендую проверить, воспроизводится ли у Вас проблема везде в системе или на конкретной карточке в конкретном поле.

Какая версия вашей тестовой платформы?
Для этого компонента использую тип Дата.

"Зверев Александр" написал:Событие происходит не прямо в момент изменения, а при переходе к другому полю или кнопке и это нормально.

Да я в курсе

У меня 5.4.0.2465 CRM+SD. Контрол типа «дата-время» и не привязан к датасорсу.

А на BPMOnline Cargo 5.4.0.1555 вы пробовали?
EditChange не отрабатывает при нажатии на "Вчера", "Сегодня", "Завтра"

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

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

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

Добрый день.

Потребовалось увеличить длину поля Description, было ограничение в 250 символов.
Что в итоге сделали: объект переопределили, добавили нужные колонки, а у уже существующего поля Description (был в базовом объекте) изменили тип со Строки(250 символов) на Строку бесконечной длины. Причем, это было сделано в тестовой конфигурации, в Default осталось как было.
Но теперь возникает ошибка при сохранении замещаемого объекта:

То что предлагается выполнить - бессмысленно, так как поле и так было обнулено.

В связи с чем возникли вопросы:
1. А так можно было делать, изменить тип у поля в базовом классе? Если нет, то почему в интерфейсе это доступно? А если да, то как исправить ошибку?
2. Как теперь вернуть объект в исходное состояние? Импорт объекта из default не помогает.

Версия bpmonline 7.2

Нравится

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

Добрый день, покажите пожалуйста расширенные настройки замещающего объекта, вероятно вы поменяли не только длину строки, но и значения по умолчанию.
Так же посмотрите в какое положение были установлены поля: "Обязательная для заполнения" и "Значение по умолчанию" в базовом объекте. Если были установлены в "Нет". Попробуйте оставить значения в замещающем объекте как:
Обязательная для заполнения: Нет
Значение по умолчанию: (Нет) ...Не устанавливать значение по умолчанию.
Так же посмотрите в базе данных, в вашей таблице Reminding, какого типа сейчас колонка Description?

Так же:
1. Изменить тип базового поля можно, путем создания замещающего объекта и изменения типа поля. В вашем случае ошибка возникала по причине изменения других настроек поля, и программа вас просила выполнить обновление полей, которые после изменения таблицы, требуют наличия значения в изменяемой колонке.

2. Изменения типа колонок в таблицах распространяется на все рабочие пространства. Для того что бы тип колонки у объекта был таким же как был. Его нужно установить таким каким он был в вашем замещающем объекте и опубликовать.

Показать все комментарии
Обновление реестра
раздел
Технические вопросы
7.x

Добрый день!
7.6
Сейчас, находясь, например, в разделе "Обращения", для того чтобы обновить реестр, нужно перейти с раздела на раздел в панели, или нажать на какой-то фильтр в разделе Обращения.
Это очень не удобно.
Можно ли сделать, так чтобы нажатие на раздел "Обращения" в панели разделов слева
вызывала его обновление ( даже если при этом находишься в разделе Обращения)
Вообще, в принципе, нажатие на любой раздел в этой панели вызывало бы обновление этого раздела

По принципу того, как это сделано, например, в почте mail:
Вы находитесь в папки "Входящие", для того, чтобы увидеть новые входящие письма, не нужно переключаться с папки на папки, достаточно еще раз нажать на папку "Входяшие", и реестр входящих обновится

Нравится

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

Для обновления Вы можете нажимать caption в реестре раздела.

"Мотков Илья" написал:Для обновления Вы можете нажимать caption в реестре раздела.

Попробовал, действительно обновляется. Вот только я не знал о такой возможности? :redface:

Да, работает) Спасибо!

Показать все комментарии
фильтрация в справочнике
7.x

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

'UsrUr': {
dataValueType: Terrasoft.DataValueType.LOOKUP,
lookupListConfig: {
filter: function() {
return Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"UsrAccount",
('2521f7b1-5694-402b-88d9-1eff5ce78dd7' || '5e126b63-4be0-4943-80e3-dbcc845f4a32' || 'dc08dce9-ecec-4bb9-96a9-00aa538be78b' ) );
}

Спасибо!

Нравится

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

Юлия, здравствуйте.

Объедините в массив:

"UsrAccount",
["2521f7b1-5694-402b-88d9-1eff5ce78dd7", "5e126b63-4be0-4943-80e3-dbcc845f4a32", "dc08dce9-ecec-4bb9-96a9-00aa538be78b"]

Андрей, добрый день! Так ни одна компания не выбралась

Попробуйте использовать фильтр createColumnInFilterWithParameters.

Андрей, так не открывается сама вкладка выбора

'UsrUr': {
dataValueType: Terrasoft.DataValueType.LOOKUP,
lookupListConfig: {
filter: function() {
return Terrasoft.createColumnInFilterWithParameters(
Terrasoft.ComparisonType.EQUAL,
"UsrAccount",
['2521f7b1-5694-402b-88d9-1eff5ce78dd7', '5e126b63-4be0-4943-80e3-dbcc845f4a32', 'dc08dce9-ecec-4bb9-96a9-00aa538be78b'] );

}
},
}

Здравствуйте Юлия, попробуйте использовать метод createColumnInFilterWithParameters с двумя параметрами а не тремя. А тип сравнения указывайте отдельной строкой. Вот к примеру я фильтрую мое LOOKUP поле "Организация" которое ссылается на справочник контрагентов, по Id этих самых контрагентов. Привожу код секции атрибутов:

attributes: {
"UsrOrganization":
 {
   dataValueType: Terrasoft.DataValueType.LOOKUP,
   lookupListConfig:
   {
      filter: function()
      {
         var idList = ["E308B781-3C5B-4ECB-89EF-5C1ED4DA488E", "03767294-4F88-4704-80F1-E3476919719A", "03723494-4F88-4704-21F1-E3476922719A"];
         var filterGroup = new Terrasoft.createFilterGroup();
         var filterById = Terrasoft.createColumnInFilterWithParameters("Id", idList);
         filterById.comparisonType = Terrasoft.ComparisonType.EQUAL;
         filterGroup.add("filterById", filterById);
         return filterGroup;
      }
   }
 }
},

Максим, добрый вечер! Большое спасибо! все получилось)

Показать все комментарии
Технические вопросы
7.x

Возник такой вопрос. Как в 7.2 прописать для атрибут смены фокуса для поля:

bankModuleUtils.getTextEdit("DocumentSeries", {
value: {
bindTo: "DocumentSeries"
},
enabled: {
bindTo: "IsEnabled"
}
})

И вообще как можно увидеть весь список доступных атрибутов для этих контролов?

Нравится

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

Все зависит от того как вы создаете элемент в своем хелпере.
Весь список полей и методов можете посмотреть в исходном коде интересующего вас контрола, по пути от корня приложения:
...\Terrasoft.WebApp\Resources\ui\Terrasoft\controls
Для TextEdit это:
...\Terrasoft.WebApp\Resources\ui\Terrasoft\controls\textedit\textedit.js
И его родитель:
...\Terrasoft.WebApp\Resources\ui\Terrasoft\controls\baseedit\baseedit.js
Если в созданном контроле поле enabled будет установлено в false, то к атрибутам input-a будет добавлен: disabled="disabled" что и переведет состояние элемента в недоступный.

В вашем случае можете попробовать добавить этот атрибут таким образом:

customConfig: {
    enabled: {
        bindTo: "IsEnabledMethod"
    }
}
Показать все комментарии