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