Задача модифицировать настройки(расписание) автоматического поиска дублей контактов и контрагентов.

Данный функционал заявлен в пакете Dedupliction, но по факту не работает для контрагентов, всегда выбирается настройка для контактов.

Параметр entitySchemaName в модуле SearchDuplicatesSettingsPageViewModel. При вызове метода generate не заполняется.

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

Создал UsrSearchDuplicatesSettingsSection, наследованный от Базовая схема раздела ( NUI ). В нём в define собственно указал только параметр

entitySchemaName: "DuplicatesSearchParameter".

А для вызова этой страницы в замещённом DuplicatesRuleSectionV2 сделал вызов

openScheduleSettingPage: function() {
  this.sandbox.publish("PushHistoryState", {
    hash: "SectionModuleV2/UsrSearchDuplicatesSettingsSection"
  });
}

В итоге получаю ошибку про name primaryDisplayColumn. Оказывается он не заполняется в getSectionDefaultGridSettings (там цепочка вызова  require) модуля ProfileUtilities.js.

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

Нравится

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

Добрый день, Павел! 

Дело в том, что в это объекте действительно не заполнено данное свойство, он и не создавался для использования в кастомных схемах. Вы указали тег 7.10, но проблема, которая описана в вопросе, была в версии 7.9.1, и исправлена в 7.9.2 - у AccountPageV2  из пакета Deduplication была entitySchemaName : Contact. Подскажите, это тег неверный, или же действительно воспроизводится в 7.10? Если второй вариант, обязательно напишите письмо в официальную поддержку.

Здравствуйте, Владимир.



Спасибо за ответ.

Немного поясню ситуацию. Насколько я выяснил, функционал страницы настройки автоматического поиска дублей контактов и контрагентов реализован в 3-х файлах пакета NUI: SearchDuplicatesSettingsPage, SearchDuplicatesSettingsPageView, SearchDuplicatesSettingsPageViewModel.

Страница SearchDuplicatesSettingsPage вызывается методом openScheduleSettingPage в файле DuplicatesRuleSectionV2.

То есть страница вызывается не со страниц контакта, или контрагента.

Поэтому параметр entitySchemaName не заполняется, что собственно и продемонстрировано:

То есть, насколько я понял, остаётся замещать данные три модуля. Что конечно, будет затруднительно, чтобы поместить на страницу grid с возможностью добавления и удаления строк и придерживаться стилистического оформления.

Да, версия 7.10.2.

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

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



Если у Вас в 7.10.2 действительно возникают проблемы с тем что выбираются настройки для другого объекта, повторюсь, прошу написать письмо на support@terrasoft.ru с указанием Вашего сайта и данных для доступа.

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

Добрый день!





Подскажите примеры реализации макросов.



https://academy.terrasoft.ru/documents/technic-sdk/7-10/dobavlenie-obra…

По данному примеру не совсем понимаю,как настроить макрос.  

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

В теле письма нужно указывать заголовок активности.

Нравится

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

Светлана, пример решения Вашего кейса можно решить с помощью БП - https://academy.terrasoft.ru/documents/technic-bpms/7-10/kak-uvedomit-s…

Спасибо за помощь!

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

Подскажите как добавить связь раздела "Согласующие" в список выбора?

Изображение удалено.

Нравится

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

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

  • SysEntitySchemaUId (это реплика к значению колонки UId из таблицы SysSchema запись в которой описывает схему объекта для которого устанавливается связь
  • ColumUId (это реплика к одноименному полю в таблице SysEntitySchemaReference запись в которой отражает связь объекта с субъектом и его полем, фактически является описанием соотношения справочных полей в объектах)

изучите на примере уже существующих связей.



PS: в помощь Вам SQL скрипт который поможет Вам найти нужное значение по имени колонки и схемы от которой строится связь

-- Ищем колонку Лида (Lead) в схеме Активности (Activity)
SELECT SysEntitySchemaReference.*, Name FROM SysEntitySchemaReference SysEntitySchemaReference
INNER JOIN dbo.SysSchema SysSchema ON SysEntitySchemaReference.SysSchemaId = SysSchema.Id
WHERE ColumnName = 'Lead' AND Name = 'Activity'

Севостьянов Илья Сергеевич,

Все намного проще:

1. Добавить в объект Activity колонку, ссылающуюся на нужный справочник .

2. Найти UId колонки добавленной в первом пункте (в метаданных справочника).

3) Выполнить скрипт предоставленный раннее

     INSERT INTO EntityConnection (SysEntitySchemaUId, ColumnUId) VALUES ('C449D832-A4CC-4B01-B9D5-8A12C42A9F89', 'UId_колонки_из_п.2');

     Где UId колонки - UId колонки для связи из метаданных обьекта Activity.

4) Выполнить очистку кэша и перезайти в систему.

Последовательность правильная. В п.3 можно использовать более удобный скрипт для MSSQL:

 

DECLARE @columnName varchar(max) = 'UsrColumn';
INSERT INTO [EntityConnection] ([SysEntitySchemaUId], [ColumnUId])
  VALUES (
	(SELECT
	  [UId]
	FROM [SysSchema]
	WHERE [Name] = 'Activity'
	AND [ExtendParent] = 0), 
	(SELECT DISTINCT
	  [ColumnUId]
	FROM [SysEntitySchemaReference]
	WHERE [SysSchemaId] IN (SELECT
	  [Id]
	FROM [SysSchema]
	WHERE [Name] = 'Activity')
	AND [ColumnName] = @columnName));

 

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

Когда пользователь кликает по гиперссылкам в окне приложения страницы по которым он перемещаются образуют очередь (стек LIFO), типовые действия "Закрыть" / "Сохранить" и т.д. приводят к тому что пользователь "возвращается на карточку", зачастую работая с другими карточками пользователь инициирует БП или иначе изменяет данные, которые ранее были загружены в модели карточек к которым предстоит "вернуться", но когда пользователь "возвращается на них" то данные там не актуализированы.
И это представляет прям насущную проблему.
Её не сложно решить самостоятельно, имея какой-то способ определения факта события "пользователь вернулся на карточку".
Стоит признаться, "ковырялся" я довольно много... но пока что "зацепиться" ни за что не удалось.
Но мне кажется что, способ всё такие есть.

Есть ли у коллективного разума какие-то идеи, знания на этот счет ?

Нравится

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

Сам спросил, сам отвечу
за это отвечает BROADCAST сообщение BackHistoryState
на него есть всего один подписчик в ConfigurationBootstrap.js
его обрабатывает метод onBackHistoryState
так что можно "расширять" его при необходимости.

PS: по факту этот метод не делает ничего кроме вызова
[javascript]
router.back();
[/javascript]
и как раз скорее всего выделен в отдельный метод чтобы логику через него можно было расширить, или так получилось не осмысленно, но очень удачно.

Ладно, вы справились быстрее, поздравляю :smile:

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

Коллеги, добрый день.
При переносе схемы(раздел Активности) с демоверсии на бой возникает ошибка сохранения:
String reference not set to an instance of a String. Parameter name: s.

что делать дальше?
Спасибо.

Нравится

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

Здравствуйте, Марина.

Прикрепите пожалуйста логи приложения и укажите время когда воспроизвелась ошибка.

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

Показать все комментарии
7.1
Login.aspx
NuiLogin.aspx
логин
Технические вопросы
7.x

При попытке зайти в систему как обычно, через NuiLogin.aspx выдает ошибку:

POST http://localhost:82/ServiceModel/AuthService.svc/Login 404 (Not Found)

При этом при использовании Login.aspx заходит без проблем.
Подскажите в чем дело?

Нравится

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

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

Предположительно некорректно развернут сайт.
Попробуйте переразвернуть приложение согласно инструкции https://academy.terrasoft.ru/documents/sales-enterprise/7-10/ustanovka-…

Похоже на то что в конфигах указаны https хотя сайт развернут в ис поверх http, протоколы должны соответствовать.
Статья:
https://academy.bpmonline.com/documents/marketing/7-9/switching-http-ht…

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