![]() |
|
группировка товара по наименованию | ☑ | ||
---|---|---|---|---|
0
nemel09
04.08.17
✎
11:29
|
Добрый день. Помогите понять что не правильно делаю. У документа есть печатная форма, в которой происходит группировка по Наименованию. Если наименование сменилось, то подводится итог. Так же группируются характеристики наименования, если они разные то тоже должны выводится.
|
|||
1
nemel09
04.08.17
✎
11:30
|
Вот код печати.
Функция ПолучитьТабДок() Экспорт ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Спецификация"; ПараметрыПечати = ПолучитьПараметрыПечати(); Макет = ПолучитьМакет("Макет"); Заголовок = Макет.ПолучитьОбласть("Заголовок"); Заголовок.Параметры.Заполнить(ПараметрыПечати); ТабДокумент.Вывести(Заголовок); ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДокумент.Вывести(ШапкаТаблицы); ПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ПодвалТаблицы.Параметры.Заполнить(ПараметрыПечати); ТабДокумент.НачатьАвтогруппировкуСтрок(); ГруппировкаНоменклатуры = Макет.ПолучитьОбласть("ГруппировкаНоменклатуры"); ИтогПоНоменклатуре = Макет.ПолучитьОбласть("ИтогПоНоменклатуре"); ТабДокумент.НачатьАвтогруппировкуСтрок(); Сч = 0; //++Р ЦенаВывод = 0; СуммаВывод = 0; в = 0; Количество = 0; НМодели = ""; Ткань = ""; //--Р Для Каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл в = 0; ГруппировкаНоменклатуры.Параметры.Заполнить(ПараметрыПозиции); ТабДокумент.Вывести(ГруппировкаНоменклатуры, 1); Для каждого ПараметрыДетПозиции Из ПараметрыПозиции.ДетальныеДанные Цикл //++Р Если не ЦенаВывод = ПараметрыДетПозиции.Цена и не в = 0 Тогда ТабДокумент.Вывести(ИтогПоНоменклатуре); ЦенаВывод = 0; СуммаВывод = 0; Количество = 0; КонецЕсли; ЦенаВывод = ПараметрыДетПозиции.Цена; СуммаВывод = СуммаВывод + ЦенаВывод*ПараметрыДетПозиции.Количество; Количество = Количество + ПараметрыДетПозиции.Количество; ИтогПоНоменклатуре.Параметры.Цена = ЦенаВывод; ИтогПоНоменклатуре.Параметры.Сумма = СуммаВывод; ИтогПоНоменклатуре.Параметры.Количество = Количество; //--Р РасшифровкаНоменклатуры = Макет.ПолучитьОбласть("РасшифровкаНоменклатуры"); РасшифровкаНоменклатуры.Параметры.Заполнить(ПараметрыДетПозиции); //++Р Если ПараметрыДетПозиции.НомерМодели = НМодели тогда РасшифровкаНоменклатуры.Параметры.НомерМодели = ""; КонецЕсли; Если ПараметрыДетПозиции.ВидТкани = Ткань тогда РасшифровкаНоменклатуры.Параметры.ВидТкани = ""; КонецЕсли; //--Р ТабДокумент.Вывести(РасшифровкаНоменклатуры, 2); Сч = Сч + 1; //++Р в = 1; Если не ПараметрыДетПозиции.НомерМодели = "" Тогда НМодели = ПараметрыДетПозиции.НомерМодели; Конецесли; Если не ПараметрыДетПозиции.ВидТкани = "" Тогда Ткань = ПараметрыДетПозиции.ВидТкани; Конецесли; //--Р КонецЦикла; //ИтогПоНоменклатуре.Параметры.Заполнить(ПараметрыПозиции); Если Сч = ПараметрыПечати.ВсегоПозиций Тогда Если НЕ ТабДокумент.ПроверитьВывод(ПодвалТаблицы) Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; КонецЕсли; ТабДокумент.Вывести(ИтогПоНоменклатуре, 1); //++Р ЦенаВывод = 0; СуммаВывод = 0; Количество = 0; //--Р КонецЦикла; ТабДокумент.ЗакончитьАвтогруппировкуСтрок(); ТабДокумент.Вывести(ПодвалТаблицы); Возврат ТабДокумент; КонецФункции |
|||
2
nemel09
04.08.17
✎
11:32
|
||||
3
nemel09
04.08.17
✎
11:34
|
(2) Вот что получается. http://s018.radikal.ru/i516/1708/43/26f901d2fcca.jpg
Ткань должна быть также проставлена как и цвет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |