Создать движение (проводки)

//Создаем новый документ

ДокОперация = Документы.Операция.СоздатьДокумент();

//Добавляем проводку

НовЗапись = ДокОперация.Движения.Хозрасчетный.Добавить();

НовЗапись.Активность = 1;

НовЗапись.Сумма = Сумма;

НовЗапись.СчетДт = СчетДт; //тип ПланыСчетов "Хозрасчетный"

НовЗапись.СчетКт = СчетКт; //тип ПланыСчетов "Хозрасчетный"

//1-й вариант. Установить значение субконто

НовЗапись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат] =Справочники.СтатьиЗатрат.НайтиПоНаименованию("Текущий ремонт");

//2-й вариант. Установить значение субконто

НовЗапись.СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат,Справочники.СтатьиЗатрат.НайтиПоНаименованию("Текущий ремонт"));

//Записать документ

ДокОперация.Записать();

-----------------------------------------------------------------------------------------------------------

//Установка значения субконто, когда известно его значение, но не известно название и номер соответствующего субконто у счета

//Будем перебирать все субконто у счета и сравнивать их типы значения с типом присваиваемого значения

Проводка = Движения.Хозрасчетный.Добавить();

Проводка.СчетДт = СчетДт;

//1-й вариант. Установить значение субконто по его виду

//Известно значение субконто, но неизвестно его название и номер

Для Каждого ВидСубконто Из Проводка.СчетДт.ВидыСубконто Цикл

Если Строка(ТипЗнч(ЗначениеСубконто)) = Строка(ВидСубконто.ВидСубконто.ТипЗначения) Тогда

Проводка.СубконтоДт[ВидСубконто.ВидСубконто.Ссылка] = ЗначениеСубконто;

КонецЕсли;

КонецЦикла;

Проводка.СчетКт = СчетКт;

//2-й вариант. Установить значение субконто по его виду

//Известно значение субконто, но неизвестно его название и номер

Для Каждого ВидСубконто Из Проводка.СчетКт.ВидыСубконто Цикл

ЗначениеСубконто =Справочники[ВидСубконто.ВидСубконто.ТипЗначения.ПривестиЗначение().Метаданные().Имя].НайтиПоРеквизиту("ПолеПоискаВСправочнике",ЗначениеДляСубконто);

Проводка.СубконтоКт[ВидСубконто.ВидСубконто.Ссылка] = ЗначениеСубконто;

КонецЦикла;

//Заполнить все остальное у проводки

Проводка.Организация = Организация;

Проводка.Период = ЭтотОбъект.Дата;

Проводка.Регистратор = ЭтотОбъект.Ссылка;

Проводка.Сумма = КакаяТоСумма;

//Записать проводку

Движения.Хозрасчетный.Записать();