Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 14:58

Добавить колонку в отчет, где отображается на каком контрагенте резерв данной номенклатуры

Автор Лебешева Юлия, 16 мая 2018, 16:31

0 Пользователей и 1 гость просматривают эту тему.

Лебешева Юлия

1С 8.2 Управление торговлей
Добрый день читатели форума!) Мне нужна подсказка по добавлению колонки в отчет , на картинке видно как он выглядит.
перечень Номенклатуры, её цена, кол-во на складе и кол-во в резерве, нужна дополнительная колонка где будет указан контрагент на котором сейчас резерв. Тоесть: на данный момент отчет показывает что на складе 10 молотков и 5 из них в резерве, нужно дополнение 2 молотка на Пете а 3 на Васе. Отчет был сделан на основе универсального и сохранен как внешний.

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

// УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "Склад", "Склад");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "Номенклатура", "Номенклатура");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "ХарактеристикаНоменклатуры", "Характеристика номенклатуры");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "СерияНоменклатуры", "Серия номенклатуры");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "ТипЦен", "Тип цен");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "РезервНаОбьекте", "Резерв на обьекте");
// Добавление показателей
// Необходимо вызывать для каждого добавляемого показателя.
// УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
УниверсальныйОтчет.ДобавитьПоказатель("Цена", "Цена", Истина, "ЧЦ=15; ЧДЦ=2", "Цена", "Цена");
УниверсальныйОтчет.ДобавитьПоказатель("Остаток", "Общее кол-во на складе", Истина, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("ОстатокРезерв", "Общее кол-во на обьекте", Истина, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("Сумма", "Сумма остаток", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма");
УниверсальныйОтчет.ДобавитьПоказатель("СуммаРезерв", "Сумма остаток в резерве", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма");
УниверсальныйОтчет.ДобавитьПоказатель("РезервНаОбьекте", "Резерв на обьекте", Истина, "ЧЦ=15; ЧДЦ=3", "Резерв на обьекте", "Резерв на обьекте");


// Добавление предопределенных группировок строк отчета.
// Необходимо вызывать для каждой добавляемой группировки строки.
// УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");


LexaK

э-э-э, с таким соединением

| ПО ТоварыВРезервеНаСкладахОстатки.Номенклатура = ЗаказПокупателя.Контрагент

вы контрагента не получите.

и еще как вариант
может вместо универсального отчета использовать обычный СКД?
если помогло нажмите: Спасибо!

AIFrame

Лебешева Юлия,
Контрагент - это реквизит документа-регистратора.
Оттуда и пляшите.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск