Добрый день! 

 

Просьба подсказать, как в коде делать проверку, входит ли пользователь в список пользователи/роли, который описан в "Доступ по операциям" и привязать эту проверку при нажатии на кнопку. Если нужно в какой-то момент выдать права на кнопку определенному сотруднику, то можно просто добавить в список и проверка будет отработает.

Нравится

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

Добрый день!



Мы проверяем в момент открытия страницы, заполняя атрибут.

А потом уже этот атрибут используем, например, в бизнес-правилах



 

RightUtilities.checkCanExecuteOperation({operation: "UsrCanReadSomething"}, function(result) {
					this.set("UsrCanReadSomething", result);
				}, this);

 

Владимир Соколов,

Спасибо большое! 

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

Кожен раз при компіляції, з'являється вікно з повідомленням, що доступ до файлу web.config у папці Terrasoft.WebApp заборонено. З чим це може бути пов'язано?

Нравится

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

Добрий день!



Уточніть будь ласка, де розгорнутий сайт (локально чи в cloud)?

Bogdan,

cloud

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

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

Файл из локальной папки открывается, так же через Visual Studio открывается файл из локальной и из сетевой папок. Но если выполнять тот же код из Creatio, возвращается ошибка: The server encountered an error processing the request. The exception message is 'Could not find a part of the path '\\DESKTOP-PAVEL\ForFTP\new1.csv'.'. See server logs for more details. The exception stack trace is:.............

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

Нравится

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

Добрый день!

 

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

Роман Казекин,

Добрый день Роман!

Как описано выше в Creatio для заполнения раздела, данные вычитываются из файла.

Если файл находится в локальной папке - например на диске C, D, то всё работает нормально.

Но если файл находится на каком-либо сетевом ресурсе, общедоступном -  то файл не открывается через Creatio. 

При настройке IIS 

Получаем ошибку:

А если указать в поле Identity конкретного пользователя, то ошибка:

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

Спасибо.

Добрый день, Сергей.



Тут есть 2 варианта решения:

1) Использовать ApplicationPoolIdentity и дать разрешение на просмотр содержимого сетевой папки всему компьютеру на котором запущен пул. 

2) Запускать пул под Identity пользователя системы и дать разрешение на просмотр содержимого сетевой папки этому пользователю на котором запущен пул.



Более детально можно найти на отрытых ресурсах. Как пример:

https://stackoverflow.com/questions/18750341/iis7-give-applicationpooli…



https://docs.microsoft.com/en-us/iis/manage/configuring-security/applic…



https://serverfault.com/questions/292057/applicationpoolidentity-user-c…

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

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

Нравится

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

Если речь идет о все полях в карточке и по сути самой записи, делайте через "Права доступа на объекты" там для объекта есть "Использовать доступ по операциям".

Если речь идет о все полях в карточке и по сути самой записи, делайте через "Права доступа на объекты" там для объекта есть "Использовать доступ по операциям".

Добрый день, Ислам!

 

Для реализации Вашей бизнес-задачи, Вам необходимо перейти в Права доступа на объекты, выбрать раздел Контакты и в Использовать доступ по операциям добавить пользователя Supervisor или Системный администратор (в зависимости от Ваших настроек системы), оставив ему право на все операции: Создание, Чтение, Редактирование и Удаление записей. Другим же пользователям/групам пользователей, который входят в определенные функциональный или организационные роли оставить только право на Создание записей. Также прошу обратить внимание на Приоритет разграничения прав.

Детальнее о настройке и управлении доступами в ситеме на сайте Академии: 

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/up…



С уважением,

Сидько Елена

Оператор

Группа компаний Terrasoft

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

Добрый день, имеется развернутый локально Creatio. Хочу добавить лэндинг(чтобы можно было к примеру перейти на localhost/landing/index.aspx) с формой, у которой есть поле phone и данные введенные в поле будут попадать в контакты -> мобильный телефон уже к имеющемуся контакту.

Что уже сделал?

Сейчас контакт выглядит следующим образом

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

Как описано в документации добавил лэндинг. Сжато он выглядит так:

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

После чего в папке ../0/Nui/ создал папку Landing с файлом index.aspx в котором лежит следующий код:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <!--ШАГ 2-->
    <!--Эту часть необходимо скопировать из поля ШАГ 2 страницы редактирования лендинга-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src="https://webtracking-v01.bpmonline.com/JS/track-cookies.js"></script>
    <script src="https://webtracking-v01.bpmonline.com/JS/create-object.js"></script>
    <script>
 
    var config = {
        fields: {
            "Subject": "#subject-field",
            "Email": "#email-field",
            "Name": "#name-field",
            "MobilePhone": "#phone-field",
        },
        landingId: "54a57d16-e7b6-4c7d-9c38-237cfcf6512d",
        serviceUrl: "http://localhost/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData",
        redirectUrl: "yandex.ru"
    };
 
    function createObject() {
        landing.createObjectFromLanding(config)
    }
    </script>
    <!--ШАГ 2-->
</head>
<body>
<h1>Landing web-page</h1>
<div>
    <h2>Case form</h2>
    <form action="localhost/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData" method="POST" class="mainForm" name="landingForm" onSubmit="createObject(); return false">
        Subject:<br>
        <input type="text" name="subject" id="subject-field"><br>
        Email:<br>
        <input type="text" name="Email" id="email-field"><br>
        Name:<br>
        <input type="text" name="Name" id="name-field"><br>
        Phone:<br>
        <input type="text" name="Phone" id="phone-field"><br><br>
        <input type="submit" value="Submit">
        </font>
    </form>
</div>
</body>
</html>

Если я правильно понял для того чтобы POST запрос прошел корректно должен отработать файл GeneratedObjectWebFormService.svc. Нужно ли его создавать по документации или он является дефолтным? При попытки отправки запроса возникает 403 ошибка. Как сделать это рабочим и какие ошибки я совершил?

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

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

Нравится

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

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

 

Как минимум, у Вас неправильный адрес стандартного веб-сервиса GeneratedWebFormService, к которому пытались обратиться со страницы. Поскольку он анонимный, там не нужен /0/. См. тут, как выглядит и где настраивается путь к нему.

 

Если нужно сделать отдельную страницу на сервере с этой формой, можно поднять в IIS ещё один сайт из одной HTML-страницы, где и настроить по инструкции связь с лендингом.

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

 

Как минимум, у Вас неправильный адрес стандартного веб-сервиса GeneratedWebFormService, к которому пытались обратиться со страницы. Поскольку он анонимный, там не нужен /0/. См. тут, как выглядит и где настраивается путь к нему.

 

Если нужно сделать отдельную страницу на сервере с этой формой, можно поднять в IIS ещё один сайт из одной HTML-страницы, где и настроить по инструкции связь с лендингом.

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

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

Нет, дело не в этом. Посмотрите второй абзац прошлого ответа.

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

исправил без /0/ теперь следующую проблему не могу побороть 

политика CORS дефолтная и выглядит так:

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

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

Коллеги, добрый день. 

 

Не могу найти информацию о том, как настроить права доступа на вкладки "Обращение". 

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

Нравится

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

Обычно такое делается так: создаётся администрируемая операция, добавляются права на неё нужным пользователям (а лучше группе, а пользователей туда), затем в коде карточки на открытии проверяют права на операцию и показывают или скрывают вкладку. Как тут.

 

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

 

Ну и программное скрытие вкладок не спасёт от сильно хитрых пользователей, которые могут и подправить код на стороне браузера. Надёжнее забрать права на колонки или на таблицы деталей.

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

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

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

Тогда программно проверять права на операцию у пользователя. Если совсем неважны права, то можно и фичей, чтобы пользователь сам решил, что ему надо (хотя изначально этот механизм не совсем для того).

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

Добрый день.

 

Реализовал процесс, во время которого происходит добавление данных в справочник. 

Но выходит ошибка "Текущий пользователь не имеет прав на запуск администрируемой операции с кодом "CanManageLookups".

Как можно решить данную проблему?

Или необходимо полностью доступ к справочникам давать.

 

Нравится

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

Вариант 1. 

1. Зайдите в   Управление конфигурации - Права доступа на операции - 

2. Найдите операцию с кодом "CanManageLookups"

3. Добавьте нужному пользователю или роли права на эту операцию.

Вариант 2. 

Для объекта справочника измените Родительский объект на "Базовый объект", а не "Базовый справочник" и опубликуйте (при этом слетят базовые поля Name и Description)

 

Вариант 1. 

1. Зайдите в   Управление конфигурации - Права доступа на операции - 

2. Найдите операцию с кодом "CanManageLookups"

3. Добавьте нужному пользователю или роли права на эту операцию.

Вариант 2. 

Для объекта справочника измените Родительский объект на "Базовый объект", а не "Базовый справочник" и опубликуйте (при этом слетят базовые поля Name и Description)

 

Коновалов Игорь,

 

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

Второй вариант помог. Пришлось конечно везде, где чтение данных было, заново условия и объект чтения поменять, т.к. выдавало ошибку что "Элемент коллекции с именем Name не найден".

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

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

Нравится

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

Добрый день!

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

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

Коллеги, добрый день. 

 

Имеется ли в системе какой-то инструмент, который позволит узнать имя объектов. 

Задача - отобрать права у пользователей, убрать строку из меню "дизайнер системы". 

В интерфейсе не нашёл информацию по данному меню. 

В реестре прав доступа не могу понять как называется объект. 

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

Нравится

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

Посмотреть названия элементов интерфейса можно через инспектор объектов в браузере.

Это меню реализовано в модуле LeftPanelTopMenuModule.

Вам нужно внести изменения в метод setSystemDesignerVisible, который реализован в этом модуле и отвечает за видимость данного пункта меню.

Посмотреть названия элементов интерфейса можно через инспектор объектов в браузере.

Это меню реализовано в модуле LeftPanelTopMenuModule.

Вам нужно внести изменения в метод setSystemDesignerVisible, который реализован в этом модуле и отвечает за видимость данного пункта меню.

Алла Савельева, я правильно понимаю, что под модулем Вы понимаете "пакет" ? 

Sunrise challenge,

Не, пакет - это пакет, а модуль - это модуль. Модуль - это ClientUnitSchemaManager, скриншот ниже:

Алла Савельева, волей-неволей вспоминается - "стою на асфальте, в лыжи обутый...". Не нахожу его 

Sunrise challenge,

Проверьте, не включена ли фильтрация в нижней панели окна сервисов (на скриншоте выделила красным):

Алла Савельева,

Вы оказались правы. Как-то не очевидно, что он установлен. 

Метод я нашёл, но сохранить изменения он не даёт: 

"Невозможно сохранить изменения элемента "LeftPanelTopMenuModule", так как он создан сторонним издателем или установлен из файлового архива"

Sunrise challenge,

Вам нужно заместить модуль LeftPanelTopMenuModule.

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

Алла Савельева,

Спасибо за подсказки. В дополнение - есть ли более простой способ скрыть данное всплывающее меню или убрать из списка "Дизайнер системы"  ? 

Sunrise challenge,

Я не нашла никакой системной настройки, с помощью которой можно было бы управлять этой функциональностью.

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

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

Это не совсем правильно, ибо не нужно агентам и пользователям знать о лишнем функционале, во избежание путаницы. И поиска не регламентированных возможностей. 

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

Зверев Александр пишет:

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

Это была описка - речь шла о правах доступа на операции.

Зверев Александр пишет:

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

Саша, а ты можешь это внести в список пожеланий от клиента? Я на 100% согласна, что такая настройка должна быть в базовой версии. 

Алла, такое пожелание уже заведено раньше.

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



Добрый день, подскажите пожалуйста, как дать (пользователю, роли и т.д.) доступ к разделу со справочниками?

Нравится

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

доступ по операциям —> поиск по коду "CanManageLookup" —> добавляете пользователей

Ок, спасибо. Получилось

Варфоломеев Данила,

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

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