исключение
Технические вопросы
Разработка

При встрече с

Dataset.Cancel()

VS выводит сообщение об ошибке

Необработанное исключение в строке 65, столбце 3 в JScript - script block
0x8000ffff - неизвестное исключение, произошло

В какую сторону копать? Что можно глянуть?

Нравится

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

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

Сергей,

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

Также уточните, какую версию Terrasoft 3.X Вы используете и какую логику хотите реализовать?

Ещё неплохо было бы посмотреть на код функции, в которой вызывается данная строка.

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

Произведено повсеместное переименование раздела "Лиды" в "Запросы"
В таблице SysSchema - caption всех замещающих объектов
в таблице SysModule - caption раздела в регистрационной записи
в таблице SysLocalizableValue - value всех упоминаний "лида" в "запросы"

В конечном итоге, практически повсеместно раздел переименован.
Но почему-то в меню быстрого доступа ("Модуль верхнего меню" (LeftPanelTopMenuModule)[NUI])
Все равно остается "Лид"
Отладкой удалось определить, что список формируется из конфигурационной настройки платформы

this.Terrasoft.configuration.QuickAddMenu.QuickAddMenu;

которая в свою очередь устанавливается прямо в ViewModule.aspx
что делает дальнейшую отладку с клиентской стороны невозможной.

Откуда формируется этот список ?
можно ли повлиять на его содержимое ?

Нравится

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

Сам спросил, сам ответил
В БД есть таблица "QuickAddMenuItem"
содержащая соответствующие значения.

PS: ИМХО, в списке быстрого доступа к разделам, разумнее содержать UId/Id целевого модуля/раздела и получать его действующий caption из тех мест где описываются свойства модуля, т.к. вся остальная информация и так динамическая - т.е. "собирается".
Странное архитектурное решение.

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

Добрый день, у нас возникли следующие проблемы с активностью при создании активности через БП:
- при выборе “тип сообщения” = исходящее в активности все равно выставляется входящее:

- к активности подсоединяется контакт, но в самом контакте в истории активность не отображается, но сам заголовок активности, связанной с данным контактом отображается в категории email (даже при типе и категории "задача) ":

- в разделе “Туры“ также в истории не отображаются активности, однако отображается вверху в панели “следующие шаги”:

Подскажите, пожалуйста, как можно устранить данные проблемы? :smile:

Нравится

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

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

Попробуйте заполнять не поле "Направление звонка", а поле "Тип сообщения". Внесите исправления в процесс.

Также создаваемые активности имеют тип "Email". Активности с типом "Email" отображаются на детали "Email", однако на детали "Активности" они не отображатся, т.к. на ней установлена фильрация по типу записи.

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

Добрый день!
Объясните поведение элемента бизнес-процесса "отправить email".
Этот элемент умеет работать с параметрами БП, а именно можно ли в макросе, когда редактируешь тело письма через дизайнер контента, как то вставить и получить корректное сообщение на почту?

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

В чем может заключаться данная проблема?

Нравится

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

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

У элемента “Отправить email” есть 2 режима: Письмо по шаблону/Произвольное письмо.
1. Письмо по шаблону.
В справочнике “ Шаблоны email сообщений” необходимо создать шаблон. В шаблоне заполнить поле [Источник макросов] – указать объект из которого будут заполняться макросы.
В элементе “Отправить email” указать созданный шаблон. Заполнить параметр [Запись для формирования макросов] – указать Id целевой записи, из которой будут подтягиваться значения для макросов.

2. Произвольное письмо.
В теле письма, в дизайнере контента, достаточно вставить параметр процесса (самая права иконка в виде молнии).

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

Михаил, здравствуйте!

Рекомендую обратиться в поддержку (support@terrasoft.ru), поскольку кейс нужно исследовать - общие рекомендации могут быть ошибочны.

Алексей, так и поступили. И ещё был замечен момент что если БП запускать из карточки и передавать в него строку, например, а потом этот параметр использовать в теле письма, то на почту приходит корректное письмо.

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

Доброго времени суток, форумчане.

Работаю в 7.9.
Возникла следующая проблема: не отображается напоминание в коммуникационной панели.
Задача состоит в том, чтобы напоминать пользователю о созданных по определенным условиям проектах. Создал ProjectNotificationProvider (за основу взял InvoiceNotificationProvider) для проекта и зарегистрировал в таблице NotificationProvider, установил в ней Type =1
Добавляю запись в таблицу Reminding, где заполняю следующие поля:

[AuthorId] - Id контакта пользователя системы
,[ContactId] - Id контакта пользователя системы
,[RemindTime] - текущая дата/время
,[Description] - какое-то описание
,[SubjectId] - Id проекта
,[SourceId] - Id автора из таблицы RemindingSource
,[SysEntitySchemaId] - uid проекта
,[ProcessListeners] - 0
,[SubjectCaption] - какой-то Caption
,[TypeCaption] - ''
,[Hash] - ''
,[IsRead] - 0
,[NotificationTypeId] - тип "Напоминание"

Напоминание на панели не отображается, только через определенное время появляется всплывающее окно с ссылкой на проект, если окно сайта bpm закрыто другим приложением. Оно отображается несколько секунд и исчезает.
Если я, например, в поле NotificationTypeId укажу тип "Уведомление", то уведомление отображается без проблем даже без регистрации провайдера. Если в поле SysEntitySchemaId указать uid Invoice, то напоминание появляется, но по ссылке, которая указана в нем, идет переход на новый заказ, а мне нужен переход на проект. Не до конца понятен механизм по отображению напоминаний.
Буду благодарен за помощь

Нравится

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

Кирилл, здравствуйте!

С подобными проблемами уже разобрались в схожих темах:
http://www.community.terrasoft.ua/forum/topic/24969
http://www.community.terrasoft.ua/forum/topic/25016
и многих других, которые можно найти здесь же при поиске по ключевым словам.

Ссылки битые. Как решить подобную же проблему в 2021 году?

Сергей Зеленский,

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

У вас возникают проблемы со всеми типами уведомлений или с какими-то определенными?

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

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

Нравится

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

Добрый день, Александр!

В системе есть 2 варианта открытия страницы - Separate и Combined. С Separate понятно, он открывается при переходе в карточку из другого раздела или по прямой ссылке, Combined же - при переходе из раздела(секции), это можно увидеть по наличию вертикального реестра в левой части. Дело в том, что Ваша логика находится на странице(page), а при открытии страницы в Combined режиме все еще отрабатывает логика раздела(section). Для того, чтобы кнопка работала корректно, Вам необходимо создать замещающую страницу для Section, и продублировать логику там.

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

Добрый день.
Я создал раздел Материалы, ко вкладке Основная информация добавил ещё одну История.
В Истории разместил детали:
Контрагент
Конечный пользователь (Контрагент)
Смета
Счета

Вопрос: Как реализовать историю движения текущего материала в других разделах на этих деталях?
Например если этот материал купили 10 раз
То на детали Счета должно появиться 10 записей, аналогично остальные.

Кто-нибудь такое уже реализовывал?
Желательно пример.

Заранее благодарю.

Нравится

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

Максим, достаточно, в других разделах через мастер разделов добавить аналогичную деталь (предварительно создав через мастер деталей). Например, если раздел "Счета", то добавляем деталь в мастере разделов указываем колонку детали "Счета" и колонку объекта ID.

Также необходимо соблюдать, что в объекте "Материалы", должны быть лукапы, которые ссылаются объекты других разделов.

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

Добрый день, необходимо переименовать, удалить некоторые поля из детали "Связи" на странице активности:

Но при редактировании этой детали в мастере деталей ничего не отображается:

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

Нравится

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

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

DELETE FROM EntityConnection WHERE SysEntitySchemaUId = 'c449d832-a4cc-4b01-b9d5-8a12c42a9f89'
AND (ColumnUId = 'd6e94162-4354-413a-bc84-e118df5e852e'
OR ColumnUId = 'f6137557-741e-42f8-8bf6-69b2524a83f7')

где SysEntitySchemaUId это UId из SysSchema схемы объекта активности, а d6e94162-4354-413a-bc84-e118df5e852e её колонки UId которых можно прочитать в метаданных того же самого объекта активности.

Спасибо за помощь, подскажите, пожалуйста, где хранятся названия колонок, чтобы их переименовать по ColumnUId ? :smile:

Определить UID колонки можно в метаданных объекта Activity. Альтернатива - запрос к таблице SysEntitySchemaReference.

Спасибо, колонки успешно удалились, ColumnCaption изменили в SysEntitySchemaReference, но на странице активности название колонки отображается старое, кэш чистили, в чем может быть проблема?

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

Колонки в деталь "Связи" загружаются методом generateEntityConnectionButtonConfig() (схема EntityConnectionLinksUtilities).

Можно провести отладку этого метода, чтобы определить откуда ноги растут:smile:

Показать все комментарии
Активность
бизнес-процесс
открыть страницу редактирования
Технические вопросы
7.x

Если в некоем БП, создавать запись, и использовать действие "Открыть страницу редактирования"

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

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

в частности "Выполнить позже" и т.д.

Если же открывать созданную сущность из раздела - то таких действий уже нет.

Вообщем этот кейс иногда нужен и полезен, а иногда очень мешает и вводит путаницу для пользователя,
Можно ли вообще избежать создания активности в таком случае, или как минимум избежать уведомления ?

Нравится

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

"Севостьянов Илья Сергеевич" написал:Если же открывать созданную сущность из раздела - то таких действий уже нет.

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

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

При выполнении интерактивных элементов [Открыть страницу редактирования/Вопрос пользователю] создаются служебные активности. Это базовая логика выполнения, изменить ее не получится.

Жаль. Это доставляет неудобства пользователю и вносит неувязки в бизнес-логику.
Если в данной теме можно озвучить пожелание, то было бы логичным, ИМХО, предоставить пользователю возможность выбрать в элементе БП - необходимо ли создавать активность, например добавив чекбокс

установленный по умолчанию.
А кому активности связанные ни к чему могли бы спокойно от этой функциональности отказаться.

Спасибо за обратную связь.
Зарегистрировали задачу на проработку.

Зарицкий Олег пишет:

Изменений по всей видимости не было за этот период? 

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

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

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

Добрый день.

Настроил Visual Studio согласно инструкции https://academy.terrasoft.ru/documents/technic-sdk/7-10/rabota-s-servern...

При запуске утилиты WorkSpaceConsole получаю следующую ошибку:
Compilation started
Error: Dependency 'AnchorSchema' of package 'Core' was not found. Search path: C:\Project\7010\Terrasoft.WebApp\Terrasoft.Configuration\Autogenerated\Src\AnchorSchemaSchema.Core_Entity.cs

Параметры запуска:
C:\Project\7010\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe --operation=RebuildWorkspace --workspaceName=Default --webApplicationPath="C:\Project\7010\Terrasoft.WebApp\"

Нравится

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

Добрый день, Алексей.

Значения флага CompileByManagerDependencies в файле Web.config папки Terrasoft.WebApp и консоли должны совпадать:

Проверьте данную информацию.

Мария, спасибо.

Действительно значение настройки отличалось.

В указанной документации об этом ничего не сказано.

Выравнивание значений решило проблему.

Спасибо.

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