Имя: Пароль:
1C
 
Процесс согласования в Документообороте
0 bUbA
 
03.06.25
09:32
Добрый день.

Документооборот 2.1.
Работа ведется через бесшовную интеграцию. Есть настроенный шаблон согласования документа:
1. При старте процесса создается задача на согласование Сотрудником 1.
2. После согласования, в зависимости от различных условий, создается вторая задача на согласование Сотруднику 2.

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

Вопрос в том, что Сотрудник 1 видит задачу, созданную на Сотрудника 2, а Сотрудник 2 не видит задачу Сотрудника 1, но хочет.

Это можно отрегулировать какими-то настройками прав доступа?
1 Garykom
 
гуру
02.06.25
17:41
Видит в смысле видит в списке задач как задачу себе?
Для этого требуется делегирование
Но оно по умолчанию только все задачи (и процессы) другого пользователя может, целиком
Отдельные задачи (например по предмету-документу) никак на типовой без доработок

А просто в "Процессы и задачи" видеть и иметь права на изменение через права решается да
2 bUbA
 
03.06.25
09:33
(1) Да, именно в "Процессы и задачи". Там просто указан бизнес-процесс, но не видны входящие в него задачи, и, соответственно, не видно, кто согласовал задачу.

Подскажите, через какие именно права доступа это решается?
3 maxab72
 
02.06.25
18:13
Если Документ - внутренний, доступ к нему и к процесам по нему (и к задачам в нем) в 2.1 определяется рабочей группой. Может пользователя 1 включают в рабочую группу? И тогда он видит задачу 2-ому пользователю. Это можно делать в комплексном процессе кодом, например, после первого согласования. А второй еще не включен в группу и чужую задачу не видит.
4 d4rkmesa
 
гуру
02.06.25
21:38
(3) НЯП, в 2.1 задачу (а не документ) видит либо автор, либо тот, кому она предназначена. Ну и дополнительно руководители видят задачи подчиненных, с соотв. правами. Скорее всего, Сотрудник 1 и есть автор, поэтому видит не только свои задачи (либо является его начальником).
(0) В (1) правильно написали, с задачами у ограниченных пользователей все не так просто. Там принцип такой, что нельзя так просто взять и посмотреть задачу другого пользователя.
Но можно, например, сделать печатную форму навроде листа согласования, где прочитать данные с полными правами.
5 Bigbro
 
03.06.25
09:33
Не нужно давать права на задачу кому попало только для того, чтобы увидеть, кто согласовал. Для этого есть история выполнения. Сделайте историю выполнения задач доступной 2 исполнителю, и пусть ее и видит.
А если надо не просто видеть, а запускать какие-то процессы на него же, то в условиях при настройке комплексного процесса можно всегда получить исполнителя предыдущего шага и на него вернуть исполнение, если что-то было по условию выполнено не так.
Разбирайтесь, там богатейшие возможности, ломать доступы — это точно последнее, что вам нужно.
6 Масянька
 
03.06.25
08:16
(5) Полностью поддерживаю!
Да, есть история выполнения, можно сделать лист согласования (печ. форму).
7 bUbA
 
03.06.25
10:28
(4) Скажем так, задачу запускает Сотрудник 0, и первый, кому она попадает (на ком стартует процесс) - это Сотрудник 1 (начальник Сотрудника 0), и этому начальнику видны все дальнейшие согласования документа по всем задачам. Видимо из-за того, что автором каждой последующей задачи является Сотрудник 0?


Просто раньше было так, что Сотрудник 1 и Сотрудник 2 были в комплексном процессе объединены в одном действии, и в согласовании шли по очереди. А сейчас они разделены по разным действиям (которые стартуют или не стартуют в зависимости от разных условий), и видимость у Сотрудника 2 резко уменьшилась.

Тогда буду смотреть в сторону отчетности. Но тут другой вопрос возникает. Т.к. работа ведется не в самом ДО, а в другой конфе через бесшовную интеграцию, то запрос надо делать через XDTO?
8 PLUT
 
03.06.25
11:07
(7)
как-то так

Прокси = ИнтеграцияС1СДокументооборотБазоваяФункциональностьПовтИсп.ПолучитьПрокси();
                                                          
    ОбъектXDTO                     = ИнтеграцияС1СДокументооборотБазоваяФункциональность.СоздатьОбъект(Прокси, "DMблаблабла");
    ОбъектXDTO.туткакоетосвойствообъектаDMблаблабла             = туткакоетозначение;

    Запрос             = ИнтеграцияС1СДокументооборотБазоваяФункциональность.СоздатьОбъект(Прокси, "DMCreateRequest");
    Запрос.object     = ОбъектXDTO;

Результат = Прокси.execute(Запрос);

ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПроверитьВозвратВебСервиса(Прокси, Результат);
    
    ОбъектXDTO         = Результат.object;
9 Bigbro
 
03.06.25
11:29
если через DMService работает, то его и смотреть надо
10 PLUT
 
03.06.25
11:17
каталог шаблонов пофигураций в 1С

там находите шаблон папку с файлами вашего ДО и внутре файлик Описание веб-сервисов.html

например, для бесшовной интригации обычно используют DMService

Веб-сервис поддерживает единственную операцию.

Операция: execute
Возвращаемое значение: DMResponse

там и описание всех классов

ну и : "Примеры использования можно найти в конфигурации "Библиотека интеграции с 1С:Документооборотом" (БИД)"
11 d4rkmesa
 
гуру
03.06.25
11:47
(7) В интегрируемой конфе поищите процедуру ПостроитьДеревоЗадачИзОтветаВебСервиса ,  в каком-то обрезанном виде можно использовать для печатной формы.
12 bUbA
 
03.06.25
13:14
Всем спасибо! Буду пробовать
13 Bigbro
 
03.06.25
14:40
Надо еще логику вашу проверить.
Если действия запускаются параллельно, то они, по идее, независимы. В этом случае сотрудник 2 не должен ничего знать о параллельной ветке действий сотрудника 1, зачем ему это?
А если он должен знать о результате, то логику надо переделать.