Добрый день, у меня обработка ТЧ, которая должно создать 2 документа на основании счета. Типовая процедура не подходит, т.к. из этого документа нужно разделить часть номенклатуры в заказ на производство, часть на закупку. Поэтому я взял типовую процедуру к себе в обработку, чтобы тут ее можно было менять. Сильно не пинайте, я только учусь.
Пришел к этому:

```1c
    Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт

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

Ниже скопированное типовое решение, только заменил "ЭтотОбъект" на "НовыйДокумент.Ссылка"

Теперь выходит ошибка, что поле "НовыйДокумент.АвтоРазмещение" не обнаружено

```1c
    Если ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПокупателю") Тогда

    // Заполнение шапки
    ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(НовыйДокумент, "Продажа");

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

    //ЗаполнениеДокументов.ЗаполнитьДанныеДоставкиПоОснованию(НовыйДокумент, Основание);

    УправлениеЗаказами.УстановитьДатуОплатыПоДоговору(НовыйДокумент);

    Для Каждого ТекСтрокаВозвратнаяТара Из Основание.ВозвратнаяТара Цикл

    НоваяСтрока = НовыйДокумент.ВозвратнаяТара.Добавить();
    НоваяСтрока.Количество = ТекСтрокаВозвратнаяТара.Количество;
    НоваяСтрока.Номенклатура = ТекСтрокаВозвратнаяТара.Номенклатура;
    НоваяСтрока.Сумма = ТекСтрокаВозвратнаяТара.Сумма;
    НоваяСтрока.Цена = ТекСтрокаВозвратнаяТара.Цена;

    //ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(НоваяСтрока, "ВозвратнаяТара", ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете);

    КонецЦикла;
    Сообщить(Основание.Товары.Количество());
    Для Каждого ТекСтрокаТовары Из Основание.Товары Цикл
    //Если НЕ ТекСтрокаТовары.Номенклатура.НоменклатурнаяГруппа.НайтиПоКоду(000000017) Тогда

    НоваяСтрока = НовыйДокумент.Товары.Добавить();
    НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения;
    НоваяСтрока.ЕдиницаИзмеренияМест = ТекСтрокаТовары.ЕдиницаИзмеренияМест;
    НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
    НоваяСтрока.КоличествоМест = ТекСтрокаТовары.КоличествоМест;
    НоваяСтрока.Коэффициент = ТекСтрокаТовары.Коэффициент;
    НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
    НоваяСтрока.ПлановаяСебестоимость = ТекСтрокаТовары.ПлановаяСебестоимость;
    НоваяСтрока.ПроцентСкидкиНаценки = ТекСтрокаТовары.ПроцентСкидкиНаценки;
    НоваяСтрока.ПроцентАвтоматическихСкидок = ТекСтрокаТовары.ПроцентАвтоматическихСкидок;
    НоваяСтрока.УсловиеАвтоматическойСкидки = ТекСтрокаТовары.УсловиеАвтоматическойСкидки;
    НоваяСтрока.ЗначениеУсловияАвтоматическойСкидки = ТекСтрокаТовары.ЗначениеУсловияАвтоматическойСкидки;
    НоваяСтрока.СтавкаНДС = ТекСтрокаТовары.СтавкаНДС;
    НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
    НоваяСтрока.СуммаНДС = ТекСтрокаТовары.СуммаНДС;
    НоваяСтрока.ХарактеристикаНоменклатуры = ТекСтрокаТовары.ХарактеристикаНоменклатуры;
    НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
    НоваяСтрока.КлючСтроки = ТекСтрокаТовары.КлючСтроки;

    ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(НоваяСтрока, "Товары", НовыйДокумент.ОтражатьВБухгалтерскомУчете, НовыйДокумент.ОтражатьВНалоговомУчете, НовыйДокумент);
    //КонецЕсли;

    КонецЦикла;

    Если Основание.СоставНабора.Количество() > 0 Тогда
    НовыйДокумент.СоставНабора.Загрузить(Основание.СоставНабора.Выгрузить());
    КонецЕсли;

    Для Каждого ТекСтрокаУслуги Из Основание.Услуги Цикл

    НоваяСтрока = НовыйДокумент.Услуги.Добавить();
    НоваяСтрока.Количество = ТекСтрокаУслуги.Количество;
    НоваяСтрока.Номенклатура = ТекСтрокаУслуги.Номенклатура;
    НоваяСтрока.Содержание = ТекСтрокаУслуги.Содержание;
    НоваяСтрока.СтавкаНДС = ТекСтрокаУслуги.СтавкаНДС;
    НоваяСтрока.Сумма = ТекСтрокаУслуги.Сумма;
    НоваяСтрока.СуммаНДС = ТекСтрокаУслуги.СуммаНДС;
    НоваяСтрока.Цена = ТекСтрокаУслуги.Цена;
    НоваяСтрока.ПроцентСкидкиНаценки = ТекСтрокаУслуги.ПроцентСкидкиНаценки;
    НоваяСтрока.ПроцентАвтоматическихСкидок = ТекСтрокаУслуги.ПроцентАвтоматическихСкидок;
    НоваяСтрока.УсловиеАвтоматическойСкидки = ТекСтрокаУслуги.УсловиеАвтоматическойСкидки;
    НоваяСтрока.ЗначениеУсловияАвтоматическойСкидки = ТекСтрокаУслуги.ЗначениеУсловияАвтоматическойСкидки;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры // ОбработкаЗаполнения()

    Процедура ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ, НовыйДокумент) Экспорт

    ЗаполнитьСчетаУчетаВТабЧасти(СтрокаТЧ, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ, НовыйДокумент);

    КонецПроцедуры // ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл()

    Процедура ЗаполнитьСчетаУчетаВТабЧасти(ТабличнаяЧасть, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ, НовыйДокумент) Экспорт

    СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти(ИмяТабЧасти, ТабличнаяЧасть, НовыйДокумент, ЗаполнятьБУ, ЗаполнятьНУ);

    КонецПроцедуры // ЗаполнитьСчетаУчетаВТабЧасти()
```

Если закомментировать автоРазмещение, то немного другая ошибка:
Поле объекта недоступно для записи (ВалютаДокумента)
---
Убери ".Ссылка", передавай объект.
---
Ниже скопированное типовое решение, только заменил "ЭтотОбъект" на "НовыйДокумент.Ссылка"
А почему ссылка? В ссылку ничего записать нельзя.
---
А как правильно сделать? НовыйДокумент.Ссылка.ПолучитьОбъект() ?
---
Убери ".Ссылка", передавай объект.
---
Спасибо, получилось, про Ссылку не знал