1с документооборот создание внутреннего документа программно

Обновлено: 04.07.2024

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

Во внешней системе ведется цепочка согласования «Заявки на Страхование» перед оформлением договора, результатом работы является либо созданный договор либо отказ в создании договора.

Я задачу дефрагментировал на части:

1) Настройка демо базы ДО КОРП. (в базе должен быть нужный нам вид внутреннего документа, работающий шаблон комплексного БП, роли исполнителей которые нужны для работы с документом )

К статье приложены

1) архив демо базы с настройкой.

2) обработка для программного управления БП с реализованным интерактивным отчетом отражающим текущее место нашей Заявки на Страхование в схеме БП (в пищевой цепочке).

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

В процессе реализации стало очевидно, что логику переходов между точками можно строить по-разному.

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

Заложена ли возможность директивной маршрутизации на произвольную точку схемы БП в типовую модель Документооборота - я пока не разобрался (тот случай, когда новую задачу по БП или подчиненный БП создаешь сам и желательно на произвольную точку БП)

Вопросы и комментарии категорически приветствуются.

Тестировалось на Документооборот 8 КОРП, редакция 2.1 (2.1.12.2) и 1С:Предприятие 8.3 (8.3.12.1529)

Коллеги, при записи процесса ошибка и процесс не стартует, в чем ошибки?
НовыйУведомлениеОбОтпуске = Справочники.ВнутренниеДокументы.СоздатьЭлемент();
НовыйУведомлениеОбОтпуске.ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Уведомление об отпуске");

ШаблонУведомленияОбОтпуске = Справочники.ШаблоныВнутреннихДокументов.НайтиПоНаименованию("Уведомление об отпуске");
НовыйУведомлениеОбОтпуске.Шаблон = ШаблонУведомленияОбОтпуске;
НовыйУведомлениеОбОтпуске.Ответственный = СотрудникКадров;
//НовыйУведомлениеОбОтпуске.Подготовил = СотрудникКадров;
НовыйУведомлениеОбОтпуске.Утвердил = СотрудникКадров;
НовыйУведомлениеОбОтпуске.Подразделение = ПодразделениеКадры;

// зарегистрируем документ
//Нумератор = Нумерация.ПолучитьНумераторДокумента(НовыйУведомлениеОбОтпуске);

НовыйУведомлениеОбОтпуске.ДатаРегистрации = ТекущаяДата();
НовыйУведомлениеОбОтпуске.ДатаСоздания = ТекущаяДата();

// даты отпуска
НовыйУведомлениеОбОтпуске.барк_ДатаНачалаОтпуска = ВыборкаОтсутствия.ДатаНачала;
НовыйУведомлениеОбОтпуске.барк_ДатаОкончанияОтпуска = ВыборкаОтсутствия.ДатаОкончания;

// Запустим БП
БПНовыйУведомлениеОбОтпуске = БизнесПроцессы.КомплексныйПроцесс.СоздатьБизнесПроцесс();
БПНовыйУведомлениеОбОтпуске.Автор = СотрудникКадров;
БПНовыйУведомлениеОбОтпуске.Важность = Перечисления.ВариантыВажностиЗадачи.Обычная;

ШаблонКомплексный = Справочники.ШаблоныКомплексныхБизнесПроцессов.НайтиПоНаименованию("Уведомление об отпуске");

БПНовыйУведомлениеОбОтпуске.Шаблон = ШаблонКомплексный;
БПНовыйУведомлениеОбОтпуске.ДатаНачала = ТекущаяДата();
БПНовыйУведомлениеОбОтпуске.Дата = ТекущаяДатаСеанса();
БПНовыйУведомлениеОбОтпуске.Наименование = "Обработка документа "+(НовыйУведомлениеОбОтпуске.ссылка)+" ТЕСТ";
БПНовыйУведомлениеОбОтпуске.Описание = "Обработка документа "+(НовыйУведомлениеОбОтпуске.ссылка)+" ТЕСТ";
БПНовыйУведомлениеОбОтпуске.Состояние = Перечисления.СостоянияБизнесПроцессов.Активен;
БПНовыйУведомлениеОбОтпуске.ВариантМаршрутизации = ПредопределенноеЗначение("Перечисление.ВариантыМаршрутизацииЗадач.Последовательно");
БПНовыйУведомлениеОбОтпуске.СрокИсполненияПроцесса = ТекущаяДата() + 60*60*24;

// тч Предмет
НоваяСтрПредметы = БПНовыйУведомлениеОбОтпуске.Предметы.Добавить();
НоваяСтрПредметы.ИмяПредмета = Справочники.ИменаПредметов.НайтиПоНаименованию("Уведомление об отпуске");
НоваяСтрПредметы.Предмет = НовыйУведомлениеОбОтпуске.Ссылка;

// тч Этапы
НоваяСтрЭтапы = БПНовыйУведомлениеОбОтпуске.Этапы.Добавить();
НоваяСтрЭтапы.БезусловныйПереходКСледующемуБылВыполнен = Ложь;
НоваяСтрЭтапы.ЗадачаВыполнена = Ложь;

НоваяСтрЭтапы.ЗадачаВыполнена = Ложь;
НоваяСтрЭтапы.ЗапущенныйБизнесПроцесс = БПНовыйУведомлениеОбОтпуске.Ссылка;
НоваяСтрЭтапы.ИсполнителиЭтапаСтрокой = "Уведомление об отпуске.Автор документа, Отдел кадров";
НоваяСтрЭтапы.ПорядокСортировки = 1;
НоваяСтрЭтапы.ПредшественникиВариантИспользования = "ВсеПредшественники";
НоваяСтрЭтапы.ПредшественникиЭтапаСтрокой = "При старте процесса";
НоваяСтрЭтапы.ШаблонБизнесПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоКоду("00-00000000000000000000000000000000000000000013322");

НоваяСтрЭтапы = БПНовыйУведомлениеОбОтпуске.Этапы.Добавить();
НоваяСтрЭтапы.БезусловныйПереходКСледующемуБылВыполнен = Ложь;
НоваяСтрЭтапы.ЗадачаВыполнена = Ложь;
НоваяСтрЭтапы.ЗапущенныйБизнесПроцесс = БПНовыйУведомлениеОбОтпуске.Ссылка;
НоваяСтрЭтапы.ИсполнителиЭтапаСтрокой = "Уведомление об отпуске.Непосредственный руководитель автора документа, Уведомление об отпуске.Руководитель департамента";
НоваяСтрЭтапы.ПорядокСортировки = 2;
НоваяСтрЭтапы.ПредшественникиВариантИспользования = "ВсеПредшественники";
НоваяСтрЭтапы.ПредшественникиЭтапаСтрокой = "После завершения 1";
НоваяСтрЭтапы.ШаблонБизнесПроцесса = Справочники.ШаблоныСогласования.НайтиПоКоду("00-00000000000000000000000000000000000000000013208");

Этот документ является дополнением к документации по конфигурациям «Документооборот КОРП», «Документооборот ПРОФ», «Документооборот государственного учреждения» и содержит только описание отличий версии 2.0.6 от версии 2.0.5.

Документы и файлы

Повышение удобства работы с документами

Версии: ПРОФ, КОРП, ДГУ.

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

Выбор отправителя документа

Во входящих и исходящих документах поле Отправитель, в котором раньше через запятую выводились корреспондент и контактное лицо, разделено на два отдельных поля:

  • Отправитель – для корреспондента,
  • Подписал – для контактного лица.

Из каждого поля теперь можно открыть соответствующую карточку: корреспондента или контактного лица.

Оба поля содержат историю выбора со стандартными кнопками Показать все и Создать (для создания нового корреспондента / контактного лица).


Рис. 1. Реквизиты внутреннего документа

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

Если в поле Отправитель введен ИНН корреспондента, который не найден, его можно создать прямо из поля ввода. При нажатии кнопки Создать карточка корреспондента будет автоматически заполнена данными по уже введенному ИНН.

Для автоматического заполнения по ИНН должна быть подключена и настроена Интернет-поддержка пользователей.

Поле «Предмет переписки»

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

Напомним, поле Предмет переписки автоматически заполняется в следующих случаях:

  • при создании исходящего документа на основании внутреннего;
  • при создании входящего документа на основании исходящего, если у исходящего заполнен предмет переписки;
  • при создании исходящего документа на основании входящего, если у входящего заполнен предмет переписки;
  • при добавлении связи с типом Содержит переписку по между документами вручную.

Добавление файлов

Теперь в карточке создания нового документа файлы можно прикрепить прямо на закладке Реквизиты. Для этого предусмотрена кнопка Добавить (Загрузить с диска, Сканировать – для входящих документов).


Рис. 2. Кнопка добавления файлов при создании нового внутреннего документа

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

Отправка документа по почте

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

Возврат документа в «Журнале передачи»

Упрощена процедура передачи документов через Журнал передачи.

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


Рис. 3. Признак возврата документа в записи журнала передачи

Закладка «Переадресация»

Закладка Переадресация во входящем документе переименована в Переадресован.

Если на предприятии не используется переадресация, теперь отображение закладки можно отключить. Для этого предусмотрена новая настройка Переадресация во входящих документах (Настройка и администрирование – Настройка программы – Делопроизводство).

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

В новой версии программы по кнопке Зарегистрировать в карточке задачи проводится автоматическая регистрация всех приложенных к задаче документов, а задача отмечается как выполненная.

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

Права на регистрацию внутренних документов

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

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

  1. Создать новую группу доступа с профилем Делопроизводители.
  2. Включить в нее всех пользователей.
  3. Прописать следующие ограничения:
    • Виды внутренние документов – все разрешены, либо список разрешенных видов.
    • Виды входящих документов – все запрещены.
    • Виды исходящих документов – все запрещены.

Совместная работа

Раздельное исполнение пунктов протокола мероприятий

Версии: КОРП, ДГУ.

В новой версии программы появилась возможность отправлять на исполнение отдельные пункты протокола мероприятия.


Рис. 4. Состояние исполнения по отдельным пунктам протокола мероприятия

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

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

Как настроить

Возможность настройки исполнения отдельно по каждому пункту протокола включается флажком Использовать раздельное исполнение пунктов протокола мероприятия (Настройка и администрирование – Настройка программы – Делопроизводство).


Рис. 5. Настройка раздельного исполнения пунктов протокола мероприятия

Если флажок установлен, в карточке каждого пункта протокола мероприятия появляется закладка Исполнение. На закладке можно:

  • настроить исполнение конкретного пункта протокола: указать срок, исполнителей, контролера, проверяющего, вариант маршрутизации процесса;
  • ознакомиться с состоянием исполнения.


Рис. 6. Закладка «Исполнение» в карточке пункта протокола мероприятия

Как использовать

Запустить исполнение по каждому пункту протокола можно с помощью операции Исполнить протокол на закладке Протокол карточки мероприятия.

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

В зависимости от состояния исполнения пунктов протокола, программа предложит запустить процессы по всем или только некоторым пунктам.


Рис. 7. Операция «Исполнить протокол» в карточке мероприятия

Состояние исполнения всех пунктов протокола отображаются в колонке Состояние протокола. Эта информация доступна для всех, но открыть процесс по гиперссылке сможет только автор и исполнители процесса.

При необходимости созданные процессы можно остановить, продолжить или прервать с помощью соответствующих команд группы Исполнение протокола в меню Еще закладки Протокол.


Рис. 8. Группа команд «Исполнение протокола»

Прочие изменения

Прочие изменения

После обновления с версий ниже 2.0.3

После обновления на 2.0 для начального заполнения списка Мои документы необходимо запустить обработку ЗаполнениеСпискаМоиДокументы.

Обратите внимание: при большом количестве документов обновление информационной базы на версию 2.0.6 может занять продолжительное время.

После обновления с версии 2.0.3 и выше описанных в данном разделе действий предпринимать не нужно.

На мой взгляд, это не сложная конфигурация. Здесь работается только со справочниками и регистрами сведений. Дерево метаданных конфигурации содержит около 105 справочников, около 150 регистров сведений, а всего 7 документов и один регистр накопления оборотов для учета рабочего времени пользователей. Любая конфигурация из линейки ERP решений ( УТ 11,, ЗУП 3.0, БП 3., КА 2.0 и т. д) на порядок сложнее.

В этой статье я рассматриваю работу с функционалами подсистем НСИ и Учет времени , Документы и файлы, Настройка и администрирование , ( См рис 1).


Рис 1 Подсистемы конфигурации 1С:Документооборот КОРП. Ред. 2.1

1. Объекты подсистемы ( раздела) НСИ

Из всех объектов раздела Нормативно- справочной информации (НСИ) , показанных на рис 2 интерес представляют по своей функциональности следующие объекты:

2. Объекты раздела Документы и файлы

Объекты раздела этого раздела ( Рис 3), функциональность которых представляют для меня интерес таковы :

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

3. Обработка Установка типовой методики документооборота

Из всех обработок подсистемы Настройка и администрирование интерес представляет обработка Установка типовой методики документооборота. Все остальные остальные являются стандартными из БСП ( Библиотека стандартных подсистем) .

Обработка рекомендуется запускать в пустую базу для ее наполнения. При установке в заполненную базу уже имеющиеся данные будут дополнены новыми. Данная обработка ускоряет процесс настройки базы данных. По данным партнеров фирмы «1С» , в среднем настройка и наполнение информационной базы на внедрении требуют 100 часов работы квалифицированного специалиста . Благодаря запуска этой обработки самостоятельно организовать документооборот предприятия с нуля и тут же приступить к работе.

Описание загружаемых данных в информационную базу при запуске обработки можно посмотреть в документации , например, структура предприятия, справочники попок, ролей и рабочих групп с настроенными правами доступа, 62 шаблонов документов, соответствующим требованиям ГОСТов и т. д

4 . Порядок работы с документами

4.1 Виды документов

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

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

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

4.2. Настройка вида документа

Установка настроек вида документа выполняется на закладке Вид документа – Настройки карточки вида документа. В справочной информации можно прочитать описание общих настроек для всех видов документов на примере видов внутренних документов.


Рис 4 Закладка Настройка формы справочника ( карточка) вида документа

Особое внимание имеет параметр Является договором – настройка означает, что документы этого вида являются договорами и при установке этой настройки автоматически устанавливаются без возможности отключения другие настройки, как показано на рис. 4

4.3. Настройка нумерации документов

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

Для создания и настройки правил формирования нумераторов предусмотрен справочник Нумераторы . Справочник открывается по одноименной команде в меню раздела Нормативно-справочная информация ((см рис 5)


Рис 5 Форма элемента справочника Нумераторы

На закладке Формат номера можно выбрать одно или несколько служебных полей для отображения. Формат регистрационного номера может включать в себя различные служебные поля, отмеченные квадратными скобками, и разделители (например, тире, косая черта). Если разделитель помещен в квадратные скобки, внутри которых указано служебное поле, то он будет добавлен к номеру только в том случае, если будет добавлено служебное поле.

После создания и установки формата нумератора необходимо привязать его к одному или нескольким видам документов. Это можно сделать как в карточке нумератора (на закладке Действует для ( рис 5 ), так и в карточке вида документа на закладке Нумерация ( рис 4) .

Для одного вида документа можно указать независимую нумерацию на закладке независимая нумерация по следующим по разрезам как показано на рис 6


Рис 6 Настройка независимой нумерации

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

4.3.1 Независимая нумерация по связанному документу

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

Для установки нумерации по связанному документу необходимо:

  1. Открыть карточку нумератора на закладке Независимая нумерация .
  2. Выбрать разрез По связанному документу .
  3. В открывшемся окне выбора типа связи указать или создать необходимый тип связи. Например, если нумератор настраивается для вида документа Акта на оказание услуг , который должен иметь нумерацию договора, необходимо выбрать тип связи Относится к договору .

4.4. Настройка шаблонов документов

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

При создании вида документа удобно сразу добавить к нему шаблон документа и настроить автоматическое заполнение файлов. Эти настройки доступны в карточке вида документа на закладке Шаблон документа ( см рис 8)

Накладке Реквизиты документа можно создавать наименование документа по шаблону


Рис 8 Создание шаблона наименования документа

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

Настройка автозаполнения шаблона выполняется в карточке вида документа на закладке Шаблон документа – Файлы по ссылкам Не настроено или Открыть .


Рис 9 Настройка автоматического заполнения файла

При настройке автоматического заполнения шаблонов файлов формата Doc , Docx , Dot , Dotх в открывшейся карточке достаточно отметить нужные поля на закладке Реквизиты , и программа автоматически создаст их в файле.


Рис 10 Выбор реквизитов для автоматического заполнения файла

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


Рис 11 Настройка скриптов для автозаполнения файла

Обратите внимание на некоторые особенности настройки скриптов:

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

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

Для заполнения должности контактного лица получателя:

Для заполнения почтового адреса контрагента-получателя:

Для склонения автозаполняемых ФИО можно обратиться к функции Просклонять.
Функция Просклонять расположена в модуле СклонениеПредставленийОбъектов и для работы использует подключение к внешней библиотеке namedecl.dll.

При этом результат скрипт будет выглядеть следующим образом:


Рис 12 Выражение для склонения ФИО пользователя

4. 5 Настройка учета сторон и учета внутренних документов по контрагентам


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

Вести учет по контрагентам – если настройка включена, то в реквизитах карточки документа можно указать одного или нескольких контрагентов. Для этого в карточке документа этого вида появятся поля Контрагент (обязательное для заполнения), Контактное лицо контрагента , Подписал

Читайте также: