Добрый день!

Считаю, что была бы полезной функция настройки (скрытия лишних) элементов данной панели:

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

Можно не показывать значок Mail, если у пользователя нет Mailbox, например...

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

Скрыть аналогично, только намного проще, в переопределённой схеме дописать в diff новый блок "operation": "merge" для ненужного элемента, в которой жёстко или по какому-то условию менять видимость.

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

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

Алла, я на всякий случай, вдруг нужно решить задачу прямо сейчас, а не когда (или если) реализуют идею.

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

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

Нравится

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

Добрый день!
Да, заходите в системную настройку, указываете пункт "Разрешить по операции". Системную операцию используете существующую, либо создаете новую.

Добрый день!
Да, заходите в системную настройку, указываете пункт "Разрешить по операции". Системную операцию используете существующую, либо создаете новую.

Сидоров Александр В.,

в 7.12 такого нет, наверно это в более новой версии

Ещё один повод обновиться сразу до актуальной.

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

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

Можно попробовать развернуть демку новой версии и точечно портировать логику прав на системные настройки (если она не вынесена частично в ядро). Но когда дойдёт очередь до планового обновления, может выйти боком.

Вот потому и думаю, и так обновления проходят не без проблем, а так ещё добавятся

В таком случае стоит обновляться. В версии 7.13 права уже есть.

У нас сейчас 7.12.4, будет стимул проставить на прод. Спасибо

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

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

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

Нравится

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

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

Уточните, пожалуйста, как именно Вы получаете значение системной настройки? Есть листинг кода? 

 

Вильшанский Дмитрий, 

this.Terrasoft.SysSettings.querySysSettingsItem('SlaCalculationEnabled', function (slaEnabled) {console.log(slaEnabled)})

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

Добрый день.

Ошибка не совсем правильно передает суть проблемы. Дело в правах – т.е. у пользователя нет прав на данную настройку.

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

Добрый день, не могу установить значения системной настройки из кода, код отрабатывает без ошибок но значение на меняется, подскажите в чем может быть проблема, настройка не персональная и не кешируемая. Заранее благодарен.
Код установки значения:
 

 Terrasoft.Core.Configuration.SysSettings.SetDefValue(_userConnection, "CRMTMessagesOffset", _messageOffset);
_userConnection.ResetSettingsCache("CRMTMessagesOffset");

 

Нравится

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

Дмитрий, 

Следующий код работает:

//Установить значение системной настройки
Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection, "SysSettingsName","SysSettingsValue");
 
//Установить значение системной настройки без учета прав
Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection, UserConnection.RootAdminUnitGroupId, "SysSettingsName", "SysSettingsValue");

                                        

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

Добрый день.

У нас возник выопрос, можно ли изменть значение системных настроек через Odata?
При попытке сохранить изменения под супервизором через odata нам выдаёт ошибку Forbidden.
Мы предполагаем, что это может быть связано с тем, что доступ к ним через Odata закрыт.
Подскажите, может кто то сталкивался с подобной проблемой.

Нравится

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

Здравствуйте, Богдан!

Изменение значений системных настроек через OData не предусмотрено.

Есть два варианта решения этой задачи:
1) Создать собственный web сервис, который будет менять значения системных настроек в таблице SysSettingsValue
2) Создать объект, к которому будут идти обращения по OData. Логикой в созданном объекте (или триггерами в БД) необходимо будет переносить новые значения в таблицу SysSettingsValue.

Раньше было нельзя, только несколько таблиц с префиксом Sys открыты на запись

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

Добрый день!
Версия 7.9.0.1228 Bundle Service-Marketing-Sales On-site

При разрешении обращения контакту отправляется письмо с ссылкой на оценку качества обслуживания.
Поскольку система стоит on-site, эта ссылка является локальным адресом, который недоступен клиентам, т.к. они не подключены к VPN. Необходимо сменить этот адрес на внешний, чтобы ссылка стала доступна. Попробовал установить необходимый внешний адрес в системной настройке "адрес сайта", но это не помогло. Подскажите, пожалуйста, как можно реализовать эту задачу. Заранее спасибо!

Нравится

Поделиться

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

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

Подробная информация о внесении необходимых настроек рассмотрена в руководстве пользователя: https://academy.terrasoft.ua/documents/service-enterprise/7-9/nastroyka…
Но следует обратить внимание на тот факт, что сайт должен быть доступен по внешней ссылке, в противном случае нет смыслса указывать в системную настройку какой-либо внешний адрес (так как по этому адресу клиент все равно сможет достучаться до сайта).

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

Добрый день, необходимо изменить тип поиска с типа «Начинается с» на «Содержит». В системных настройках в настройке "Тип сравнения для строковых колонок" установили значение по умолчанию равное “1”, перезашли в црм, кеш очистили, но все равно тип поиска не изменился, все еще необходимо искать в таком формате: %продукт%. Подскажите пожалуйста, в чем может быть проблема?

Нравится

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

Здравствуйте, Мария!

Системная настройка "Тип сравнения для строковых колонок" влияет только на поиск в быстром фильтре. В версии 7.9.0 поиск в быстром фильтре для справочных полей был доработан - при фильтрации по справочному полю система предлагает варианты, названия которых начинаются с введенного в поиске текста.

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

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

:smile:

Нужно заместить схему LookupPageViewModuleGenerator. Метод pushSelectFilters отвечает за тип поиска. В коробочной версии тип поиска START_WITH.

В замещающей схеме Вам необходимо заменить тип поиска на CONTAIN.

Поиск "%запрос%" отрабатывает значительно медленнее, чем поиск "запрос%".

Спасибо! :smile:
Возник еще такой вопрос по этой теме:
когда вбиваем текст просто в поле, то без % не находит туры:

а если через всплывающее окно, то нормально срабатывает:

Можно ли как-то реализовать, что бы и в поле поиск работал без % ?

Для изменения типа сравнения с первого скриншота, вам необходимо изменить возвращаемое значение метода "getLookupComparisonType" в файле all-combined, сделать это можно если у вас сайт on-site самостоятельно, если же на серверах bpm'online то через службу поддержки.

.

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

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

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

Нравится

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

Добрый вечер.

Вам стоит смотреть в сторону проверки при помощи esq наличия в бд в таблице SysSettings нужного Вам значения. Если значения нет - создавать его insert-ом. Если же оно есть - изменять значение при помощи примерно следующего кода:

var config = {
	sysSettingsValues: {},
	isPersonal: false
};
 
config.sysSettingsValues['test'] = 'DONE';
 
 
Terrasoft.SysSettings.postSysSettingsValues(config, function(result){
	/some code
}, this);

"Мотков Илья" написал:

Добрый вечер.

Вам стоит смотреть в сторону проверки при помощи esq наличия в бд в таблице SysSettings нужного Вам значения. Если значения нет - создавать его insert-ом. Если же оно есть - изменять значение при помощи примерно следующего кода:

var config = {
        sysSettingsValues: {},
        isPersonal: false
};

config.sysSettingsValues['test'] = 'DONE';

Terrasoft.SysSettings.postSysSettingsValues(config, function(result){
        /some code
}, this);


Спасибо за ваш ответ. Как изменять/считывать понятно из системных настроек понятно. Больше нет никакой возможности хранить глобальные параметры кроме системных настроек?

У меня следующая задача, например в bpmonline есть интеграция с mandrill. Так вот для подключения этого сервиса мы вводим apiKey, который сохранится в системных настройках. Вот я аналогичную интеграцию делаю с другим сервисом и встал такой же вопрос, как лучше/проще всего хранить apiKey?

"ta4" написал:как лучше/проще всего хранить apiKey

В любом случае в БД. Следовательно либо системная настройка, либо, создайте свой объект и храните там, плюс своего объекта = можете настроить ему права доступа.

"Максим Шевченко" написал:
ta4 пишет:

как лучше/проще всего хранить apiKey

В любом случае в БД. Следовательно либо системная настройка, либо, создайте свой объект и храните там, плюс своего объекта = можете настроить ему права доступа.


Спасибо за ответ Максим.
А есть какой-нибудь пример, как добавить системную настройку программно? (через конфигурацию)

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

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

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

Нравится

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

Добрый день, Маргарита!

Значение данной системной настройки измеряется в миллисекундах.

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

Есть ли какой-нибудь стандартный способ получения значения СН из серверного кода с последующим её увеличением?
Суть такова - в цикле, при помощи INSERT, создаются новые записи объекта и им нужно присваивать порядковыее номера.

Нравится

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

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

Terrasoft.Core.Configuration.SysSettings.GetValue(UserConnection, "SysSettingsName");
 
Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection, "SysSettingsName","SysSettingsValue");

Да, с GetValue все ок, спасибо!

А вот с SetValue какая-то проблема:

System.Security.SecurityException: Настройка "Текущий номер операции" не является персональной
   в Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection userConnection, String code, Object value)
   в Terrasoft.Core.Process.ChargeAndDebitInterestProcess.ScriptTask1Execute(ProcessExecutingContext context)
Ошибкой завершилась сборка со следующим параметром Zone:
MyComputer

Здравствуйте, Акмаль!
В таком случае пользуйтесь другим вариантом метода:

Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection, UserConnection.RootAdminUnitGroupId,
					"SysSettingsName", "SysSettingsValue");
Показать все комментарии