Помогите с Итогами

1. dadka 20.02.12 22:20 Сейчас в теме
Доброго времени суток всем. помогите пожалуйста разобраться.
есть код (чуть ниже я его опубликую), нужно, чтобы как считается ИтогКоличество, чтобы считался ИтогМеста, ИтогNet, ИтогБрутто.
Прошу учесть, что:
Места
Брутто
это дополнительные реквизиты Справочника Номенклатура.
Заранее спасибо за ответы.


Перем мВалютаРегламентированногоУчета Экспорт;

Функция Печать() Экспорт

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

ЗапросПоТоварам = Новый Запрос();
ЗапросПоТоварам.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);

ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("ЗапросПоУслугам");

ЗапросПоТоварам.Текст =
"ВЫБРАТЬ
| ЗапросПоТоварам.Номенклатура,
| ЗапросПоТоварам.Номенклатура.Код,
| ЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
| ЗапросПоТоварам.ЕдиницаИзмерения.Представление,
| ЗапросПоТоварам.КоличествоМест,
| ЗапросПоТоварам.Количество КАК Количество,
| ЗапросПоТоварам.Коэффициент,
| ЗапросПоТоварам.Цена,
| ЗапросПоТоварам.Сумма,
| ЗапросПоТоварам.НомерСтроки,
| 3 КАК Поле2,
| ЕСТЬNULL(ЗначенияНетто.Значение, 0) КАК Нетто,
| ЕСТЬNULL(ЗначенияМеста.Значение, 0) КАК Места,
| ЕСТЬNULL(ЗначенияБрутто.Значение, 0) КАК Брутто
|ИЗ
| (ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Номенклатура КАК Номенклатура,
| СУММА(ПоступлениеТоваровУслуг.КоличествоМест) КАК КоличествоМест,
| СУММА(ПоступлениеТоваровУслуг.Количество) КАК Количество,
| ПоступлениеТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ПоступлениеТоваровУслуг.Коэффициент КАК Коэффициент,
| ПоступлениеТоваровУслуг.Цена КАК Цена,
| СУММА(ПоступлениеТоваровУслуг.Сумма) КАК Сумма,
| СУММА(ПоступлениеТоваровУслуг.СуммаНДС) КАК СуммаНДС,
| ПоступлениеТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
| МИНИМУМ(ПоступлениеТоваровУслуг.НомерСтроки) КАК НомерСтроки
| ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг
| ГДЕ
| ПоступлениеТоваровУслуг.Ссылка = &ТекущийДокумент
|
| СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровУслуг.Номенклатура,
| ПоступлениеТоваровУслуг.СтавкаНДС,
| ПоступлениеТоваровУслуг.Цена,
| ПоступлениеТоваровУслуг.ЕдиницаИзмерения,
| ПоступлениеТоваровУслуг.Коэффициент) КАК ЗапросПоТоварам
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияНетто
| ПО ЗапросПоТоварам.Номенклатура.Ссылка = ЗначенияНетто.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияМеста
| ПО ЗапросПоТоварам.Номенклатура.Ссылка = ЗначенияМеста.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияБрутто
| ПО ЗапросПоТоварам.Номенклатура.Ссылка = ЗначенияБрутто.Объект
|ГДЕ
| ЗначенияМеста.Свойство.Наименование = ""Места""
| И ЗначенияНетто.Свойство.Наименование = ""Нетто""
| И ЗначенияБрутто.Свойство.Наименование = ""Брутто""" ;

ВыборкаСтрок = ЗапросПоТоварам.Выполнить().Выгрузить();

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_ТОРГ12";
Макет = ПолучитьМакет("ТОРГ12");

ОбластьМакетаШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьМакетаЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаб");
ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьМакетаИтогоПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице");
ОбластьМакетаВсего = Макет.ПолучитьОбласть("Всего");
ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьМакетаШапка.Параметры.НомерДокумента = Номер;
ОбластьМакетаШапка.Параметры.ДатаДокумента = Формат(Дата, "ДФ=dd.MM.yyyy");


ТабДокумент.Вывести(ОбластьМакетаШапка);

ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаб");
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Строка");

Количество = 0;
Места = 0;
//Net = 0;
Брутто = 0;
Сумма = 0;
СуммаНДС = 0;




Для Каждого ВыборкаСтрокТовары Из ВыборкаСтрок Цикл

ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.НомерСтроки = ВыборкаСтрок.Индекс(ВыборкаСтрокТовары) + 1;
ОбластьМакета.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.НаименованиеПолное);
ОбластьМакета.Параметры.Нетто = ВыборкаСтрокТовары.Нетто;
ОбластьМакета.Параметры.Места = ВыборкаСтрокТовары.Места;
ОбластьМакета.Параметры.Брутто = ВыборкаСтрокТовары.Брутто;
//

Количество = Количество + ВыборкаСтрокТовары.Количество;
Net = ВыборкаСтрокТовары.Количество * ВыборкаСтрокТовары.Нетто;
ОбластьМакета.Параметры.Net = Net;
Сумма = Сумма + ВыборкаСтрокТовары.Сумма;
ТабДокумент.Вывести(ОбластьМакета);

КонецЦикла;



// Вывести Итого
ОбластьМакета = Макет.ПолучитьОбласть("Всего");
ОбластьМакета.Параметры.ИтогКоличество = ОбщегоНазначения.ФорматСумм(Количество);
ОбластьМакета.Параметры.ИтогМеста = ОбщегоНазначения.ФорматСумм(Места);
// ОбластьМакета.Параметры.ИтогNet = ОбщегоНазначения.ФорматСумм(Net);
ОбластьМакета.Параметры.ИтогБрутто = ОбщегоНазначения.ФорматСумм(Брутто);
ОбластьМакета.Параметры.ИтогСуммыСНДС = ОбщегоНазначения.ФорматСумм(Сумма);
ТабДокумент.Вывести(ОбластьМакета);


// Вывести TOTAL
ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
ОбластьМакета.Параметры.ИтогКоличество = ОбщегоНазначения.ФорматСумм(Количество);

ОбластьМакета.Параметры.ИтогСуммыСНДС = ОбщегоНазначения.ФорматСумм(Сумма);


//ПервыйРазделитель = Найти(ПолнаяДатаДокумента," ");
//ВторойРазделитель = Найти(Прав(ПолнаяДатаДокумента,ДлинаСтроки - ПервыйРазделитель), " ") + ПервыйРазделитель;

ТабДокумент.Вывести(ОбластьМакета);

Возврат ТабДокумент;

КонецФункции // ПечатьПоступлениеТоваров()

мВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
По теме из базы знаний
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот