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

ПРИМЕР КОМАНДЫ: ПОСТУПЛЕНИЕ БОТ ПОЛОЧНЫЙ РЕКВИЗИТ Б21 РЕКВИЗИТ ИВАНОВ ИВАН ИВАНОВИЧ РЕКВИЗИТ НОУТБУК РЕКВИЗИТ 20000 РЕКВИЗИТ 50 РЕКВИЗИТ ШТУК

```1c
    Процедура ОбработкаСообщенияСистемыВзаимодействия(Сообщение, ДополнительныеПараметры)
    Ответ = СистемаВзаимодействия.СоздатьСообщение(Сообщение.Обсуждение);
    ТекстСообщения = Сообщение.Текст;

    //Режимы работы бота и разделители текста для потоковой записи
    Режим1 = "НОМЕНКЛАТУРА";
    Режим2 = "ЯЧЕЙКИ";
    Режим3 = "СТЕЛЛАЖИ";
    Режим4 = "ПОСТУПЛЕНИЕ";
    Ответ.Текст = ТекстСообщения;
    Ответ.Записать();

    ВыборРежима = СтрРазделить(СтрЗаменить(ТекстСообщения, "БОТ", Символы.ПС), Символы.ПС, Истина);
    НоваяЗапись = СтрРазделить(СтрЗаменить(ВыборРежима[1], "ЗАПИСЬ", Символы.ПС), Символы.ПС, Истина);
    Режим = СокрП(ВыборРежима[0]);

    //Добавление номенклатуры ------------ требуется реализовать единицы измерения
    Если Режим = Режим1 Тогда

    Счетчик = 0;
    Пока Счетчик < НоваяЗапись.Количество() Цикл
    Буфер = НоваяЗапись[Счетчик];
    ЗаписьРеквизита = СтрРазделить(СтрЗаменить(Буфер, "РЕКВИЗИТ", Символы.ПС), Символы.ПС, Истина);
    НовыйЭлемент = Справочники.Товары.СоздатьЭлемент();
    НовыйЭлемент.Наименование = ЗаписьРеквизита[0];
    НовыйЭлемент.ЕдиницаИзмерения = ЗаписьРеквизита[1];
    НовыйЭлемент.Записать();
    Счетчик = Счетчик + 1;
    КонецЦикла;
    Ответ.Текст = "Данные по номенклатуре успешно внесены";
    Ответ.Записать();
    КонецЕсли;

    //Добавление ячеек
    Если Режим = Режим2 Тогда

    Счетчик = 0;
    Пока Счетчик < НоваяЗапись.Количество() Цикл
    Буфер = НоваяЗапись[Счетчик];
    ЗаписьРеквизита = СтрРазделить(СтрЗаменить(Буфер, "РЕКВИЗИТ", Символы.ПС), Символы.ПС, Истина);
    НовыйЭлемент = Справочники.Ячейки.СоздатьЭлемент();
    НовыйЭлемент.Наименование = ЗаписьРеквизита[0];
    НовыйЭлемент.МаксимальнаяНагрузка = ЗаписьРеквизита[1];
    НовыйЭлемент.ДатаУстановки = ТекущаяДата();
    НовыйЭлемент.Записать();
    Счетчик = Счетчик + 1;
    КонецЦикла;
    Ответ.Текст = "Данные по ячейкам успешно внесены";
    Ответ.Записать();

    КонецЕсли;

    //Добавление стеллажей
    Если Режим = Режим3 Тогда

    Счетчик = 0;
    Пока Счетчик < НоваяЗапись.Количество() Цикл
    Буфер = НоваяЗапись[Счетчик];
    ЗаписьРеквизита = СтрРазделить(СтрЗаменить(Буфер, "РЕКВИЗИТ", Символы.ПС), Символы.ПС, Истина);
    НовыйЭлемент = Справочники.Стеллажи.СоздатьЭлемент();
    НовыйЭлемент.Наименование = ЗаписьРеквизита[0];
    НовыйЭлемент.МаксимальнаяНагрузка = ЗаписьРеквизита[1];
    НовыйЭлемент.ДатаУстановки = ТекущаяДата();
    НовыйЭлемент.Записать();
    Счетчик = Счетчик + 1;
    КонецЦикла;
    Ответ.Текст = "Данные по стеллажам успешно внесены";
    Ответ.Записать();
    КонецЕсли;
    //ДОБАВЛЕНИЕ ДОКУМЕНТА НЕ РАБОТАЕТ
    Если Режим = Режим4 Тогда

    Счетчик = 0;
    Пока Счетчик < НоваяЗапись.Количество() Цикл
    Буфер = НоваяЗапись[Счетчик];
    ЗаписьРеквизита = СтрРазделить(СтрЗаменить(Буфер, "РЕКВИЗИТ", Символы.ПС), Символы.ПС, Истина);
    НовыйЭлемент = Документы.Поступление.СоздатьЭлемент();
    НовыйЭлемент.Стеллаж = ЗаписьРеквизита[0];
    НовыйЭлемент.Ячейка = ЗаписьРеквизита[1];
    НовыйЭлемент.Поставщик = ЗаписьРеквизита[2];
    НовыйЭлемент.Товар = ЗаписьРеквизита[3];
    НовыйЭлемент.Цена = ЗаписьРеквизита[4];
    НовыйЭлемент.Количество = ЗаписьРеквизита[5];
    НовыйЭлемент.ЕдиницаИзмерения = ЗаписьРеквизита[6];
    НовыйЭлемент.Записать();
    Счетчик = Счетчик + 1;
    КонецЦикла;
    Ответ.Текст = "Регистрация документа успешна";
    Ответ.Записать();
    КонецЕсли;
    Если Режим <> Режим1 и Режим <> Режим2 и Режим <> Режим3 Тогда
    Ответ.Текст = "НЕ РАБОТАЕТ" + ТекстСообщения;
    Ответ.Записать();
    КонецЕсли;

    КонецПроцедуры
```
---
Точно так же, как справочник. Только надо сверяться с хелпом, чтобы не писать такого

```1c
    Документы.Поступление.СоздатьЭлемент();
```

и еще надо понимать, что если реквизит это ссылка, то надо ее сначала найти, а присваивать вместо ссылки строку - плохая идея.
---
Возможно ли реализовать такой функционал, Естественно возможно.
Как? Создаете документ, заполняете реквизиты и табличную часть, затем записываете и проводите. Ничего сложного.
---
Точно так же, как справочник. Только надо сверяться с хелпом, чтобы не писать такого

```1c
    Документы.Поступление.СоздатьЭлемент();
```

и еще надо понимать, что если реквизит это ссылка, то надо ее сначала найти, а присваивать вместо ссылки строку - плохая идея.
---
Точно так же, как справочник
разве не так нужно?

```1c
    Документы.Поступление.СоздатьДокумент();
```
---
разве не так нужно? так там же указано
(2) Только надо сверяться с хелпом, чтобы не писать такого
 Документы.Поступление.СоздатьЭлемент();