Добрый день!
Как добавить ссылку на поле в элементы "Фигуры" и "Надпись" в печатной форме MS Word?
Система данные подтягивает, но сам элемент не выводит. В итоге данные выводятся в начале листа, фигур и надписей - нет.
Спасибо!

Нравится

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

Необходимо добавить в деталь добавление записей аналогично детали продукт в заказе. Копался в коде продукта в заказе решения не нашёл. Прошу помощи, заранее спасибо!

Нравится

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

Здравствуйте, Олег.

Описание создания детали с редактируемым реестром, Вы можете найти по этой ссылке. Код открытия страницы добавления продуктов описан в методе "loadProductSelectionModule" схемы "ProductDetailV2" из пакета "ProductCatalogue". Сама же логика карточки описана в схеме "OrderProductPageV2".

Добрый день, Илья!

Редактируемый реестр я уже сделал, я имел ввиду страницу добавления продуктов

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

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

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

В лоб не получилось

ReportService reportService = new ReportService();
EntitySchema schemaDocument = UserConnection.EntitySchemaManager.GetInstanceByName("Document");

Dictionarystring, object> filterParameters = new Dictionarystring, object>();
EntitySchemaQuery esqDocument = new EntitySchemaQuery(schemaDocument);
var f =esqDocument.CreateFilterWithParameters(FilterComparisonType.Equal, "Id", DocumentId);
filterParameters.Add("Filters",f);
var reportParameters = Json.Serialize(filterParameters);

 

Нравится

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

Здравствуйте, Александр.

Решение данного кейса подробно описано в этом комментарии.

Мотков Илья,

Здравствуйте,  ссылка на комментарий уже не действительна, можно ли его продублировать?

Елена Александровна, посмотрите здесь.

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

Добрый день.
У нас есть написанный нами пакет. Появилась необходимость его доработать.
Установили его через WorkspaceConsole на новую базу, но редактировать его не можем
так как:
Элемент создан сторонним издателем или установлен из файлового архива. Сохранение изменений для данного элемента будет невозможно.
Можно ли как-то его редактировать?
Можно ли будет подключить его к svn?

Нравится

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

Здравствуйте.
Попробуйте выполнить на базе команду вида:
update SysPackage set InstallType = 0 where Name = 'PackageName'
где PackageName - название пакета.
Что касается подключения к SVN, то он должен быть настроен и подключен до начала разработки.

"Александр Зубков" написал:update SysPackage set InstallType = 0 where Name = 'PackageName'

пробовал. не помогло. возможно где-то есть еще какие то связи

В таблице SysPackage для вашего пакета для колонокм Maintainer установить – Customer, IsChanged - 1, IsLocked - 1, InstallType – 0.
Аналогично для SysSchema если у вас заблокировались еще и ваши модули в пакете, для них колонки IsChanged, IsLocked.
После перезайти в систему.

И почистить кеш сервера сессий (Redis) командой flushall.

Спасибо огромное. Получилось.
Еще вопрос. Возможно ли теперь его связать с хранилищем svn?
так как при попытке сохранить изменения выскакивает ошибка:
Для заданного локального пути не указан путь к хранилищу

Здравствуйте.
Попробуйте так:
update SysSchema set IsChanged = 1, IsLocked = 1 where syspackageid = (select id from syspackage where name = 'Package_Name')

update syspackageschemadata set IsChanged = 1, IsLocked = 1 where syspackageid = (select id from syspackage where name = 'Package_Name')

где Package_Name - название пакета

P.S.: предварительно, обязательно, сделайте бэкап.

Александр Зубков

Спасибо, теперь сохраняется.
Вот только как теперь этот пакет связать с хранилищем svn?

UPDATE SysPackage
SET SysRepositoryId = (SELECT TOP 1 Id FROM SysRepository WHERE Name='YOUR_SVN_Name')
WHERE Name= 'YOUR_Package_Name'

Пащенко Александр Сергеевич

Спасибо, получилось!

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

Добрый день!
itil 7.6
Подскажите, пожалуйста,почему может не работать счетчик уведомлений для уведомлений, связанных с объектом "изменение"
( причем с объектом "обращение" счетчик работает)
Выглядит это так
- на иконке кол-во не отображается, но уведомления есть

Сверяли уведомления в таблице Reminding - заполнены корректно

Нравится

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

Здравствуйте, Дарья!

А подключение по websocket есть?

Добрый день!
А где это проверить необходимо?

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

Давайте по другому - у Вас работают процессы (элементы взаимодействия с пользователем открываются)?

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

Здравствуйте, Дарья!

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

Также, уточните следующие параметры:
1) Часовой пояс на локальной машине пользователя
2) Часовой пояс в профиле пользователя
3) Часовой пояс на сервере, где развернуто приложение.

Добрый день, Алексей!
Процесс "Получить кол-во уведомлений" с ошибкой НЕ завершается.
С часовыми поясами тоже все в порядке.
Дело не в конкретном пользователе

Проверяем как на облачной базе, так и на базе он-сайт тестовой.
Смотрите, какая ситуация:
Вообще счетчик уведомлений работает, но он работает только, если уведомление связано с объектом "Обращение"- только их он считает.
Если же уведомление связано с объектом "Проблема" или "Изменение" - то счетчик Не считает такие уведомления, он их не учитывает,хотя они есть - их можно посмотреть.

Есть три аналогичных процесса.
1. Создает уведомление по обращению - такое уведомление попадает в счетчик
2.Создает уведомление по проблеме - такое уведомление НЕ попадает в счетчик
3.Создает уведомление по изменению - такое уведомление НЕ попадает в счетчик

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

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

Создавать техническую активность вообще не выход,это приведет к захламлению системы ненужными активностями, да и уведомление должна создаваться к объекту, а не к активности.

Как тогда включить необходимый провайдер?
В счетчике должны отображаться уведомления по всем объектам, к которым можно создать уведомления - по крайней мере к основным разделам системы уж точно.
Алексей, ну он должен быть заложен в систему.
То, что уведомления создаются, но не считаются в счетчике - это же ошибка(
Причем сами эти уведомления отражаются в панели уведомлений справа

создали UsrProblemNotificationProvider
по аналогии с CaseNotificationProvider

Но ничего не изменилось, видимо где-то этот новый провайдер надо подключить?

Добавили
вот такую строчку в sql
insert into NotificationProvider
(ClassName,Type)
values('Terrasoft.Configuration.UsrProblemNotificationProvider',1)
Уведомления для проблем включены.
По аналогии поступим со остальными разделами.
Но очень странно, конечно, что провайдеров изначально не было
Спасибо)

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

Я динамически добавляю/удаляю вкладки на итогах (напрямую в базе), но чтоб только что примененные изменения отобразились необходимо обновить страницу, т.к. итоги должны быть зарегистрированы в Terrasoft.DashboardManager. Подскажите, есть ли способ обновлять структуру итогов программно, не обновляя страницу?

Нравится

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

Все оказалось очень сложно. Необходимо опубликовать сообщение с не очевидным названием ReloadDashboard.

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

Добрый день.
На ContactPage есть деталь ContactCommunication.
Необходимо при удаления средства связи перемещать его в временную
таблицу, удалив из ContactCommunication

Подскажите как лучше это сделать.
p.s.Думали отловить удаленный элемент(ы) с детали.
Не получилось это сделать. Метод this.get("DeletedItems") в
методе save детали не возвращает values удаленных елементов.

Нравится

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

Вижу два пути
- тяжелый реализация на уровне субд - триггером;
- простой процесс со стартовым сигналом удаление записи

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

Вижу два пути

- тяжелый реализация на уровне субд - триггером;

- простой процесс со стартовым сигналом удаление записи

- Вес запроса зависит от его реализации:smile:
- Не получится. Необходимо определить процесс на событие "Перед удалением записи" непосредственно в объекте ContactCommunication.

"Демьяник Алексей" написал:Не получится

получится
ставите сигнал, получаете идентификатор, затем чтение данных из СредствСвязиКонтакта с id= идентификатору из первого элемента. А потом делайте с результатом чтения данных что хотите. Проверил на 7.7.0 - создал по факту удаления активность с заголовком = удаленному номеру :)
Для удаления номера использовал действие "удалить" в детали (см скрин)
Просто доверьтесь bpmonline :)

"Демьяник Алексей" написал:Необходимо определить процесс на событие "Перед удалением записи" непосредственно в объекте ContactCommunication.

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

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

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

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

К примеру наименование услуги, чтобы не было 2 одинаковых.
Или как заменить системный ID на свой?

Нравится

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

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

Вы можете добавить проверку на объекте на событие "До сохранение записи". Либо сделать триггером в БД.

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

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

Нравится

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

Добрый день, Дмитрий!

Это поле рассчитывается в процессе на объекте Order в методе SetOrderProductCurrency.

Guid currencyId = Entity.GetTypedColumnValue("CurrencyId");
decimal currencyRate = Entity.GetTypedColumnValue("CurrencyRate");
var currencyEntity = UserConnection.EntitySchemaManager.GetInstanceByName("Currency").CreateEntity(UserConnection);
currencyEntity.FetchFromDB(currencyEntity.Schema.GetPrimaryColumnName(), currencyId, new[] { "Division" });
decimal division = currencyEntity.GetTypedColumnValue("Division");
decimal currencyFromPrimaryFactor = division!= 0? currencyRate / division : 0;
var update = new Update(UserConnection, "OrderProduct")
.Set("CurrencyId", Column.Parameter(currencyId))
.Set("CurrencyRate", Column.Parameter(currencyRate))
.Set("Price", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryPrice"))
.Set("Amount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryAmount"))
.Set("DiscountAmount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryDiscountAmount"))
.Set("TaxAmount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryTaxAmount"))
.Set("TotalAmount", Column.Parameter(currencyFromPrimaryFactor) * Column.SourceColumn("PrimaryTotalAmount"))
.Where("OrderId").IsEqual(Column.Parameter(Entity.GetTypedColumnValue("Id"))) as Update;
update.Execute();

Здравствуйте, Валерий. А как можно добавить в эту схему свою систему расчёта? Чтобы подсчитывалась нужный мне итог?

Добрый день!

1. В конфигурации необходимо на нужном объекте при вызове контекстного меню выбрать "Изменить процесс";
2. На открывшейся странице справа в дереве выбрать "methods", так как мы хотим переопределить метод и найти нужный нам метод;
3. Когда нашли метод два раза по нему кликнуть и в центральной части откроется код.

Прикрепил скриншоты для наглядности.

"Адасюк Валерий Викторович" написал:

Добрый день!

1. В конфигурации необходимо на нужном объекте при вызове контекстного меню выбрать "Изменить процесс";

2. На открывшейся странице справа в дереве выбрать "methods", так как мы хотим переопределить метод и найти нужный нам метод;

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

Прикрепил скриншоты для наглядности.

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

1.jpg
23.68 кб

2.jpg
41.88 кб

Валерий, здравствуйте. Не могли бы помочь с решением данной проблемы?
Создана строка "Сумма закупа" (UsrTotal) с типом данных "Деньги". Она должна считать общую сумму затрат на покупку всех товаров в заказе.
Для этого созданы две строки "Покупная цена" (UsrPrice), где рассчитывается стоимость одного товара и "Итого дил." (UsrTotalDil), тут рассчитывается сумма закупа в зависимости от кол-ва товаров в строке

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

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

Добрый день.
Подскажите как изменилась работа с WorkspaceConsole в bpmonline 7.7(7.7.0.2835_CustomerCenter)?
При попытке выгрузить или установить пакет утилита выдает ошибку
Ошибка: Object reference not set to an instance of an object.
Файл лога прикреплен.
На версии 7.6 работало нормально.
P.S. Появилась ли возможность выгрузить только один пакет?

Нравится

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

Сам разобрался.
Решение было здесь http://www.community.terrasoft.ru/forum/topic/15143

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

Файл лога не прикреплен. Рекомендую обратиться с данным вопросом напрямую в support@bpmonline.com ввиду большого количества нюансов которые могут привести к ошибке. Дополнительно направьте следующие файлы:
- *bat файл
- Terrasoft.Tools.WorkspaceConsole.exe.config
- ConnectionStrings.config

P.S. Выгрузить пакет можно при помощи команды SaveVersionSvnContent из SVN, из БД данная операция недоступна.

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