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

Есть записи в разделе, в них есть поле Исполнитель, в нем сотрудник из справочника контактов...
Есть начальники отделов.
Надо чтобы сотрудники видели только "свои" записи, то есть где они в Исполнителях, начальники все записи отдела...
Как тут быть с правами и как и их проставлять? Есть у меня подозрения что это надо делать скриптом...
Задача стандартная, но на форуме что то ничего не ищется.....

Нравится

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

Думаю вам надо создать группы на каждого пользователя (точно не знаю можно ли динамические создать, не знаю может ли обычный пользователь менять ее фильтры) и там раздать права как надо, а соответственно группе "Все пользователи" убрать права.
Изменение прав - правая кнопка мыши по группе -> Права доступа

Группы пользователей или группы в дереве групп на панели слева?

На панели слева

Не, фигня какая то получается....
По моему надо права на записи раздавать....

может быть связано с администрированием по записям в самой таблице.

именно, только не то что вы обвели, а пункт выше: Is Administrated Bу Records.
короче, я понял, что при создании записи надо будет прописывать права на нее скриптом исходя из структуры компании.......

кстати, я включил этот пункт, но таблицы и представления, обещанные в статье Принципы реализации прав доступа платформы Terrasoft у меня не создались ни разу....

"Шамуилов Александр" написал:Не, фигня какая то получается....
По моему надо права на записи раздавать....

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

это один из способов, "попроще".
другой способ, как раз из серии

"Шамуилов Александр" написал:это надо делать скриптом...

в скрипте scr_Access есть функция GiveRightsToRecordOwner(Dataset) -- она раздает полные права доступа ответственному по записи.
и есть функция ProcessGiveRecordRightsToContact(Dataset, OwnerID, CanRead, CanWrite, CanDelete, CanChangeAccess) -- как раз она раздает права доступа нужному контакту.

в Вашем случае, нужно раздать полные права руководителю исполнителя, верно?
т.е. на АфтерПост записи нужно прописать примерно так:

var DirectorID = GetDatasetFieldValueByID('ds_Contact', Dataset('ManagerID'), 'DirectorID'); //берем ИД руководителя. тут ManagerID -- поле исполнителя в текущей записи,  DirectorID -- поле с ИД руководителя для этого исполнителя (либо же руководитель -- это ответсвенный, тогда нужно написать OwnerID)
ProcessGiveRecordRightsToContact(Dataset, DirectorID , 1, 1, 1, 1);

тут Dataset -- это датасет текущей записи

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

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

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

Возник такой баг: Создал свой грид для своего справочника, но при выборе этого справочника грид почему-то не активен:

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

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

Нравится

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

попробуйте раздать права на данный грид, обычно помогает :)

По какой-то причине не подтягиваются настройки колонок грида. Т.е. в странице грида выбрана колонка для отображения "Название", в детали справочника "Колонки" тоже выбрана колонка название, но в гриде она не отображается. При попытке настроить колонки (правой кнопкой в гриде -> настроить колонки) не появляется окно с выбором колонок.

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

Показать все комментарии
Технические вопросы
Разработка

Вопрос такой возник: terrasoft умеет показывать записи по категориям?
Например, как Lotus Notes на скриншоте?
Category

Если нет, то как реализовывать такой функционал по другому? Копать в сторону динамических групп и фильтров?

Нравится

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

Здравствуйте, Александр!
То, что показано на скриншоте -- в Террасофте называется древовидным реестром. Т.е. есть 2 типа отображения записей: простой (грид, реестр, в админке такие окна обычно заканчиваются на ...GridArea) и древовидный (дерево, ...TreeArea). яркий пример -- раздел Проекты. или те же группы в любом разделе.
На комюнити есть много тем на эту тему. Здесь -- исходя из Вашего вопроса (+в комментариях полезные ссылки есть). Ну, и можно попробовать поиск по ключевому слову.

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

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

где то так я и думал....
а где нибудь описано как создать такие группы сразу для всех пользователей/группы пользователей и запретить удалять/редактировать?

Принцип создания описан в документации
Определить права доступа к группам можно двумя способами:
- Используя права доступа по умолчанию (Инструменты - Администрирование - Права доступа по умолчанию) -согласно которым права будут раздаваться автоматически на создаваемые группы.
- Используя команду контекстного меню дерева групп [Доступ] - позволяет осуществлять ручное управление правами доступа на группы.

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

как построить бизнес-процесс постановки задачи другому сотруднику отслеживанием статуса изменения задачи? процесс выглядит так:
- менеджеру ставится задача создать документ, указывается дата и срок исполнения
- менеджер должен принять задачу, изменив статус на Принято, постановщику должно прийти уведомление об изменении статуса задачи
- после исполнения задачи менеджер меняет статус на выполнено, постановщику задачи приходит уведомление, у задачи меняется статус на Условно завершена
- если постановщик принимает задачу, статус меняется на завершена и увеомление приходит менеджеру

Нравится

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

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

Реализовать такую функциональность можно при помощи элемента БП Промежуточный сигнал:

signal_0

Пример настройки сигнала для Вашего случая:

signalsettings

Показать все комментарии
Технические вопросы
Разработка

Пользователь не видит записи в разделе...
Права на группу, на саму запись, по умолчанию проставлены...
вообще ничего не понимаю, в чем причина может быть?

UPD: если сделать пользователя администратором, то начинает видеть записи....но и то не сразу, а после запуска проходит от секунд 30 до минуты и только потом в разделе появляются записи.....
в общем странно все как то

Нравится

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

Здравствуйте!
То, что пользователь видит записи, будучи администратором - это вполне нормально, на то он и админ:)
Что касается того, что пользователь не видит записи, подскажите, есть ли данный пользователь (группа куда входит пользователь) на детали "доступ" входит ли группа Все пользователи?

если есть скрин-шоты, прошу предоставить

Да, есть и группа пользователя и группа все пользователи. Права по умолчанию настроены.

Что то это тестирование начинает меня напрягать......весьма странные затыки какие то возникают

:-)
гм......смех в том что отсутствовала корневая группа на панели слева.....добавил и все случилось.....
как так произошло не пойму......

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

Уважаемые товарищи. Необходимо убрать обязательность заполнения полей Контакт (Контрагент) из карточки раздела Обращение. Смотрел в объекте и в карточке - данные поля являются необязательными для заполнения. Подскажите куда копать?

Нравится

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

Добрый день.

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

1

Или же свойство выставляется где-то программно.

Смотрел в объекте и в карточке - данные поля являются необязательными для заполнения. Но при сохранении Обращения система все равно требует заполнить одно из них

Денис, в дизайнере карточки поле отображается красным?
Если да - попробуйте установить галочку "Обязательное", а после снять. Красное выделение должно исчезнуть. Нажмите кнопку "показать", чтобы убедиться, что поле не обязательное и опубликуйтесь.

PS: как вариант в объекте для этого поля можно задать значение по умолчанию (в объекте).

"Олейник Дмитрий" написал:Денис, в дизайнере карточки поле отображается красным?

Нет

"Словачевский Денис" написал:Но при сохранении Обращения система все равно требует заполнить одно из них

В БП карточки на событии после PageLoadComplete закомментируйте строку вроде:

Terrasoft.Configuration.MultiLookupHelpers.IsRequiredRegisterScript(Page.AccountEdit, Page.ContactEdit,
	Page.BaseMessagePanel, Page.DataSource, Page.AddScript);
Показать все комментарии

Есть поле, в нем URL страницы, хочется его из колонки справочника по клику с открывать...хотя бы правому из меню к примеру.....

Нравится

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

есть такая функция function DoLookupColumnClick в scr_WindowUtils - она отвечает за действия при клике по полям грида
параметр Shift - это код клавиш управления:
Shift = 1
Alt = 2
Alt+Shift = 3
Ctrl = 4
Ctrl+Shift = 5
может есть еще какие-то не проверял

соответственно
на нужном гриде измените тип колонки с ссылками на dgcltLookup:

после этого измените функцию function DoLookupColumnClick в scr_WindowUtils
на удобную для вас комбинацию клавиш перед if (!Assigned(LookupDataset)) добавьте:

if (Shift = 3) {
		var Web = 'http://' + DataField.ValAsStr;
		System.OpenFile(Web, 1);
	}

Александр, в 3.4 это уже реализовано. Только интересующий Вас функционал создается динамически.
Если Вам необходимо повторить подобное, для любого пользовательского поля нужно будет на невизуальных создать элементы меню, привязать к ним иконку 7B77F07B из il_CommunicationActionSmartTag, и задать обработчик.
В дальнейшей реализации Вам помогут ссылки: http://www.community.terrasoft.ru/forum/topic/7862 и http://www.community.terrasoft.ru/forum/topic/8383.

Павел, как я понял речь о гриде

Да, верно. Дмитрий, Вы правы :smile:

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

Для поля в карточке - можно и мой вариант использовать.

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

спасибо большое, попробую завтра, сегодня уже не до того

Спасибо, все получилось.

P.S. Только все таки не
if (Shift = 3) {
а
if (Shift == 3) {

:-)

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

В созданном мной разделе в настройках полей справочника
(файл-справочники-изменить-изменить структуру-настройка полей) изменил параметры одного поля (одну галку добавил)

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

как боротся

Нравится

1 комментарий
Технические вопросы
5.x

Создала объект Address. Чтобы зарегистрировать для него рабочее место, создаю так же объекты типа Base Folder и Base Item in Folder.
При публикации Base Item in Folder получаю ошибку :

Что не так?
Использую англоязычную демо-версию BPMonline Realty.

В документации нашла, что нужно указать еще кое-какие установки :

Но у меня это выглядит по другому :

Нравится

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

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

Сначала попробуйте создайть и опубликовать изначально объект AddressFolder, а затем AddressInFolder.

> Сначала попробуйте создайть и опубликовать изначально объект AddressFolder, а затем AddressInFolder.
Именно в такой последовательности я и делала. Еще хочу добавить, что такая проблема возникла именно в выше указанной версии. До того я работала с простой русскоязычной версией BPMonline и там таких проблем не возникало.

Здравствуйте, Наталия.

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

О, прошу прощения, я почему-то была уверена, что указала версию.
Это 5.4.0.917(745)_Realty_DemoInternal_MSSQL_ENU

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

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

Показать все комментарии
RemoteApp
Технические вопросы
Разработка

Добрый день

Что есть:
Windows 2008R2 с развернутой службой удаленных рабочих столов.
На него установлена TSCRM и опубликована в RemoteApp
Создан .rdp файл. Он запускается на Linux.
Все работает шустро, и даже печатает на сетевой принтер.

Вот только с экспортом проблема -- Ошибка экспорта: недопустимая строка с указанием класса.

Может, я чего-то не установил в 2008? Может, без Офиса не будет экспортировать?

Нравится

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

Добрый день.

Стандартная кнопка "дискеты" в правом нижнем углу? Все верно - она эксопртирует реестр таким как Вы его видите в ексель.

"Арсений Белецкий" написал:

таким как Вы его видите в ексель.


А если Эксель не установлен?

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

Возникнет ошибка.
Кнопку можно скрыть в системных настройках - GridCanExport.

А мне нужно, чтобы кнопка работала как положено.
Я так понимаю, все-таки придется ставить Офис.

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

Да, нужен ексель.
В блокнот табличные данные выгрузить нельзя...

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