Вопрос

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

У меня такой же вопрос

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");
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

7.3.0.745 CRM

Мастер разделов чудесная вещь, но, увы, очень не удобно им пользоваться для разработок и тестирования разных конфигураций.
Он использует системную настройку "Текущий пакет" (CurrentPackageId) для записи изменений. Но системные настройки одни для всех конфигураций, а пакеты наоборот - для каждой конфигурации свои. Таким образом, при изменении активной конфигурации для того, чтобы воспользоваться мастером разделов, необходимо поменять значение системной настройки "Текущий пакет" (CurrentPackageId) на пакет из этой конфигурации.
Является это нормальной ситуацией или этот момент будет исправляться? А может быть я и вовсе что-то не так понимаю? :wink:

У меня такой же вопрос

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

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

Здравствуйте, Дмитрий!

В версии 7.3.0.745 и младше, действительно при изменении активной конфигурации для того, чтобы воспользоваться мастером разделов, необходимо поменять значение системной настройки "Текущий пакет" (CurrentPackageId) на пакет из этой конфигурации.

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

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