Внутренний документ - структура хранения в 1С:Документооборот

Как устроен внутренний документ в 1С:Документооборот с точки зрения хранения данных?

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



При открытии карточки внутреннего документа в 1С:Документооборот мы на форме видим множество реквизитов, которые характеризуют внутренний документ. Но эти реквизиты далеко не всегда являются реквизитами справочника ВнутренниеДокументы.

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

На схеме указаны основные реквизиты справочника Внутренние документы и связи с папками и табличными частями.

 
Справочники: Папки внутренних документов
 
Стандартные реквизиты
 
Наименование
 
Код
 
Родитель
 
Реквизиты
 
Описание
 
Ответственный
 
ДатаСоздания
 
 
 
Справочники: Внутренние документы
 
Стандартные реквизиты
 
Наименование
 
Код
 
Реквизиты
 
Адресат
 
Бессрочный
 
Валюта
 
ВидДокумента
 
ВопросДеятельности
 
ГрифДоступа
 
ДатаНачалаДействия
 
ДатаОкончанияДействия
 
ДатаРегистрации
 
ДатаСоздания
 
Дело
 
Заголовок
 
ЗапретитьАвтоматическоеДобавлениеУчастниковРабочейГруппы
 
Зарегистрировал
 
КоличествоЛистов
 
КоличествоПриложений
 
КоличествоЭкземпляров
 
Комментарий
 
КонтактноеЛицо
 
УдалитьКорреспондентыДляСписков
 
Корреспондент
 
ЛистовВПриложениях
 
НеДействует
 
НоменклатураДел
 
Организация
 
Ответственный
 
Папка
 
Подготовил
 
ПодписалОтКорреспондента
 
ПодписанЭП
 
Подразделение
 
Проект
 
ПорядокПродления
 
РегистрационныйНомер
 
Содержание
 
СрокИсполнения
 
УдалитьЗапретитьАвтоматическоеДобавлениеУчастниковРабочейГруппы
 
Сумма
 
УдалитьШаблон
 
Утвердил
 
ЧисловойНомер
 
Шаблон
 
 
 
Табличная часть: Доп-ые Реквизиты
 
Ссылка
 
Свойство
 
Значение
 
ТекстоваяСтрока
 
 
 
Табличная часть: Корреспонд-ты
 
Ссылка
 
Корреспондент
 
КонтактноеЛицо
 
ПодписалОтКорреспондента
 
 
 
Табличная часть: Субъекты Персональных Данных
 
Ссылка
 
ФизическоеЛицо
 
 
 
Регистры сведений: Дополнительные сведения
 
Измерения
 
Объект
 
Свойство
 
Ресурсы
 
Значение
 
Обращаем внимание, что папки внутренних документов - это отдельный справочник, а не иерархия внутри справочника внутренние документы. В табличной части внутреннего документа хранятся корреспонденты. Если корреспондент один, то в карточке внутреннего документа показывается один реквизит.
Список физических лиц, чьи персональные данные хранятся в карточке документа, показываются на закладке Дополнительно, а хранятся в табличной части субъекты персональных данных.

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

Дополнительные сведения по внутреннему документу хранятся в отдельном регистре.

Резолюции и визы согласования

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

 
Справочники: Внутренние документы
 
 
 
Справочники: Визы согласования
 
Стандартные реквизиты
 
Наименование
 
Код
 
Реквизиты
 
Автор
 
ДатаИсполнения
 
ДатаПомещенияВИсторию
 
Документ
 
ДополнительныйОбъектАдресации
 
Исполнитель
 
Источник
 
Комментарий
 
ОсновнойОбъектАдресации
 
Подписана
 
ПоместилВИсторию
 
ПомещенаВИсторию
 
Порядок
 
РезультатСогласования
 
РольИсполнителя
 
Удалена
 
УстановилРезультат
 
ИсполнительПолный
 
РольИсполнителяПолная
 
 
 
Справочники: Резолюции
 
Стандартные реквизиты
 
Наименование
 
Код
 
Реквизиты
 
АвторРезолюции
 
ВнесРезолюцию
 
ДатаРезолюции
 
Документ
 
ДополнительныйОбъектАдресацииАвтора
 
Источник
 
ОсновнойОбъектАдресацииАвтора
 
Подписана
 
ТекстРезолюции
 
АвторРезолюцииПолный
 
В карточке документа резолюции и визы можно увидеть на соответствующих закладках.

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

На схеме указана структура хранения в 1С:Документооборот категорий, рабочей группы внутреннего документа, электронных подписей к документу, связанных документов и этапов обработки документа.
 
Справочники: Внутренние документы
 
 
 
Регистры сведений: Категории объектов
 
Измерения
 
ОбъектДанных
 
КатегорияДанных
 
Ресурсы
 
Автор
 
ДатаКатегоризации
 
НазначениеКатегорииПроверено
 
 
 
Регистры сведений: Рабочие группы
 
Измерения
 
Объект
 
Участник
 
ОсновнойОбъектАдресации
 
ДополнительныйОбъектАдресации
 
УчастникПолный
 
 
 
Регистры сведений: Связи документов
 
Измерения
 
Документ
 
ТипСвязи
 
СвязанныйДокумент
 
СвязаннаяСтрока
 
УдалитьСвязанныйДокумент
 
Ресурсы
 
СвязанныйДокументОтправлен
 
Реквизиты
 
Комментарий
 
Установил
 
ДатаУстановки
 
Порядок
 
 
 
Регистры сведений: Электронные подписи
 
Измерения
 
УникальныйИдентификатор
 
ДатаПодписи
 
Объект
 
УстановившийПодпись
 
Ресурсы
 
Версия
 
ДатаПроверкиПодписи
 
ИмяФайлаПодписи
 
Комментарий
 
КомуВыданСертификат
 
Отпечаток
 
Подпись
 
ПодписьВерна
 
Сертификат
 
СертификатДействителен
 
ТекстОшибкиПроверкиПодписи
 
ТекстОшибкиПроверкиСертификата
 
 
 
Регистры сведений: Этапы обработки документов
 
Измерения
 
Документ
 
Этап
 
Ресурсы
 
Срок
 
Пройден
 
ДатаПрохождения
 
Установил
 
Реквизиты
 
Комментарий
 

В карточке документа эти данные можно найти на соответствующих закладках.


30 комментариев:

  1. Денис Ефимов7 апреля 2017 г., 12:37

    Есть желание во внутренний документ выводить дополнительные реквизиты тех объектов, что уже выведены в реквизиты Внутреннего документа.
    Например, бухгалтер при согласовании договора, хочет увидеть какой то доп реквизит Подразделения, например, принадлежность к ЦФО.
    Когда я нажимаю Еще/Изменить форму, я вижу только основные реквизиты справочника Подразделения и могу их добавить, но не могу увидеть и добавить Дополнительные реквизиты.
    может, есть какой то способ, выбрав Подразделение увидеть и нужные дополнительные реквизиты?

    ОтветитьУдалить
    Ответы
    1. Можно добавить на форму только основные реквизиты подразделения.

      Удалить
  2. Пытаюсь создать внутренний документ:
    Док=Справочники.ВнутренниеДокументы.СоздатьЭлемент();
    док.ВидДокумента=Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Приказ");
    Док.Наименование = "Импортированный приказ";
    Наименование не заполняется

    ОтветитьУдалить
    Ответы
    1. Попробуйте вместо Док.Наименование написать Док.Заголовок.
      Наименование внутреннего документа формируется само автоматически из Заголовка, регномера и даты регистрации.

      Удалить
    2. Спасибо! Получилось...
      Теперь проблема: куда добавлять файл, или ссылку на файл
      В структуре внутреннего документа нет списка файлов?

      Удалить
    3. Используйте справочники Файлы и ВерсииФайлов.
      Реквизит ВладелейФайла - это ссылка на ВнутреннийДокумент.

      Удалить
    4. Спасибо!Помогло.
      И наверное последний и самый сложный вопрос, как добавить в документ задачи на исполнение/ознакомление в состоянии "Исполнена"?

      Удалить
    5. Отправить документ на исполнение можно в любом состоянии. Можно это сделать как интерактивно, так и программно. Вот пример скрипта:

      БизнесПроцесс = БизнесПроцессы.Исполнение.СоздатьБизнесПроцесс();
      Строка = БизнесПроцесс.Исполнители.Добавить();
      Строка.Исполнитель = ;
      БизнесПроцесс.Автор = ;
      БизнесПроцесс.Наименование = ;
      БизнесПроцесс.Дата = ТекущаяДата();
      Мультипредметность.ДобавитьПредмет(БизнесПроцесс, );
      БизнесПроцесс.Записать();
      БизнесПроцесс.Старт();

      Удалить
    6. А как связать документ с созданным БП?

      Удалить
    7. сделать документ предметом процесса:
      Мультипредметность.ДобавитьПредмет(БизнесПроцесс, );

      Удалить
  3. Добрый день! Столкнулся с проблемой привязки пользователя к подразделению:
    НовыйСотрудник.Подразделение= Справочники.СтруктураПредприятия.НайтиПоКоду(...) не работает. Подскажите как привязать пользователя к структуре предприятия

    ОтветитьУдалить
    Ответы
    1. Подразделение и должность - это не реквизиты справочника Пользователи. Эти данные хранятся в регистре сведений Сведения о пользователях документооборот. Соответственно, чтобы привязать пользователя к структуре предприятия, нужно создать в этом регистре сведений новую запись.

      Удалить
  4. Добрый день!
    Обработка закончена, осталось подключить ее к 1С, для этого написал функцию
    СведенияОВнешнейОбработке() попытался добавит ее в разделе администрирование, но она нигде не появляется. Подскажите как подключить внешнюю обработку к 1С-Докуменнтооборот?

    ОтветитьУдалить
    Ответы
    1. Указали раздел, где она должна показываться и кто из пользователей должен ей пользоваться?

      Удалить
    2. В функции надо прописать следующие параметры:

      Функция СведенияОВнешнейОбработке() Экспорт

      ОбъектыНазначенияФормы = Новый Массив;
      ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы);
      ПараметрыРегистрации.Версия = "1.0";
      ТаблицаКоманд = ПолучитьТаблицуКоманд();
      ДобавитьКоманду(ТаблицаКоманд, "Сформировать документы", "СформироватьДокументы", "ВызовКлиентскогоМетода", Истина);
      ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

      Возврат ПараметрыРегистрации;

      КонецФункции

      Удалить
  5. При добавлении обработки данные поля недоступны

    ОтветитьУдалить
  6. Процедура или функция с указанным именем не определена (ПолучитьПараметрыРегистрации)

    ОтветитьУдалить
    Ответы
    1. Пропишите еще вот эту функцию:

      Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = "", Информация = "", Версия = "")

      Если ТипЗнч(ОбъектыНазначенияФормы) = Тип("Строка") Тогда
      ОбъектНазначенияФормы = ОбъектыНазначенияФормы;
      ОбъектыНазначенияФормы = Новый Массив;
      ОбъектыНазначенияФормы.Добавить(ОбъектНазначенияФормы);
      КонецЕсли;
      ПараметрыРегистрации = Новый Структура;
      ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
      ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
      ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы);
      Если Не ЗначениеЗаполнено(НаименованиеОбработки) Тогда
      НаименованиеОбработки = ЭтотОбъект.Метаданные().Представление();
      КонецЕсли;
      ПараметрыРегистрации.Вставить("Наименование", НаименованиеОбработки);
      Если Не ЗначениеЗаполнено(Информация) Тогда
      Информация = ЭтотОбъект.Метаданные().Комментарий;
      КонецЕсли;
      ПараметрыРегистрации.Вставить("Информация", Информация);
      ПараметрыРегистрации.Вставить("Версия", "1.0");

      Возврат ПараметрыРегистрации;

      КонецФункции

      Удалить
    2. Функция ПолучитьТаблицуКоманд()

      Команды = Новый ТаблицаЗначений;
      Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
      Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
      Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
      Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
      Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

      Возврат Команды;

      КонецФункции

      Удалить
    3. Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

      НоваяКоманда = ТаблицаКоманд.Добавить();
      НоваяКоманда.Представление = Представление;
      НоваяКоманда.Идентификатор = Идентификатор;
      НоваяКоманда.Использование = Использование;
      НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
      НоваяКоманда.Модификатор = Модификатор;

      КонецПроцедуры

      Удалить
  7. Добрый день!
    Владимир возник вопрос разделения процесса согласования документов на параллельное и последовательное в зависимости от согласующей визы. Т.е. при наличии в списке согласующих лиц определенного сотрудника процесс должен разделять потоки согласования на параллельное и последовательное.Как настроить процесс понимание есть, но как разделить общий список согласующих виз нет.
    По возможности подскажите решение

    ОтветитьУдалить
    Ответы
    1. Добрый день.
      В 1с документообороте для Вашей задачи лучше использовать шаблон комплексного процесса в схеме. После первого согласования ставите условие и после условия делаете два согласования (одно параллельное, а другое последовательное).

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

      Удалить
    3. В случае использования автоподстановки "Все согласовавшие документ" разделить никак не получится. В Вашем случае указывать согласовантов можно через доп.реквизиты или придумать другое хранилище. И написать новую автоподстановку.

      Удалить
  8. Владимир, добрый день!
    Во внутреннем документе используются доп. реквизиты. Подскажите, пожалуйста, как сделать так, чтобы информация по доп. реквизитам переносилась в Описание карточки процесса при его запуске?
    Пользователям не всегда удобно каждый раз заходить карточку внутреннего документа для исполнения задачи.

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

      Удалить
  9. Добрый день!
    Владимир, подскажите: При включенном версонировании файлов возможно ли редактирование подписанных ЭП файлов с созданием новой неподписанной версии?

    ОтветитьУдалить
    Ответы
    1. Добрый день. Если файл подписан ЭП, он не доступен для редактирования.

      Удалить