Здравствуйте, возник такой вопрос. Скажите как можно вывести в печатную форму Вместо ФИО кассира - имя пользователя авторизованного в базе-данных.
Что можно прописать в модуле? Заранее спасибо.
---
```1c
    "ОбластьМакета = Макет.ПолучитьОбласть("Подписи|ОсновныеДанные"); // Или как она у вас называется, Ищите где заполняется эта область
    //Заполнение области
    ОбластьМакета.Параметры.ВвыводимоеИмя = ПараметрыСеанса.ТекущийПользователь; // и туда вставляете
    ТабличныйДокумент.Вывести(ОбластьМакета);"
```

И на скрине вы вставили не в ту область если через структуру хотели...

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

    Областьмакета.Параметры.Заполнить(СтруктураЗаполненияСекции); // Тогда и заполняйте данными из структуры в которую добавили значение"
```
---
```1c
    ВыводимоеИмя = ПараметрыСеанса.ТекущийПользователь
```
---
Не выводится, может неправильно что-то делаю?) Код добавлять в модуль менеджера?

p.s. с 1с просто на "вы" =)
---
а форма точно та? Ну а вдруг
---
Да, если меняю переменную для РасшифровкаПодписиКассира то в печати тоже меняется.
[1C-CODE]#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.УправлениеДоступом

// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

 Ограничение.Текст =
 "РазрешитьЧтениеИзменение
 |ГДЕ
 | ЗначениеРазрешено(Организация)
 | И ЗначениеРазрешено(Контрагент)";

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

// Конец СтандартныеПодсистемы.УправлениеДоступом

#КонецОбласти

#КонецОбласти

#Область Проведение

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

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | МИНИМУМ(ТаблицаЗапасы.НомерСтроки) КАК НомерСтроки,
 | ТаблицаЗапасы.Период КАК Период,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение)
 | ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
 | КОНЕЦ КАК ВидДвижения,
 | ТаблицаЗапасы.Организация КАК Организация,
 | ЗНАЧЕНИЕ(Справочник.СценарииПланирования.Фактический) КАК СценарийПланирования,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | ТОГДА ИСТИНА
 | ИНАЧЕ ЛОЖЬ
 | КОНЕЦ КАК Возврат,
 | ТаблицаЗапасы.Документ КАК Документ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА ТаблицаЗапасы.Документ
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ КАК ДокументПродажи,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.Заказ
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ КАК ЗаказПродажи,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.ПодразделениеПродажи
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ КАК Подразделение,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.Ответственный
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ КАК Ответственный,
 | ТаблицаЗапасы.ПодразделениеПродажи КАК ПодразделениеПродажи,
 | ТаблицаЗапасы.НаправлениеДеятельностиПродажи КАК НаправлениеДеятельности,
 | ТаблицаЗапасы.СчетУчетаСебестоимость КАК СчетУчетаСебестоимость,
 | ТаблицаЗапасы.КоррОрганизация КАК КоррОрганизация,
 | ЕСТЬNULL(ТаблицаЗапасы.СтруктурнаяЕдиница, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК СтруктурнаяЕдиница,
 | ЕСТЬNULL(ТаблицаЗапасы.КоррСтруктурнаяЕдиница, ЗНАЧЕНИЕ(Справочник.СтруктурныеЕдиницы.ПустаяСсылка)) КАК КоррСтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета КАК СчетУчета,
 | ТаблицаЗапасы.КоррСчетУчета КАК КоррСчетУчета,
 | ТаблицаЗапасы.ТоварыНаКомиссии КАК ТоварыНаКомиссии,
 | ТаблицаЗапасы.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасы.НоменклатураНабора КАК НоменклатураНабора,
 | ТаблицаЗапасы.КоррНоменклатура КАК КоррНоменклатура,
 | ТаблицаЗапасы.Характеристика КАК Характеристика,
 | ТаблицаЗапасы.ХарактеристикаНабора КАК ХарактеристикаНабора,
 | ТаблицаЗапасы.КоррХарактеристика КАК КоррХарактеристика,
 | ТаблицаЗапасы.Партия КАК Партия,
 | ТаблицаЗапасы.КоррПартия КАК КоррПартия,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение)
 | ТОГДА ТаблицаЗапасы.Заказ
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ТОГДА ТаблицаЗапасы.Заказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ КАК ЗаказПокупателя,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.КоррЗаказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаЗапасы.КоррЗаказ
 | КОГДА ТаблицаЗапасы.КоррЗаказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | И ФункциональнаяОпцияРезервированиеЗапасов.Значение
 | ТОГДА ТаблицаЗапасы.КоррЗаказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ КАК КоррЗаказПокупателя,
 | СУММА(ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | ТОГДА -1 * ТаблицаЗапасы.Количество
 | ИНАЧЕ ТаблицаЗапасы.Количество
 | КОНЕЦ) КАК Количество,
 | СУММА(ТаблицаЗапасы.Резерв) КАК Резерв,
 | ТаблицаЗапасы.СтавкаНДС КАК СтавкаНДС,
 | СУММА(ТаблицаЗапасы.СуммаНДС) КАК СуммаНДС,
 | СУММА(ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | ТОГДА 0
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА -1 * ТаблицаЗапасы.Сумма
 | ИНАЧЕ ТаблицаЗапасы.Сумма
 | КОНЕЦ) КАК Сумма,
 | 0 КАК Себестоимость,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение)
 | ТОГДА ЛОЖЬ
 | ИНАЧЕ ИСТИНА
 | КОНЕЦ КАК ФиксированнаяСтоимость,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
 | ТОГДА ТаблицаЗапасы.СчетУчетаЗатрат
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.СчетУчетаСебестоимость
 | ИНАЧЕ ТаблицаЗапасы.КоррСчетУчета
 | КОНЕЦ КАК СчетДт,
 | ТаблицаЗапасы.СчетУчета КАК СчетКт,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА ВЫРАЗИТЬ(&ОприходованиеЗапасов КАК СТРОКА(100))
 | ИНАЧЕ ВЫРАЗИТЬ(&СписаниеЗапасов КАК СТРОКА(100))
 | КОНЕЦ КАК Содержание,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА ВЫРАЗИТЬ(&ОприходованиеЗапасов КАК СТРОКА(100))
 | ИНАЧЕ ВЫРАЗИТЬ(&СписаниеЗапасов КАК СТРОКА(100))
 | КОНЕЦ КАК СодержаниеПроводки,
 | ТаблицаЗапасы.ТипНоменклатуры КАК ТипНоменклатуры
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы,
 | Константа.ФункциональнаяОпцияРезервированиеЗапасов КАК ФункциональнаяОпцияРезервированиеЗапасов
 |ГДЕ
 | ТаблицаЗапасы.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат))
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасы.Период,
 | ТаблицаЗапасы.Организация,
 | ТаблицаЗапасы.Документ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | ТОГДА ИСТИНА
 | ИНАЧЕ ЛОЖЬ
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА ТаблицаЗапасы.Документ
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.Заказ
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.ПодразделениеПродажи
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.Ответственный
 | ИНАЧЕ НЕОПРЕДЕЛЕНО
 | КОНЕЦ,
 | ТаблицаЗапасы.ПодразделениеПродажи,
 | ТаблицаЗапасы.НаправлениеДеятельностиПродажи,
 | ТаблицаЗапасы.СчетУчетаСебестоимость,
 | ТаблицаЗапасы.КоррОрганизация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница,
 | ТаблицаЗапасы.КоррСтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета,
 | ТаблицаЗапасы.КоррСчетУчета,
 | ТаблицаЗапасы.ТоварыНаКомиссии,
 | ТаблицаЗапасы.Номенклатура,
 | ТаблицаЗапасы.Характеристика,
 | ТаблицаЗапасы.НоменклатураНабора,
 | ТаблицаЗапасы.ХарактеристикаНабора,
 | ТаблицаЗапасы.Партия,
 | ТаблицаЗапасы.КоррНоменклатура,
 | ТаблицаЗапасы.КоррХарактеристика,
 | ТаблицаЗапасы.КоррПартия,
 | ТаблицаЗапасы.Ответственный,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение)
 | ТОГДА ТаблицаЗапасы.Заказ
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ТОГДА ТаблицаЗапасы.Заказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.КоррЗаказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаЗапасы.КоррЗаказ
 | КОГДА ТаблицаЗапасы.КоррЗаказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | И ФункциональнаяОпцияРезервированиеЗапасов.Значение
 | ТОГДА ТаблицаЗапасы.КоррЗаказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ,
 | ТаблицаЗапасы.СтавкаНДС,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение)
 | ТОГДА ЛОЖЬ
 | ИНАЧЕ ИСТИНА
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА ВЫРАЗИТЬ(&ОприходованиеЗапасов КАК СТРОКА(100))
 | ИНАЧЕ ВЫРАЗИТЬ(&СписаниеЗапасов КАК СТРОКА(100))
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
 | ТОГДА ТаблицаЗапасы.СчетУчетаЗатрат
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ТОГДА ТаблицаЗапасы.СчетУчетаСебестоимость
 | ИНАЧЕ ТаблицаЗапасы.КоррСчетУчета
 | КОНЕЦ,
 | ТаблицаЗапасы.ТипНоменклатуры,
 | ТаблицаЗапасы.СчетУчета,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения)
 | ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ИЛИ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение)
 | ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
 | КОНЕЦ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ТОГДА ВЫРАЗИТЬ(&ОприходованиеЗапасов КАК СТРОКА(100))
 | ИНАЧЕ ВЫРАЗИТЬ(&СписаниеЗапасов КАК СТРОКА(100))
 | КОНЕЦ";

 Запрос.УстановитьПараметр("ОприходованиеЗапасов", НСтр("ru = 'Оприходование запасов'"));
 Запрос.УстановитьПараметр("СписаниеЗапасов", НСтр("ru = 'Списание запасов'"));

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЗапасы", РезультатЗапроса.Выгрузить());

 Если ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю
  ИЛИ ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию
  ИЛИ ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку
  ИЛИ ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение Тогда

  СформироватьТаблицаЗапасыПродажа(ДокументСсылкаРасходнаяНакладная, СтруктураДополнительныеСвойства);

 ИначеЕсли ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику Тогда

  СформироватьТаблицаЗапасыВозврат(ДокументСсылкаРасходнаяНакладная, СтруктураДополнительныеСвойства);

 КонецЕсли;

КонецПроцедуры // СформироватьТаблицаЗапасы()

Процедура СформироватьТаблицаЗапасыВРазрезеГТД(СтруктураДополнительныеСвойства)

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;

 Запрос.Текст =
 "ВЫБРАТЬ
 | МИНИМУМ(ТаблицаЗапасыНаСкладах.НомерСтроки) КАК НомерСтроки
 | ,ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения
 | ,ТаблицаЗапасыНаСкладах.Период КАК Период
 | ,ТаблицаЗапасыНаСкладах.Организация КАК Организация
 | ,ТаблицаЗапасыНаСкладах.Номенклатура КАК Номенклатура
 | ,ТаблицаЗапасыНаСкладах.Характеристика КАК Характеристика
 | ,ТаблицаЗапасыНаСкладах.Партия КАК Партия
 | ,ТаблицаЗапасыНаСкладах.НомерГТД КАК НомерГТД
 | ,ТаблицаЗапасыНаСкладах.СтранаПроисхождения КАК СтранаПроисхождения
 | ,СУММА(ТаблицаЗапасыНаСкладах.Количество) КАК Количество
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасыНаСкладах
 |ГДЕ
 | ТаблицаЗапасыНаСкладах.СтранаПроисхождения <> Значение(Справочник.СтраныМира.Россия)
 | И ТаблицаЗапасыНаСкладах.СтранаПроисхождения <> Значение(Справочник.СтраныМира.ПустаяССылка)
 | И ТаблицаЗапасыНаСкладах.НомерГТД <> Значение(Справочник.НомераГТД.ПустаяССылка)
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасыНаСкладах.Период
 | ,ТаблицаЗапасыНаСкладах.Организация
 | ,ТаблицаЗапасыНаСкладах.Номенклатура
 | ,ТаблицаЗапасыНаСкладах.Характеристика
 | ,ТаблицаЗапасыНаСкладах.Партия
 | ,ТаблицаЗапасыНаСкладах.НомерГТД
 | ,ТаблицаЗапасыНаСкладах.СтранаПроисхождения";

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЗапасыВРазрезеГТД", РезультатЗапроса.Выгрузить());

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

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

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;

 // Установка исключительной блокировки контролируемых остатков запасов.
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТаблицаЗапасы.Организация КАК Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета КАК СчетУчета,
 | ТаблицаЗапасы.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасы.Характеристика КАК Характеристика,
 | ТаблицаЗапасы.Партия КАК Партия,
 | ТаблицаЗапасы.ЗаказПокупателя КАК ЗаказПокупателя
 |ИЗ
 | (ВЫБРАТЬ
 | ТаблицаЗапасы.Организация КАК Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета КАК СчетУчета,
 | ТаблицаЗапасы.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасы.Характеристика КАК Характеристика,
 | ТаблицаЗапасы.Партия КАК Партия,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаЗапасы.Заказ
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ТОГДА ТаблицаЗапасы.Заказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ КАК ЗаказПокупателя
 | ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы
 | ГДЕ
 | ТаблицаЗапасы.Заказ <> НЕОПРЕДЕЛЕНО
 |
 | ОБЪЕДИНИТЬ ВСЕ
 |
 | ВЫБРАТЬ
 | ТаблицаЗапасы.Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета,
 | ТаблицаЗапасы.Номенклатура,
 | ТаблицаЗапасы.Характеристика,
 | ТаблицаЗапасы.Партия,
 | ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы) КАК ТаблицаЗапасы
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасы.Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета,
 | ТаблицаЗапасы.Номенклатура,
 | ТаблицаЗапасы.Характеристика,
 | ТаблицаЗапасы.Партия,
 | ТаблицаЗапасы.ЗаказПокупателя";

 РезультатЗапроса = Запрос.Выполнить();

 Блокировка = Новый БлокировкаДанных;
 ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Запасы");
 ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
 ЭлементБлокировки.ИсточникДанных = РезультатЗапроса;

 Для каждого КолонкаРезультатЗапроса из РезультатЗапроса.Колонки Цикл
  ЭлементБлокировки.ИспользоватьИзИсточникаДанных(КолонкаРезультатЗапроса.Имя, КолонкаРезультатЗапроса.Имя);
 КонецЦикла;
 Блокировка.Заблокировать();

 // Получение остатков запасов по стоимости.
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТаблицаЗапасы.Организация КАК Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета КАК СчетУчета,
 | ТаблицаЗапасы.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасы.Характеристика КАК Характеристика,
 | ТаблицаЗапасы.Партия КАК Партия,
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ <> НЕОПРЕДЕЛЕНО
 | ТОГДА ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаЗапасы.Заказ
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ТОГДА ТаблицаЗапасы.Заказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ КАК ЗаказПокупателя
 |ПОМЕСТИТЬ втТаблицаЗапасы
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы
 |ГДЕ
 | ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ <> НЕОПРЕДЕЛЕНО
 | ТОГДА ВЫБОР
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаЗапасы.Заказ
 | КОГДА ТаблицаЗапасы.Заказ ССЫЛКА Документ.ЗаказПоставщику
 | И ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ТОГДА ТаблицаЗапасы.Заказ.ЗаказПокупателя
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 |
 |ОБЪЕДИНИТЬ ВСЕ
 |
 |ВЫБРАТЬ
 | ТаблицаЗапасы.Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета,
 | ТаблицаЗапасы.Номенклатура,
 | ТаблицаЗапасы.Характеристика,
 | ТаблицаЗапасы.Партия,
 | ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы
 |;
 |
 |////////////////////////////////////////////////////////////­////////////////////
 |ВЫБРАТЬ
 | ЗапасыОстатки.Организация КАК Организация,
 | ЗапасыОстатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | ЗапасыОстатки.СчетУчета КАК СчетУчета,
 | ЗапасыОстатки.Номенклатура КАК Номенклатура,
 | ЗапасыОстатки.Характеристика КАК Характеристика,
 | ЗапасыОстатки.Партия КАК Партия,
 | ЗапасыОстатки.ЗаказПокупателя КАК ЗаказПокупателя,
 | СУММА(ЗапасыОстатки.КоличествоОстаток) КАК КоличествоОстаток,
 | СУММА(ЗапасыОстатки.СуммаОстаток) КАК СуммаОстаток
 |ИЗ
 | РегистрНакопления.Запасы.Остатки(&МоментКонтроля, ) КАК ЗапасыОстатки
 | ВНУТРЕННЕЕ СОЕДИНЕНИЕ втТаблицаЗапасы КАК втТаблицаЗапасы
 | ПО ЗапасыОстатки.Организация = втТаблицаЗапасы.Организация
 | И ЗапасыОстатки.СтруктурнаяЕдиница = втТаблицаЗапасы.СтруктурнаяЕдиница
 | И ЗапасыОстатки.СчетУчета = втТаблицаЗапасы.СчетУчета
 | И ЗапасыОстатки.Номенклатура = втТаблицаЗапасы.Номенклатура
 | И ЗапасыОстатки.Характеристика = втТаблицаЗапасы.Характеристика
 | И ЗапасыОстатки.Партия = втТаблицаЗапасы.Партия
 | И ЗапасыОстатки.ЗаказПокупателя = втТаблицаЗапасы.ЗаказПокупателя
 |
 |СГРУППИРОВАТЬ ПО
 | ЗапасыОстатки.СчетУчета,
 | ЗапасыОстатки.СтруктурнаяЕдиница,
 | ЗапасыОстатки.Организация,
 | ЗапасыОстатки.ЗаказПокупателя,
 | ЗапасыОстатки.Партия,
 | ЗапасыОстатки.Характеристика,
 | ЗапасыОстатки.Номенклатура";

 Запрос.УстановитьПараметр("Ссылка", ДокументСсылкаРасходнаяНакладная);
 Запрос.УстановитьПараметр("МоментКонтроля", Новый Граница(СтруктураДополнительныеСвойства.ДляПроведения.МоментВремени, ВидГраницы.Исключая));

 РезультатЗапроса = Запрос.Выполнить();

 ТаблицаЗапасыОстатки = РезультатЗапроса.Выгрузить();
 ТаблицаЗапасыОстатки.Индексы.Добавить("Организация,СтруктурнаяЕдиница,СчетУчета,Номенклатура,Характеристика,Партия,ЗаказПокупателя");

 Передача = (ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию
    ИЛИ ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку
    ИЛИ ДокументСсылкаРасходнаяНакладная.ВидОперации = Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаНаОтветхранение);

 ВременнаяТаблицаЗапасы = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы.СкопироватьКолонки();

 Для н = 0 По СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы.Количество() - 1 Цикл

  СтрокаТаблицаЗапасы = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы[н];

  СтруктураДляПоиска = Новый Структура;
  СтруктураДляПоиска.Вставить("Организация", СтрокаТаблицаЗапасы.Организация);
  СтруктураДляПоиска.Вставить("СтруктурнаяЕдиница", СтрокаТаблицаЗапасы.СтруктурнаяЕдиница);
  СтруктураДляПоиска.Вставить("СчетУчета", СтрокаТаблицаЗапасы.СчетУчета);
  СтруктураДляПоиска.Вставить("Номенклатура", СтрокаТаблицаЗапасы.Номенклатура);
  СтруктураДляПоиска.Вставить("Характеристика", СтрокаТаблицаЗапасы.Характеристика);
  СтруктураДляПоиска.Вставить("Партия", СтрокаТаблицаЗапасы.Партия);

  КоличествоТребуетсяРезерв = ?(ЗначениеЗаполнено(СтрокаТаблицаЗапасы.Резерв), СтрокаТаблицаЗапасы.Резерв, 0);
  КоличествоТребуетсяСвободныйОстаток = ?(ЗначениеЗаполнено(СтрокаТаблицаЗапасы.Количество), СтрокаТаблицаЗапасы.Количество, 0);

  Если КоличествоТребуетсяРезерв > 0 Тогда

   КоличествоТребуетсяСвободныйОстаток = КоличествоТребуетсяСвободныйОстаток - КоличествоТребуетсяРезерв;

   СтруктураДляПоиска.Вставить("ЗаказПокупателя", СтрокаТаблицаЗапасы.ЗаказПокупателя);

   МассивСтрокОстатков = ТаблицаЗапасыОстатки.НайтиСтроки(СтруктураДляПоиска);

   КоличествоОстаток = 0;
   СуммаОстаток = 0;

   Если МассивСтрокОстатков.Количество() > 0 Тогда
    КоличествоОстаток = МассивСтрокОстатков[0].КоличествоОстаток;
    СуммаОстаток = МассивСтрокОстатков[0].СуммаОстаток;
   КонецЕсли;

   Если КоличествоОстаток > 0 И КоличествоОстаток > КоличествоТребуетсяРезерв Тогда

    СуммаКСписанию = Окр(СуммаОстаток * КоличествоТребуетсяРезерв / КоличествоОстаток , 2, 1);

    МассивСтрокОстатков[0].КоличествоОстаток = МассивСтрокОстатков[0].КоличествоОстаток - КоличествоТребуетсяРезерв;
    МассивСтрокОстатков[0].СуммаОстаток = МассивСтрокОстатков[0].СуммаОстаток - СуммаКСписанию;

   ИначеЕсли КоличествоОстаток = КоличествоТребуетсяРезерв Тогда

    СуммаКСписанию = СуммаОстаток;

    МассивСтрокОстатков[0].КоличествоОстаток = 0;
    МассивСтрокОстатков[0].СуммаОстаток = 0;

   Иначе
    СуммаКСписанию = 0;
   КонецЕсли;

   // Расход. Запасы.
   СтрокаТаблицыРасход = ВременнаяТаблицаЗапасы.Добавить();
   ЗаполнитьЗначенияСвойств(СтрокаТаблицыРасход, СтрокаТаблицаЗапасы);

   СтрокаТаблицыРасход.Сумма = СуммаКСписанию;
   СтрокаТаблицыРасход.Количество = КоличествоТребуетсяРезерв;

   // Сформируем проводки.
   Если Окр(СуммаКСписанию, 2, 1) <> 0 Тогда
    СтрокаТаблицаУправленческий = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаУправленческий.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаТаблицаУправленческий, СтрокаТаблицаЗапасы);
    СтрокаТаблицаУправленческий.Сумма = СуммаКСписанию;
   КонецЕсли;

   Если Передача Тогда

    // Приход.
    СтрокаТаблицыПриход = ВременнаяТаблицаЗапасы.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриход, СтрокаТаблицаЗапасы,,"СтруктурнаяЕдиница, КоррСтруктурнаяЕдиница");

    СтрокаТаблицыПриход.ВидДвижения = ВидДвиженияНакопления.Приход;

    СтрокаТаблицыПриход.Организация = СтрокаТаблицаЗапасы.КоррОрганизация;
    СтрокаТаблицыПриход.СтруктурнаяЕдиница = СтрокаТаблицаЗапасы.КоррСтруктурнаяЕдиница;
    СтрокаТаблицыПриход.СчетУчета = СтрокаТаблицаЗапасы.КоррСчетУчета;
    СтрокаТаблицыПриход.Номенклатура = СтрокаТаблицаЗапасы.КоррНоменклатура;
    СтрокаТаблицыПриход.Характеристика = СтрокаТаблицаЗапасы.КоррХарактеристика;
    СтрокаТаблицыПриход.Партия = СтрокаТаблицаЗапасы.КоррПартия;

    СтрокаТаблицыПриход.КоррОрганизация = СтрокаТаблицаЗапасы.Организация;
    СтрокаТаблицыПриход.КоррСтруктурнаяЕдиница = СтрокаТаблицаЗапасы.СтруктурнаяЕдиница;
    СтрокаТаблицыПриход.КоррСчетУчета = СтрокаТаблицаЗапасы.СчетУчета;
    СтрокаТаблицыПриход.КоррНоменклатура = СтрокаТаблицаЗапасы.Номенклатура;
    СтрокаТаблицыПриход.КоррХарактеристика = СтрокаТаблицаЗапасы.Характеристика;
    СтрокаТаблицыПриход.КоррПартия = СтрокаТаблицаЗапасы.Партия;

    СтрокаТаблицыПриход.Сумма = СуммаКСписанию;
    СтрокаТаблицыПриход.Количество = КоличествоТребуетсяРезерв;

    СтрокаТаблицыПриход.СодержаниеПроводки = НСтр("ru='Передача запасов'");

    СтрокаТаблицыПриход.СчетУчета = СтрокаТаблицаЗапасы.КоррСчетУчета;

   Иначе

    Если СтрокаТаблицаЗапасы.ТоварыНаКомиссии Тогда

    ИначеЕсли Окр(СуммаКСписанию, 2, 1) <> 0 Тогда

     // Продвигаем доходы и расходы.
     СтрокаДоходыИРасходы = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаДоходыИРасходы.Добавить();
     ЗаполнитьЗначенияСвойств(СтрокаДоходыИРасходы, СтрокаТаблицаЗапасы);

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

     СтрокаДоходыИРасходы.СодержаниеПроводки = НСтр("ru='Отражение расходов'");

    КонецЕсли;

    Если Окр(СуммаКСписанию, 2, 1) <> 0 Тогда

     // Продвигаем себестоимость продаж.
     Если Не СтрокаТаблицаЗапасы.ТипНоменклатуры = ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.ПодарочныйСертификат") Тогда
      СтрокаПродажи = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаПродажи.Добавить();
      ЗаполнитьЗначенияСвойств(СтрокаПродажи, СтрокаТаблицаЗапасы);
      СтрокаПродажи.Количество = 0;
      СтрокаПродажи.Сумма = 0;
      СтрокаПродажи.СуммаНДС = 0;
      СтрокаПродажи.Себестоимость = СуммаКСписанию;
     КонецЕсли;

    КонецЕсли;

   КонецЕсли;

  КонецЕсли;

  Если КоличествоТребуетсяСвободныйОстаток > 0 Тогда

   СтруктураДляПоиска.Вставить("ЗаказПокупателя", Документы.ЗаказПокупателя.ПустаяСсылка());

   МассивСтрокОстатков = ТаблицаЗапасыОстатки.НайтиСтроки(СтруктураДляПоиска);

   КоличествоОстаток = 0;
   СуммаОстаток = 0;

   Если МассивСтрокОстатков.Количество() > 0 Тогда
    КоличествоОстаток = МассивСтрокОстатков[0].КоличествоОстаток;
    СуммаОстаток = МассивСтрокОстатков[0].СуммаОстаток;
   КонецЕсли;

   Если КоличествоОстаток > 0 И КоличествоОстаток > КоличествоТребуетсяСвободныйОстаток Тогда

    СуммаКСписанию = Окр(СуммаОстаток * КоличествоТребуетсяСвободныйОстаток / КоличествоОстаток , 2, 1);

    МассивСтрокОстатков[0].КоличествоОстаток = МассивСтрокОстатков[0].КоличествоОстаток - КоличествоТребуетсяСвободныйОстаток;
    МассивСтрокОстатков[0].СуммаОстаток = МассивСтрокОстатков[0].СуммаОстаток - СуммаКСписанию;

   ИначеЕсли КоличествоОстаток = КоличествоТребуетсяСвободныйОстаток Тогда

    СуммаКСписанию = СуммаОстаток;

    МассивСтрокОстатков[0].КоличествоОстаток = 0;
    МассивСтрокОстатков[0].СуммаОстаток = 0;

   Иначе
    СуммаКСписанию = 0;
   КонецЕсли;

   // Расход. Запасы.
   СтрокаТаблицыРасход = ВременнаяТаблицаЗапасы.Добавить();
   ЗаполнитьЗначенияСвойств(СтрокаТаблицыРасход, СтрокаТаблицаЗапасы);

   СтрокаТаблицыРасход.Сумма = СуммаКСписанию;
   СтрокаТаблицыРасход.Количество = КоличествоТребуетсяСвободныйОстаток;
   СтрокаТаблицыРасход.ЗаказПокупателя = Документы.ЗаказПокупателя.ПустаяСсылка();

   // Сформируем проводки.
   Если Окр(СуммаКСписанию, 2, 1) <> 0 Тогда
    СтрокаТаблицаУправленческий = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаУправленческий.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаТаблицаУправленческий, СтрокаТаблицаЗапасы);
    СтрокаТаблицаУправленческий.Сумма = СуммаКСписанию;
   КонецЕсли;

   Если Передача Тогда

    // Приход.
    СтрокаТаблицыПриход = ВременнаяТаблицаЗапасы.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриход, СтрокаТаблицаЗапасы,,"СтруктурнаяЕдиница, КоррСтруктурнаяЕдиница");

    СтрокаТаблицыПриход.ВидДвижения = ВидДвиженияНакопления.Приход;

    СтрокаТаблицыПриход.Организация = СтрокаТаблицаЗапасы.КоррОрганизация;
    СтрокаТаблицыПриход.СтруктурнаяЕдиница = СтрокаТаблицаЗапасы.КоррСтруктурнаяЕдиница;
    СтрокаТаблицыПриход.СчетУчета = СтрокаТаблицаЗапасы.КоррСчетУчета;
    СтрокаТаблицыПриход.Номенклатура = СтрокаТаблицаЗапасы.КоррНоменклатура;
    СтрокаТаблицыПриход.Характеристика = СтрокаТаблицаЗапасы.КоррХарактеристика;
    СтрокаТаблицыПриход.Партия = СтрокаТаблицаЗапасы.КоррПартия;

    СтрокаТаблицыПриход.ЗаказПокупателя = СтрокаТаблицаЗапасы.КоррЗаказПокупателя;

    СтрокаТаблицыПриход.КоррОрганизация = СтрокаТаблицаЗапасы.Организация;
    СтрокаТаблицыПриход.КоррСтруктурнаяЕдиница = СтрокаТаблицаЗапасы.СтруктурнаяЕдиница;
    СтрокаТаблицыПриход.КоррСчетУчета = СтрокаТаблицаЗапасы.СчетУчета;
    СтрокаТаблицыПриход.КоррНоменклатура = СтрокаТаблицаЗапасы.Номенклатура;
    СтрокаТаблицыПриход.КоррХарактеристика = СтрокаТаблицаЗапасы.Характеристика;
    СтрокаТаблицыПриход.КоррПартия = СтрокаТаблицаЗапасы.Партия;

    СтрокаТаблицыПриход.КоррЗаказПокупателя = Документы.ЗаказПокупателя.ПустаяСсылка();

    СтрокаТаблицыПриход.Сумма = СуммаКСписанию;
    СтрокаТаблицыПриход.Количество = КоличествоТребуетсяСвободныйОстаток;

    СтрокаТаблицыПриход.СодержаниеПроводки = НСтр("ru='Передача запасов'");

    СтрокаТаблицыПриход.СчетУчета = СтрокаТаблицаЗапасы.КоррСчетУчета;

   Иначе

    Если СтрокаТаблицаЗапасы.ТоварыНаКомиссии Тогда

    ИначеЕсли Окр(СуммаКСписанию, 2, 1) <> 0 Тогда

     // Продвигаем доходы и расходы.
     СтрокаДоходыИРасходы = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаДоходыИРасходы.Добавить();
     ЗаполнитьЗначенияСвойств(СтрокаДоходыИРасходы, СтрокаТаблицаЗапасы);

     СтрокаДоходыИРасходы.СтруктурнаяЕдиница = СтрокаТаблицаЗапасы.ПодразделениеПродажи;
     Если СтрокаТаблицаЗапасы.ТипНоменклатуры = ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.ПодарочныйСертификат") Тогда
      СтрокаДоходыИРасходы.СчетУчета = СтрокаТаблицаЗапасы.СчетДт;
     Иначе
      СтрокаДоходыИРасходы.СчетУчета = СтрокаТаблицаЗапасы.СчетУчетаСебестоимость;
     КонецЕсли;
     СтрокаДоходыИРасходы.СуммаДоходов = 0;
     СтрокаДоходыИРасходы.СуммаРасходов = СуммаКСписанию;
     СтрокаДоходыИРасходы.Сумма = СуммаКСписанию;

     СтрокаДоходыИРасходы.СодержаниеПроводки = НСтр("ru='Отражение расходов'");

    КонецЕсли;

    Если Окр(СуммаКСписанию, 2, 1) <> 0 Тогда

     // Продвигаем себестоимость продаж.
     Если Не СтрокаТаблицаЗапасы.ТипНоменклатуры = ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.ПодарочныйСертификат") Тогда
      СтрокаПродажи = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаПродажи.Добавить();
      ЗаполнитьЗначенияСвойств(СтрокаПродажи, СтрокаТаблицаЗапасы);
      СтрокаПродажи.Количество = 0;
      СтрокаПродажи.Сумма = 0;
      СтрокаПродажи.СуммаНДС = 0;
      СтрокаПродажи.Себестоимость = СуммаКСписанию;
     КонецЕсли;

    КонецЕсли;

   КонецЕсли;

  КонецЕсли;

 КонецЦикла;

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы = ВременнаяТаблицаЗапасы;

КонецПроцедуры // СформироватьТаблицаЗапасыПродажа()

// Формирует таблицу значений, содержащую данные для проведения по регистру.
// Таблицы значений сохраняет в свойствах структуры "ДополнительныеСвойства".
//
Процедура СформироватьТаблицаЗапасыВозврат(ДокументСсылкаРасходнаяНакладная, СтруктураДополнительныеСвойства)

 ОснованиеНакладная = Неопределено;
 Если ЗначениеЗаполнено(ДокументСсылкаРасходнаяНакладная.ДокументОснование)
  И ТипЗнч(ДокументСсылкаРасходнаяНакладная.ДокументОснование) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда
  ОснованиеНакладная = ДокументСсылкаРасходнаяНакладная.ДокументОснование;
 КонецЕсли;

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;

 // Установка исключительной блокировки контролируемых остатков запасов.
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТаблицаЗапасы.Организация КАК Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета КАК СчетУчета,
 | ТаблицаЗапасы.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасы.Характеристика КАК Характеристика,
 | ТаблицаЗапасы.Партия КАК Партия,
 | ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) КАК ЗаказПокупателя
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасы.Организация,
 | ТаблицаЗапасы.СтруктурнаяЕдиница,
 | ТаблицаЗапасы.СчетУчета,
 | ТаблицаЗапасы.Номенклатура,
 | ТаблицаЗапасы.Характеристика,
 | ТаблицаЗапасы.Партия";

 РезультатЗапроса = Запрос.Выполнить();

 Блокировка = Новый БлокировкаДанных;
 ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Запасы");
 ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
 ЭлементБлокировки.ИсточникДанных = РезультатЗапроса;

 Для каждого КолонкаРезультатЗапроса из РезультатЗапроса.Колонки Цикл
  ЭлементБлокировки.ИспользоватьИзИсточникаДанных(КолонкаРезультатЗапроса.Имя, КолонкаРезультатЗапроса.Имя);
 КонецЦикла;
 Блокировка.Заблокировать();

 // Получение остатков запасов по стоимости.
 Если ЗначениеЗаполнено(ОснованиеНакладная) Тогда

  Запрос.Текст =
  "ВЫБРАТЬ
  | Запасы.Организация КАК Организация,
  | Запасы.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
  | Запасы.СчетУчета КАК СчетУчета,
  | Запасы.Номенклатура КАК Номенклатура,
  | Запасы.Характеристика КАК Характеристика,
  | Запасы.Партия КАК Партия,
  | ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) КАК ЗаказПокупателя,
  | СУММА(Запасы.Количество) КАК КоличествоОстаток,
  | СУММА(Запасы.Сумма) КАК СуммаОстаток
  |ИЗ
  | РегистрНакопления.Запасы КАК Запасы
  |ГДЕ
  | Запасы.Регистратор = &ОснованиеНакладная
  |
  |СГРУППИРОВАТЬ ПО
  | Запасы.Организация,
  | Запасы.СтруктурнаяЕдиница,
  | Запасы.СчетУчета,
  | Запасы.Номенклатура,
  | Запасы.Характеристика,
  | Запасы.Партия";

  Запрос.УстановитьПараметр("ОснованиеНакладная", ОснованиеНакладная);

 Иначе

  Запрос.Текст =
  "ВЫБРАТЬ
  | ЗапасыОстатки.Организация КАК Организация,
  | ЗапасыОстатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
  | ЗапасыОстатки.СчетУчета КАК СчетУчета,
  | ЗапасыОстатки.Номенклатура КАК Номенклатура,
  | ЗапасыОстатки.Характеристика КАК Характеристика,
  | ЗапасыОстатки.Партия КАК Партия,
  | ЗапасыОстатки.ЗаказПокупателя КАК ЗаказПокупателя,
  | СУММА(ЗапасыОстатки.КоличествоОстаток) КАК КоличествоОстаток,
  | СУММА(ЗапасыОстатки.СуммаОстаток) КАК СуммаОстаток
  |ИЗ
  | (ВЫБРАТЬ
  | ЗапасыОстатки.Организация КАК Организация,
  | ЗапасыОстатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
  | ЗапасыОстатки.СчетУчета КАК СчетУчета,
  | ЗапасыОстатки.Номенклатура КАК Номенклатура,
  | ЗапасыОстатки.Характеристика КАК Характеристика,
  | ЗапасыОстатки.Партия КАК Партия,
  | ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) КАК ЗаказПокупателя,
  | СУММА(ЗапасыОстатки.КоличествоОстаток) КАК КоличествоОстаток,
  | СУММА(ЗапасыОстатки.СуммаОстаток) КАК СуммаОстаток
  | ИЗ
  | РегистрНакопления.Запасы.Остатки(
  | &МоментКонтроля,
  | (Организация, СтруктурнаяЕдиница, СчетУчета, Номенклатура, Характеристика, Партия, ЗаказПокупателя) В
  | (ВЫБРАТЬ
  | ТаблицаЗапасы.Организация,
  | ТаблицаЗапасы.СтруктурнаяЕдиница,
  | ТаблицаЗапасы.СчетУчета,
  | ТаблицаЗапасы.Номенклатура,
  | ТаблицаЗапасы.Характеристика,
  | ТаблицаЗапасы.Партия,
  | ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
  | ИЗ
  | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы)) КАК ЗапасыОстатки
  |
  | СГРУППИРОВАТЬ ПО
  | ЗапасыОстатки.Организация,
  | ЗапасыОстатки.СтруктурнаяЕдиница,
  | ЗапасыОстатки.СчетУчета,
  | ЗапасыОстатки.Номенклатура,
  | ЗапасыОстатки.Характеристика,
  | ЗапасыОстатки.Партия
  |
  | ОБЪЕДИНИТЬ ВСЕ
  |
  | ВЫБРАТЬ
  | ДвиженияДокументаЗапасы.Организация,
  | ДвиженияДокументаЗапасы.СтруктурнаяЕдиница,
  | ДвиженияДокументаЗапасы.СчетУчета,
  | ДвиженияДокументаЗапасы.Номенклатура,
  | ДвиженияДокументаЗапасы.Характеристика,
  | ДвиженияДокументаЗапасы.Партия,
  | ДвиженияДокументаЗапасы.ЗаказПокупателя,
  | ВЫБОР
  | КОГДА ДвиженияДокументаЗапасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
  | ТОГДА ЕСТЬNULL(ДвиженияДокументаЗапасы.Количество, 0)
  | ИНАЧЕ -ЕСТЬNULL(ДвиженияДокументаЗапасы.Количество, 0)
  | КОНЕЦ,
  | ВЫБОР
  | КОГДА ДвиженияДокументаЗапасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
  | ТОГДА ЕСТЬNULL(ДвиженияДокументаЗапасы.Сумма, 0)
  | ИНАЧЕ -ЕСТЬNULL(ДвиженияДокументаЗапасы.Сумма, 0)
  | КОНЕЦ
  | ИЗ
  | РегистрНакопления.Запасы КАК ДвиженияДокументаЗапасы
  | ГДЕ
  | ДвиженияДокументаЗапасы.Регистратор = &Ссылка
  | И ДвиженияДокументаЗапасы.Период <= &ПериодКонтроля) КАК ЗапасыОстатки
  |
  |СГРУППИРОВАТЬ ПО
  | ЗапасыОстатки.Организация,
  | ЗапасыОстатки.СтруктурнаяЕдиница,
  | ЗапасыОстатки.СчетУчета,
  | ЗапасыОстатки.Номенклатура,
  | ЗапасыОстатки.Характеристика,
  | ЗапасыОстатки.Партия,
  | ЗапасыОстатки.ЗаказПокупателя";

  Запрос.УстановитьПараметр("Ссылка", ДокументСсылкаРасходнаяНакладная);
  Запрос.УстановитьПараметр("МоментКонтроля", Новый Граница(СтруктураДополнительныеСвойства.ДляПроведения.МоментВремени, ВидГраницы.Включая));
  Запрос.УстановитьПараметр("ПериодКонтроля", СтруктураДополнительныеСвойства.ДляПроведения.МоментВремени.Дата);

 КонецЕсли;

 РезультатЗапроса = Запрос.Выполнить();
 ТаблицаЗапасыОстатки = РезультатЗапроса.Выгрузить();

 ТаблицаЗапасыОстатки.Индексы.Добавить("Организация,СтруктурнаяЕдиница,СчетУчета,Номенклатура,Характеристика,Партия");

 Для н = 0 По СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы.Количество() - 1 Цикл

  СтрокаТаблицаЗапасы = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы[н];

  СтруктураДляПоиска = Новый Структура;
  СтруктураДляПоиска.Вставить("Организация", СтрокаТаблицаЗапасы.Организация);
  СтруктураДляПоиска.Вставить("СчетУчета", СтрокаТаблицаЗапасы.СчетУчета);
  СтруктураДляПоиска.Вставить("Номенклатура", СтрокаТаблицаЗапасы.Номенклатура);
  СтруктураДляПоиска.Вставить("Характеристика", СтрокаТаблицаЗапасы.Характеристика);
  СтруктураДляПоиска.Вставить("Партия", СтрокаТаблицаЗапасы.Партия);

  КоличествоТребуетсяСвободныйОстаток = -СтрокаТаблицаЗапасы.Количество;

  Если КоличествоТребуетсяСвободныйОстаток > 0 Тогда

   МассивСтрокОстатков = ТаблицаЗапасыОстатки.НайтиСтроки(СтруктураДляПоиска);

   КоличествоОстаток = 0;
   СуммаОстаток = 0;

   Если МассивСтрокОстатков.Количество() > 0 Тогда
    КоличествоОстаток = МассивСтрокОстатков[0].КоличествоОстаток;
    СуммаОстаток = МассивСтрокОстатков[0].СуммаОстаток;
   КонецЕсли;

   Если КоличествоОстаток > 0 И КоличествоОстаток > КоличествоТребуетсяСвободныйОстаток Тогда

    СуммаКСписанию = Окр(СуммаОстаток * КоличествоТребуетсяСвободныйОстаток / КоличествоОстаток , 2, 1);

    МассивСтрокОстатков[0].КоличествоОстаток = МассивСтрокОстатков[0].КоличествоОстаток - КоличествоТребуетсяСвободныйОстаток;
    МассивСтрокОстатков[0].СуммаОстаток = МассивСтрокОстатков[0].СуммаОстаток - СуммаКСписанию;

   ИначеЕсли КоличествоОстаток = КоличествоТребуетсяСвободныйОстаток Тогда

    СуммаКСписанию = СуммаОстаток;

    МассивСтрокОстатков[0].КоличествоОстаток = 0;
    МассивСтрокОстатков[0].СуммаОстаток = 0;

   Иначе
    СуммаКСписанию = 0;
   КонецЕсли;

   // Запасы.
   Если Окр((СтрокаТаблицаЗапасы.Сумма + СуммаКСписанию), 2, 1) <> 0 Тогда

    СтрокаТаблицыРасход = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаЗапасы.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаТаблицыРасход, СтрокаТаблицаЗапасы);

    РасчетнаяСумма = -(СтрокаТаблицыРасход.Сумма + СуммаКСписанию);
    СтрокаТаблицыРасход.ВидДвижения = ВидДвиженияНакопления.Приход;
    СтрокаТаблицыРасход.Сумма = РасчетнаяСумма;

    СтрокаТаблицыРасход.Количество = 0;
    СтрокаТаблицыРасход.ДокументПродажи = ДокументСсылкаРасходнаяНакладная;
    СтрокаТаблицыРасход.Возврат = Истина;
    СтрокаТаблицыРасход.ФиксированнаяСтоимость = Истина;

    // Доходы и расходы.
    СтрокаДоходыИРасходы = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаДоходыИРасходы.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаДоходыИРасходы, СтрокаТаблицаЗапасы);

    СтрокаДоходыИРасходы.СтруктурнаяЕдиница = Неопределено;
    СтрокаДоходыИРасходы.ЗаказПокупателя = Неопределено;
    СтрокаДоходыИРасходы.НаправлениеДеятельности = Справочники.НаправленияДеятельности.Прочее;
    Если СтрокаТаблицыРасход.Сумма < 0 Тогда
     СтрокаДоходыИРасходы.СчетУчета = ПланыСчетов.Управленческий.ПрочиеРасходы;
     СтрокаДоходыИРасходы.СуммаРасходов = - СтрокаТаблицыРасход.Сумма;
    Иначе
     СтрокаДоходыИРасходы.СчетУчета = ПланыСчетов.Управленческий.ПрочиеДоходы;
     СтрокаДоходыИРасходы.СуммаДоходов = СтрокаТаблицыРасход.Сумма;
    КонецЕсли;

    СтрокаДоходыИРасходы.СодержаниеПроводки = НСтр("ru='Отражение расходов'");

    // Управленческий.
    СтрокаТаблицаУправленческий = СтруктураДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаУправленческий.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаТаблицаУправленческий, СтрокаТаблицаЗапасы);
    Если СтрокаТаблицыРасход.Сумма < 0 Тогда
     СтрокаТаблицаУправленческий.СчетДт = ПланыСчетов.Управленческий.ПрочиеРасходы;
     СтрокаТаблицаУправленческий.СчетКт = СтрокаТаблицаЗапасы.СчетКт;
     СтрокаТаблицаУправленческий.Сумма = - СтрокаТаблицыРасход.Сумма;
    Иначе
     СтрокаТаблицаУправленческий.СчетДт = СтрокаТаблицаЗапасы.СчетКт;
     СтрокаТаблицаУправленческий.СчетКт = ПланыСчетов.Управленческий.ПрочиеДоходы;
     СтрокаТаблицаУправленческий.Сумма = СтрокаТаблицыРасход.Сумма;
    КонецЕсли;

   КонецЕсли;

  КонецЕсли;

 КонецЦикла;

КонецПроцедуры // СформироватьТаблицаЗапасыВозврат()

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

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТаблицаЗакупки.Период КАК Период,
 | ТаблицаЗакупки.Организация КАК Организация,
 | ТаблицаЗакупки.Номенклатура КАК Номенклатура,
 | ТаблицаЗакупки.Характеристика КАК Характеристика,
 | ТаблицаЗакупки.Партия КАК Партия,
 | ТаблицаЗакупки.Заказ КАК ЗаказПоставщику,
 | ВЫБОР
 | КОГДА ТИПЗНАЧЕНИЯ(ТаблицаЗакупки.ДокументОснование) = ТИП(Документ.ПриходнаяНакладная)
 | И ТаблицаЗакупки.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ПриходнаяНакладная.ПустаяСсылка)
 | ТОГДА ТаблицаЗакупки.ДокументОснование
 | ИНАЧЕ ТаблицаЗакупки.Документ
 | КОНЕЦ КАК Документ,
 | ТаблицаЗакупки.СтавкаНДС КАК СтавкаНДС,
 | -СУММА(ТаблицаЗакупки.Количество) КАК Количество,
 | -СУММА(ТаблицаЗакупки.СуммаНДСЗакупкиПродажи) КАК СуммаНДС,
 | -СУММА(ТаблицаЗакупки.Сумма) КАК Сумма
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗакупки
 |ГДЕ
 | ТаблицаЗакупки.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
 | И (ТаблицаЗакупки.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратПоставщику)
 | ИЛИ ТаблицаЗакупки.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту))
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗакупки.Период,
 | ТаблицаЗакупки.Организация,
 | ТаблицаЗакупки.Номенклатура,
 | ТаблицаЗакупки.Характеристика,
 | ТаблицаЗакупки.Партия,
 | ТаблицаЗакупки.Заказ,
 | ВЫБОР
 | КОГДА ТИПЗНАЧЕНИЯ(ТаблицаЗакупки.ДокументОснование) = ТИП(Документ.ПриходнаяНакладная)
 | И ТаблицаЗакупки.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ПриходнаяНакладная.ПустаяСсылка)
 | ТОГДА ТаблицаЗакупки.ДокументОснование
 | ИНАЧЕ ТаблицаЗакупки.Документ
 | КОНЕЦ,
 | ТаблицаЗакупки.СтавкаНДС";

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЗакупки", РезультатЗапроса.Выгрузить());

КонецПроцедуры // СформироватьТаблицаЗакупки()

// Формирует таблицу значений, содержащую данные для проведения по регистру.
// Таблицы значений сохраняет в свойствах структуры "ДополнительныеСвойства".
//
Процедура СформироватьТаблицаПродажи(ДокументСсылкаРасходнаяНакладная, СтруктураДополнительныеСвойства)

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТаблицаПродажи.Период КАК Период,
 | ТаблицаПродажи.Организация КАК Организация,
 | ТаблицаПродажи.Номенклатура КАК Номенклатура,
 | ТаблицаПродажи.Характеристика КАК Характеристика,
 | ТаблицаПродажи.Партия КАК Партия,
 | ВЫБОР
 | КОГДА ТаблицаПродажи.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаПродажи.Заказ
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ КАК ЗаказПокупателя,
 | ТаблицаПродажи.Документ КАК Документ,
 | ТаблицаПродажи.СтавкаНДС КАК СтавкаНДС,
 | ТаблицаПродажи.ПодразделениеПродажи КАК Подразделение,
 | ТаблицаПродажи.Ответственный КАК Ответственный,
 | СУММА(ТаблицаПродажи.Количество) КАК Количество,
 | СУММА(ТаблицаПродажи.СуммаНДСЗакупкиПродажи) КАК СуммаНДС,
 | СУММА(ТаблицаПродажи.Сумма) КАК Сумма,
 | ТаблицаПродажи.Сумма + ТаблицаПродажи.СуммаСкидкиНаценки + ТаблицаПродажи.СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
 | 0 КАК Себестоимость,
 | ТаблицаПродажи.НоменклатураНабора КАК НоменклатураНабора,
 | ТаблицаПродажи.ХарактеристикаНабора КАК ХарактеристикаНабора
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаПродажи
 |ГДЕ
 | ТаблицаПродажи.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю)
 | И НЕ ТаблицаПродажи.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаПродажи.Период,
 | ТаблицаПродажи.Организация,
 | ТаблицаПродажи.Номенклатура,
 | ТаблицаПродажи.Характеристика,
 | ТаблицаПродажи.Партия,
 | ВЫБОР
 | КОГДА ТаблицаПродажи.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаПродажи.Заказ
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ,
 | ТаблицаПродажи.Документ,
 | ТаблицаПродажи.СтавкаНДС,
 | ТаблицаПродажи.ПодразделениеПродажи,
 | ТаблицаПродажи.Ответственный,
 | ТаблицаПродажи.НоменклатураНабора,
 | ТаблицаПродажи.ХарактеристикаНабора,
 | ТаблицаПродажи.Сумма + ТаблицаПродажи.СуммаСкидкиНаценки + ТаблицаПродажи.СуммаАвтоматическойСкидки";

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаПродажи", РезультатЗапроса.Выгрузить());

КонецПроцедуры // СформироватьТаблицаПродажи()

// Формирует таблицу значений, содержащую данные для проведения по регистру.
// Таблицы значений сохраняет в свойствах структуры "ДополнительныеСвойства".
//
Процедура СформироватьТаблицаВыпускПродукции(ДокументСсылкаРасходнаяНакладная, СтруктураДополнительныеСвойства)

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | МИНИМУМ(ТаблицаВыпускПродукции.НомерСтроки) КАК НомерСтроки,
 | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
 | ТаблицаВыпускПродукции.Период КАК Период,
 | ТаблицаВыпускПродукции.Организация КАК Организация,
 | ТаблицаВыпускПродукции.ПодразделениеПродажи КАК СтруктурнаяЕдиница,
 | ТаблицаВыпускПродукции.Номенклатура КАК Номенклатура,
 | ТаблицаВыпускПродукции.Характеристика КАК Характеристика,
 | ВЫБОР
 | КОГДА ТаблицаВыпускПродукции.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаВыпускПродукции.Заказ
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ КАК ЗаказПокупателя,
 | СУММА(ТаблицаВыпускПродукции.Количество) КАК Количество
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаВыпускПродукции
 |ГДЕ
 | ТаблицаВыпускПродукции.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаВыпускПродукции.Период,
 | ТаблицаВыпускПродукции.Организация,
 | ТаблицаВыпускПродукции.ПодразделениеПродажи,
 | ТаблицаВыпускПродукции.Номенклатура,
 | ТаблицаВыпускПродукции.Характеристика,
 | ВЫБОР
 | КОГДА ТаблицаВыпускПродукции.Заказ ССЫЛКА Документ.ЗаказПокупателя
 | ТОГДА ТаблицаВыпускПродукции.Заказ
 | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
 | КОНЕЦ";

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаВыпускПродукции", РезультатЗапроса.Выгрузить());

КонецПроцедуры // СформироватьТаблицаВыпускПродукции()

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

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | МИНИМУМ(ТаблицаЗапасыНаСкладах.НомерСтроки) КАК НомерСтроки,
 | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
 | ТаблицаЗапасыНаСкладах.Период КАК Период,
 | ТаблицаЗапасыНаСкладах.Организация КАК Организация,
 | ТаблицаЗапасыНаСкладах.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасыНаСкладах.Характеристика КАК Характеристика,
 | ТаблицаЗапасыНаСкладах.Партия КАК Партия,
 | ТаблицаЗапасыНаСкладах.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | ТаблицаЗапасыНаСкладах.Ячейка КАК Ячейка,
 | СУММА(ТаблицаЗапасыНаСкладах.Количество) КАК Количество
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасыНаСкладах
 |ГДЕ
 | (ТаблицаЗапасыНаСкладах.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
 | ИЛИ ТаблицаЗапасыНаСкладах.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат))
 | И НЕ ТаблицаЗапасыНаСкладах.ОрдерныйСклад
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасыНаСкладах.Период,
 | ТаблицаЗапасыНаСкладах.Организация,
 | ТаблицаЗапасыНаСкладах.Номенклатура,
 | ТаблицаЗапасыНаСкладах.Характеристика,
 | ТаблицаЗапасыНаСкладах.Партия,
 | ТаблицаЗапасыНаСкладах.СтруктурнаяЕдиница,
 | ТаблицаЗапасыНаСкладах.Ячейка";

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЗапасыНаСкладах", РезультатЗапроса.Выгрузить());

КонецПроцедуры // СформироватьТаблицаЗапасыНаСкладах()

// Формирует таблицу значений, содержащую данные для проведения по регистру.
// Таблицы значений сохраняет в свойствах структуры "ДополнительныеСвойства".
//
Процедура СформироватьТаблицаЗапасыКРасходуСоСкладов(ДокументСсылкаРасходнаяНакладная, СтруктураДополнительныеСвойства)

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | МИНИМУМ(ТаблицаЗапасыКРасходуСоСкладов.НомерСтроки) КАК НомерСтроки,
 | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
 | ТаблицаЗапасыКРасходуСоСкладов.Период КАК Период,
 | ТаблицаЗапасыКРасходуСоСкладов.Организация КАК Организация,
 | ТаблицаЗапасыКРасходуСоСкладов.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасыКРасходуСоСкладов.Характеристика КАК Характеристика,
 | ТаблицаЗапасыКРасходуСоСкладов.Партия КАК Партия,
 | ТаблицаЗапасыКРасходуСоСкладов.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
 | СУММА(ТаблицаЗапасыКРасходуСоСкладов.Количество) КАК Количество
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасыКРасходуСоСкладов
 |ГДЕ
 | ТаблицаЗапасыКРасходуСоСкладов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
 | И ТаблицаЗапасыКРасходуСоСкладов.ОрдерныйСклад
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасыКРасходуСоСкладов.Период,
 | ТаблицаЗапасыКРасходуСоСкладов.Организация,
 | ТаблицаЗапасыКРасходуСоСкладов.Номенклатура,
 | ТаблицаЗапасыКРасходуСоСкладов.Характеристика,
 | ТаблицаЗапасыКРасходуСоСкладов.Партия,
 | ТаблицаЗапасыКРасходуСоСкладов.СтруктурнаяЕдиница";

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЗапасыКРасходуСоСкладов", РезультатЗапроса.Выгрузить());

КонецПроцедуры // СформироватьТаблицаЗапасыКРасходуСоСкладов()

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

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | 1 КАК Порядок,
 | МИНИМУМ(ТаблицаЗапасыПринятые.НомерСтроки) КАК НомерСтроки,
 | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
 | ТаблицаЗапасыПринятые.Период КАК Период,
 | ТаблицаЗапасыПринятые.Организация КАК Организация,
 | ТаблицаЗапасыПринятые.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасыПринятые.Характеристика КАК Характеристика,
 | ТаблицаЗапасыПринятые.Партия КАК Партия,
 | ТаблицаЗапасыПринятые.Контрагент КАК Контрагент,
 | ТаблицаЗапасыПринятые.Договор КАК Договор,
 | ТаблицаЗапасыПринятые.Заказ КАК Заказ,
 | ТаблицаЗапасыПринятые.СчетУчета КАК СчетУчета,
 | ВЫБОР
 | КОГДА ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПоступлениеОтКомитента)
 | КОГДА ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПоступлениеВПереработку)
 | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ОтветственноеХранение)
 | КОНЕЦ КАК ТипПриемаПередачи,
 | -СУММА(ТаблицаЗапасыПринятые.Количество) КАК Количество,
 | -СУММА(ТаблицаЗапасыПринятые.СуммаРасчетовПринятыеПереданные) КАК СуммаРасчетов,
 | -СУММА(ТаблицаЗапасыПринятые.СуммаРасчетовПринятыеПереданные) КАК Сумма,
 | 0 КАК СуммаПродажи,
 | &ВалютаУпрУчета КАК Валюта,
 | -СУММА(ТаблицаЗапасыПринятые.СуммаРасчетовПринятыеПереданные) КАК СуммаВал,
 | ВЫРАЗИТЬ(&ПриемЗапасов КАК СТРОКА(100)) КАК СодержаниеПроводки
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасыПринятые
 |ГДЕ
 | ТаблицаЗапасыПринятые.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
 | И (ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ИЛИ ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ИЛИ ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратСОтветхранения))
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасыПринятые.Период,
 | ТаблицаЗапасыПринятые.Организация,
 | ТаблицаЗапасыПринятые.Номенклатура,
 | ТаблицаЗапасыПринятые.Характеристика,
 | ТаблицаЗапасыПринятые.Партия,
 | ТаблицаЗапасыПринятые.Контрагент,
 | ТаблицаЗапасыПринятые.Договор,
 | ТаблицаЗапасыПринятые.Заказ,
 | ТаблицаЗапасыПринятые.СчетУчета,
 | ВЫБОР
 | КОГДА ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратКомитенту)
 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПоступлениеОтКомитента)
 | КОГДА ТаблицаЗапасыПринятые.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ВозвратИзПереработки)
 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПоступлениеВПереработку)
 | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ОтветственноеХранение)
 | КОНЕЦ
 |
 |ОБЪЕДИНИТЬ ВСЕ
 |
 |ВЫБРАТЬ
 | 2,
 | МИНИМУМ(ТаблицаЗапасыПринятые.НомерСтроки),
 | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
 | ТаблицаЗапасыПринятые.Период,
 | ТаблицаЗапасыПринятые.Организация,
 | ТаблицаЗапасыПринятые.Номенклатура,
 | ТаблицаЗапасыПринятые.Характеристика,
 | ТаблицаЗапасыПринятые.Партия,
 | НЕОПРЕДЕЛЕНО,
 | НЕОПРЕДЕЛЕНО,
 | ТаблицаЗапасыПринятые.Заказ,
 | ТаблицаЗапасыПринятые.СчетУчетаРасчетовСПоставщиком,
 | ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ОтчетКомитенту),
 | СУММА(ТаблицаЗапасыПринятые.Количество),
 | 0,
 | СУММА(ТаблицаЗапасыПринятые.Сумма),
 | СУММА(ТаблицаЗапасыПринятые.Сумма),
 | &ВалютаУпрУчета,
 | СУММА(ТаблицаЗапасыПринятые.Сумма),
 | ВЫРАЗИТЬ(&ПриемЗапасовТоварыНаКомиссии КАК СТРОКА(100))
 |ИЗ
 | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасыПринятые
 |ГДЕ
 | ТаблицаЗапасыПринятые.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас)
 | И ТаблицаЗапасыПринятые.ТоварыНаКомиссии
 |
 |СГРУППИРОВАТЬ ПО
 | ТаблицаЗапасыПринятые.Период,
 | ТаблицаЗапасыПринятые.Организация,
 | ТаблицаЗапасыПринятые.Номенклатура,
 | ТаблицаЗапасыПринятые.Характеристика,
 | ТаблицаЗапасыПринятые.Партия,
 | ТаблицаЗапасыПринятые.Контрагент,
 | ТаблицаЗапасыПринятые.Договор,
 | ТаблицаЗапасыПринятые.Заказ,
 | ТаблицаЗапасыПринятые.СчетУчетаРасчетовСПоставщиком,
 | ТаблицаЗапасыПринятые.СчетУчета";

 Запрос.УстановитьПараметр("ПриемЗапасов", "");
 Запрос.УстановитьПараметр("ПриемЗапасовТоварыНаКомиссии", НСтр("ru = 'Прием запасов'"));
 Запрос.УстановитьПараметр("ВалютаУпрУчета", Константы.ВалютаУчета.Получить());

 РезультатЗапроса = Запрос.Выполнить();

 СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЗапасыПринятые", РезультатЗапроса.Выгрузить());

КонецПроцедуры // СформироватьТаблицаЗапасыПринятые()

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

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
 Запрос.Текст =
 "ВЫБРАТЬ
 | МИНИМУМ(ТаблицаЗапасыПереданные.НомерСтроки) КАК НомерСтроки,
 | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
 | ТаблицаЗапасыПереданные.Период КАК Период,
 | ТаблицаЗапасыПереданные.Организация КАК Организация,
 | ТаблицаЗапасыПереданные.Номенклатура КАК Номенклатура,
 | ТаблицаЗапасыПереданные.Характеристика КАК Характеристика,
 | ТаблицаЗапасыПереданные.Партия КАК Партия,
 | ТаблицаЗапасыПереданные.Контрагент КАК Контрагент,
 | ТаблицаЗапасыПереданные.Договор КАК Договор,
 | ТаблицаЗапасыПереданные.Заказ КАК Заказ,
 | ВЫБОР
 | КОГДА ТаблицаЗапасыПереданные.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию)
 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПередачаКомиссионеру)
 | КОГДА ТаблицаЗапасыПереданные.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходнаяНакладная.ПередачаВПереработку)
 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыПриемаПередачиТоваров.ПередачаВПереработку)
 | ИНАЧЕ ЗНАЧЕНИЕ(Пер
---
"СтруктураЗаполненияСекции.Вставить("ВыводимоеИмя", ПараметрыСеанса.ТекущийПользователь);"
Пардон, вам надо найти код, в котором заполняются параметры области "Подписи".
---
Заполнил строго в блок "подписи", вводил и "СтруктураЗаполненияСекции.Вставить("ВыводимоеИмя", ПараметрыСеанса.ТекущийПользователь);"
и также "СтруктураЗаполненияСекции.Вставить("Подписи|ВыводимоеИмя", ПараметрыСеанса.ТекущийПользователь);" но результата нет. Пользователь так и не отображается при печати((
---
```1c
    "ОбластьМакета = Макет.ПолучитьОбласть("Подписи|ОсновныеДанные"); // Или как она у вас называется, Ищите где заполняется эта область
    //Заполнение области
    ОбластьМакета.Параметры.ВвыводимоеИмя = ПараметрыСеанса.ТекущийПользователь; // и туда вставляете
    ТабличныйДокумент.Вывести(ОбластьМакета);"
```

И на скрине вы вставили не в ту область если через структуру хотели...

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

    Областьмакета.Параметры.Заполнить(СтруктураЗаполненияСекции); // Тогда и заполняйте данными из структуры в которую добавили значение"
```
---
Спасибо огромное! Очень выручили))