Имя: Пароль:
1C
1С v8
Документооборот 8 КОРП 2.0. Список документов на согласовании.
0 BuddyQ
 
20.01.16
11:43
Добрый день!
Пожалуйста, помогите начинающему с составлением запроса.

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

Есть заготовка:

ВЫБРАТЬ
    СогласованиеПредметы.Ссылка КАК БП,
    СогласованиеПредметы.Предмет КАК Документ
ПОМЕСТИТЬ Пр
ИЗ
    БизнесПроцесс.Согласование.Предметы КАК СогласованиеПредметы
ГДЕ
    СогласованиеПредметы.РольПредмета = ЗНАЧЕНИЕ(Перечисление.РолиПредметов.Основной);

ВЫБРАТЬ
    ЗИ.Ссылка,
    ЗИ.СрокИсполнения,
    ЗИ.Исполнитель,
    ЗИ.ДатаИсполнения,
    ЗИ.БизнесПроцесс КАК БизнесПроцесс,
    Пр.Документ,
    ЗИ.СостояниеБизнесПроцесса,
    Пр.БП.РезультатСогласования
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗИ
    ЛЕВОЕ СОЕДИНЕНИЕ Пр КАК Пр ПО ЗИ.БизнесПроцесс = Пр.БП
ГДЕ
    ТИПЗНАЧЕНИЯ(ЗИ.БизнесПроцесс) = ТИП(БизнесПроцесс.Согласование)

Первый вопрос - как добраться до результата согласования именно документа, а не всего бизнес-процесса?
1 t2013
 
20.01.16
14:52
у тебя соединение ВНУТРЕННЕЕ
2 Лефмихалыч
 
20.01.16
14:59
(0) у документов есть отдельный регистр с их состоянием, где укзывается, согласован он, на согласовании или нет.
Это во-первых. Во-вторых, зачем соединение, когда можно сразу из предметов задач это получить? У задачи есть реквизит БинезПроцесс, не него достаточно кастануть
ГДЕ
   Задача.БизнесПроцесс ссылка БизнесПроцесс.Согласование

и вот они - все задачи согласования.
Дальше надо откинуть все выполненные, все помеченные на удаление, все исключенные из процесса и все, у которых СостояниеБизнесПроцесса <> Активен
3 Лефмихалыч
 
20.01.16
15:00
да и кроме того, просроченные задачи можно легко получить типовым отчетом "Справка об исполнительской дисциплине"
4 BuddyQ
 
20.01.16
15:52
(2) спасибо!
Ошибка? Это не ошибка, это системная функция.