Выделение документов, полностью прошедших обработку, в 1С:Документооборот 3.0
28.07.25
Функциональные - Документооборот и делопроизводство (СЭД)
Публикую решения на небольшие, но конкретные задачи. На которые лично я не нашел цельного ответа. При этом не требуется снимать конфигурацию с поддержки.
Задача:
В списке документов выделить документы, которые полностью прошли обработку.
Основная идея - создать дополнительный реквизит и заполнять его по бизнес событию.
1. Для документов создаем дополнительный реквизит ОбработкаЗавершена, на форму его не выводим, для этого задаем заведомо ложное условие видимости.
2. Создаем дополнительный обработчик бизнес события с кодом
Задача = Событие.Источник.Источник;
Если ЗначениеЗаполнено(Задача) Тогда
Документ = ОбзорЗадач.ПолучитьОсновнойПредметДокумент(Задача.Предметы);
Если ЗначениеЗаполнено(Документ) Тогда
ОбработкаОбъекта = Справочники.ОбработкиОбъектов.ОбработкаОбъекта(Документ);
Если ЗначениеЗаполнено(ОбработкаОбъекта)
И ОбработкаОбъекта.Состояние = Перечисления.СостоянияОбработкиОбъектов.Завершена Тогда
ДокументОбъект = Документ.ПолучитьОбъект();
БылиИзменения = Ложь;
ОбработкаЗавершена = Истина;
Если DIS_ОбщиеФункции.УстановитьЗначениеДополнительногоРеквизита(ДокументОбъект, "ОбработкаЗавершена", ОбработкаЗавершена) Тогда
ДокументОбъект.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Привязываем этот обработчик к бизнес событию Задачи: выполнение,
Собственно, все, далее в списке документов через "изменить форму" / "список" / "ссылка" / "добавить" будет доступен наш дополнительный реквизит.
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.