Добрый день.

Хочу программно(по кнопке) создать документ по уже созданному виду документа(Согласование проекта).

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

Подскажите, пожалуйста, в том ли я направлении думаю и может у кого-то есть наброски кода или примеры?

```1c
    &НаКлиенте
    Процедура ПриходнаяНакладная(Команда)

    СсылкаНаДокумент = СоздатьНовыйДокумент();
    ОткрытьЗначение(СсылкаНаДокумент);

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

    &НаСервере
    Функция СоздатьНовыйДокумент()

    НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент();
    НовыйДокумент.Номер = "111";
    НовыйДокумент.Дата = ТекущаяДата();
    НовыйДокумент.Записать();

    Возврат НовыйДокумент.Ссылка;

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

Спасибо!
---
Я понимаю, что не каждый, как Вы, рождается с клавиатурой в руках и мышью в заднице, но можно без этих "комментариев", которые не несут в себе смысловой нагрузки?

Или вот вообще ни как не пройти мимо, да? Нужно себя показать, какой Вы умный?

Я, конечно, и написал может непонятно, но если есть желание помочь, можно спросить доп. вопрос. Если же вопрос от пользователя у Вас вызывает моральные страдания, закройте топик и шуруйте далее.

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

Но вот как быть в случае, когда нужно создать не просто документ объект конфы, а документ, который создан на клиенте (ВИД ДОКУМЕНТА), у которого созданы доп реквизиты, так же через клиент(например Заявка на отпуск). Как программно создать и заполнить документ.

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

Вопрос не актуален, я разобрался.
---
Если создаёте объекты программно, нужно не забывать вызывать типовой обработчик заполнения:
https://its.1c.ru/db/v8std/content/451/hdoc
К тому же, заполнение по шаблону нормально работает, если нужно показать пользователю форму нового объекта. Если нужно полностью создать и записать документ программно, придётся написать ещё кучу кода.

(15) Не знаю, как в ДО 3.0, но в ДО 2.1 документ при создании по виду документа заполняется в двух местах - в обработчике ОбработкаЗаполнения объекта и в ПриСозданииНаСервере формы объекта. Если первую часть можно без проблем вызвать самому через ДокументОбъект.Заполнить(ДанныеЗаполнения), то вторую - только копипастить код и только в случае, если нужно показать пользователю форму созданного объекта. Если же форму показывать не нужно, то придётся написать немного кода, касающегося заполнения разных связанных вещей, типа файлов, рабочей группы, обязательных связей и прочего.
---
Этот код создает документ, который добавлен в справочник документы. Но вот как создать так же документ, только вид документа.
---
Я понимаю, что не каждый, как Вы, рождается с клавиатурой в руках и мышью в заднице, но можно без этих "комментариев", которые не несут в себе смысловой нагрузки?

Или вот вообще ни как не пройти мимо, да? Нужно себя показать, какой Вы умный?

Я, конечно, и написал может непонятно, но если есть желание помочь, можно спросить доп. вопрос. Если же вопрос от пользователя у Вас вызывает моральные страдания, закройте топик и шуруйте далее.

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

Но вот как быть в случае, когда нужно создать не просто документ объект конфы, а документ, который создан на клиенте (ВИД ДОКУМЕНТА), у которого созданы доп реквизиты, так же через клиент(например Заявка на отпуск). Как программно создать и заполнить документ.

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

Вопрос не актуален, я разобрался.
---
я разобралсяУмничка!
Очень приятно понимать, что мои комментарии приносят пользу. Спасибо!
---
Не льстите себе, Вы тут не причем. Прошу просто в следующий раз пройти мимо и не "умничать", если Вы разбираетесь в теме лучше других и вопросы новичков у Вас вызывают такие "эмоции".

Лучше бахните пилюлю и смотрите ситкомы.
---
Прошу просто в следующий раз пройти мимоПочему я должен так поступать?
---
А разве питерским можно отказать?
** Меня тут московский таксист на выходных спрашивал на полном серьезе - а ты вот в Питере живешь, ты Путина раньше случайно не знал?
---
Потому-что мне так хочется, можно?
---
Потому-что мне так хочется, можно?Нельзя. Я не хочу.
---
Вам нужно какие нибудь курсы по введению в специальность программиста 1С.
А так то да, думаете в правильном направлении.
---
Возможно поторопился описать проблему.

В ДО есть ВИДЫ ДОКУМЕНТОВ, которые создаются на клиенте(документы предприятия). Не в конфиге, как остальные документы.
Предоставленный мною код, создает именно документ объекта конфигурации.

Моя задача - по кнопке, создать документ с "шаблоном" вида документа.

Надеюсь понятно)
---
какой ДО 3.0 или 2.1?
---
3.0
---
Не понятно, что вы хотите, но на основании документа можно создать другой документ с помощью внешней обработки: Создание связанных объектов
---
Да, троллинг наше все. Понимаю что вопрос решен, но все равно любопытно что за задача у вас.

Я бы ответил так:

```1c
    ВидДок = "ПоступлениеТоваров";
    ДокументПоступлениеТоваров = Документы[ВидДок].СоздатьДокумент();
```

Но у вас, видимо, другой вопрос. Это какая-то специфика конфигурации Документооборот? Возможность создавать свои собственные документы по некоему шаблону?
---
Я понимаю, просто есть ситуации, когда это уместно) Хочется поскорее разобраться в вопросе, видишь ответ на твой вопрос на почте, открываешь, а там (2) =) Видимо у человека много свободного времени, я завидую ему просто в тайне)

В ДО есть "Виды документов", где можно создать определенный вид документа и настроить в клиенте.(см. фото)

Допустим я создал некий вид документа "Документ для согласования проекта".

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

Понимаю, что можно пойти 2-мя способами:

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

```1c
    ДокументОбъект = Справочники.ДокументыПредприятия.СоздатьЭлемент();

    ДокументОбъект.Заголовок = Заголовок;
    ДокументОбъект.Папка = "Другое";
    ДокументОбъект.ВидДокумента = "Согласование проекта кода P";

    ДокументОбъект.ДатаСоздания = ТекущаяДатаСеанса();

    ДокументОбъект.Записать();

    Возврат ДокументОбъект.Ссылка;
```
---
Если создаёте объекты программно, нужно не забывать вызывать типовой обработчик заполнения:
https://its.1c.ru/db/v8std/content/451/hdoc
К тому же, заполнение по шаблону нормально работает, если нужно показать пользователю форму нового объекта. Если нужно полностью создать и записать документ программно, придётся написать ещё кучу кода.

(15) Не знаю, как в ДО 3.0, но в ДО 2.1 документ при создании по виду документа заполняется в двух местах - в обработчике ОбработкаЗаполнения объекта и в ПриСозданииНаСервере формы объекта. Если первую часть можно без проблем вызвать самому через ДокументОбъект.Заполнить(ДанныеЗаполнения), то вторую - только копипастить код и только в случае, если нужно показать пользователю форму созданного объекта. Если же форму показывать не нужно, то придётся написать немного кода, касающегося заполнения разных связанных вещей, типа файлов, рабочей группы, обязательных связей и прочего.
---
Если речь о ДО 2.1 "Справочник.ШаблоныВнутреннихДокументов", для ДО 3.0 Справочник.ШаблоныДокументов"

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

```1c
    НовыйОбъект = СсылкаНаОбъект.Скопировать();
    НовыйОбъект.ВидДокумента =
    НовыйОбъект.Записать()
```