Что то никак у меня не получается получить цену в выборке (обход по группировкам сделал что б в моем каталоге все шло по порядку согласно иерархии
номенклатуры), помогите плз, как мне сохранить и порядок размещения картинок в каталоге согласно иерархии и получить цену в выборке,вот вест код
Процедура ПрайсИнициализация()
ПостроительОтчетаПрайс.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование,
| ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
| ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка,
| ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки
| ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|ИТОГИ ПО
| Номенклатура ИЕРАРХИЯ
|АВТОУПОРЯДОЧИВАНИЕ";
ПостроительОтчетаПрайс.ЗаполнитьНастройки();
//ПостроительОтчетаПрайс.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
ПостроительОтчетаПрайс.ТекстЗаголовка = "Прайс";
ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("Номенклатура");
ПолеОтбора.ВидСравнения = ВидСравнения.ВИерархии;
ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("КоличествоОстаток");
ПолеОтбора.ВидСравнения = ВидСравнения.Больше;
ПолеОтбора.Значение = 0;
ПолеОтбора.Использование = Истина
КонецПроцедуры
Процедура ПрайсВывести(ПечататьЦенники = Ложь)
Если НаДату = '00010101' Тогда
Предупреждение("Не указана дата !!!");
Возврат;
КонецЕсли;
Если ТипЦен.Пустая() Тогда
Предупреждение("Не указан тип цен");
Возврат;
КонецЕсли;
Если ВключатьТолькоОстатки И Склады.Количество() = 0 Тогда
Предупреждение("Не указаны склады для поиска остатков");
Возврат;
КонецЕсли;
ПостроительОтчетаПрайс.Параметры.Вставить("НаДату", КонецДня(НаДату));
ПостроительОтчетаПрайс.Параметры.Вставить("ТипЦен", ТипЦен);
ПостроительОтчетаПрайс.Параметры.Вставить("Склады", Склады.Выгрузить().ВыгрузитьКолонку("Склад"));
ИмяПоляОстаток = "КоличествоОстаток";
ПолеОтбораОстаток = ПостроительОтчетаПрайс.Отбор.Найти(ИмяПоляОстаток);
Если ВключатьТолькоОстатки Тогда
Если ПолеОтбораОстаток = Неопределено Тогда
ПолеОтбораОстаток = ПостроительОтчетаПрайс.Отбор.Добавить(ИмяПоляОстаток);
Конецесли;
ПолеОтбораОстаток.ВидСравнения = ВидСравнения.Больше;
ПолеОтбораОстаток.Использование = Истина;
Иначе
Если ПолеОтбораОстаток <> Неопределено Тогда
ОтборКоличество = ПостроительОтчетаПрайс.Отбор.Количество();
Для Н = 1 По ОтборКоличество Цикл
Если ПостроительОтчетаПрайс.Отбор[ОтборКоличество - Н].Имя = ИмяПоляОстаток Тогда
ПостроительОтчетаПрайс.Отбор.Удалить(ОтборКоличество - Н);
КонецЕсли
КонецЦикла;
КонецЕсли;
КонецЕсли;
ПостроительОтчетаПрайс.Выполнить();
Макет = ПолучитьМакет("Прайс");
ЭлементыФормы.ПолеТабличногоДокумента.Очистить();
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ТабДок1 = Новый ТабличныйДокумент;
ТабДок2 = Новый ТабличныйДокумент;
Выборка = ПостроительОтчетаПрайс.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
КоличествоСтраниц = 0;
Номер = 0;
НомерЗаписи = 0;
ЛевыйСтолбец = Истина;
КоличествоСтрокНаСтранице = 4;
Пока Выборка.Следующий() Цикл
Если НомерЗаписи = КоличествоСтрокНаСтранице Тогда
Если ЛевыйСтолбец Тогда
ЛевыйСтолбец = Ложь;
Иначе
КоличествоСтраниц = КоличествоСтраниц + 1;
ТабДок.Присоединить(ТабДок1);
ТабДок.Присоединить(ТабДок2);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
ТабДок.Вывести(Макет.ПолучитьОбласть("МеждуСтрочье"));
ЛевыйСтолбец = Истина;
ТабДок1 = Новый ТабличныйДокумент;
ТабДок2 = Новый ТабличныйДокумент;
КонецЕсли;
НомерЗаписи = 0;
КонецЕсли;
ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
ЕСЛИ Выборка.Номенклатура.ЭтоГруппа = Истина Тогда
Изображение = Неопределено;
Иначе
Изображение = Выборка.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
КонецЕсли;
// Изображение = Неопределено;
Если НЕ Изображение = Неопределено Тогда
////////////////////////////////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Рисунок.Верх = 6;
Рисунок.Лево = 1;
Рисунок.Ширина = 17;
Рисунок.Высота = 79;
Рисунок.ОриентацияТекста = -0;
Рисунок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Рисунок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Рисунок.Шрифт = Новый Шрифт("Verdana", 13.5,Истина);
Рисунок.ЦветТекста = Новый Цвет(0,0,0);
Рисунок.Текст = Выборка.Номенклатура.Артикул;
//////////////////////////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Верх = 6;
Рисунок.Высота =79;
Рисунок.Ширина = 90;
Рисунок.Лево = 18;
Рисунок.РазмерКартинки = РазмерКартинки.Растянуть;
Рисунок.Картинка = Изображение;
///////////////////////////////////////
/////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Рисунок.Верх = 6;
Рисунок.Лево = 108;
Рисунок.Ширина = 17;
Рисунок.Высота = 79;
Рисунок.ОриентацияТекста = -0;
Рисунок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Рисунок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Рисунок.Шрифт = Новый Шрифт("Verdana", 10,Истина);
Рисунок.ЦветТекста = Новый Цвет(0,0,0);
Рисунок.Текст =Выборка.Цена;
/////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Рисунок.Верх = 85;//76;
Рисунок.Лево = 1;
Рисунок.Ширина = 124;
Рисунок.Высота = 9;
Рисунок.ОриентацияТекста = -0;
Рисунок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Рисунок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Рисунок.Шрифт = Новый Шрифт (,,Истина);
Рисунок.ЦветТекста = Новый Цвет(0,0,0);
Рисунок.Текст = Выборка.Наименование;
Если ЛевыйСтолбец Тогда
ТабДок1.Вывести(ОбластьНоменклатура);
Иначе
ТабДок2.Вывести(ОбластьНоменклатура);
КонецЕсли;
НомерЗаписи = НомерЗаписи + 1;
КонецЕсли;
КонецЦикла;
ТабДок.Присоединить(ТабДок1);
ТабДок.Присоединить(ТабДок2);
ТабДок.ПолеСлева = 0;
ТабДок.ПолеСправа = 0;
ТабДок.ПолеСверху = 0;
ТабДок.ПолеСнизу = 0;
ТабДок.АвтоМасштаб = Истина;
КонецПроцедуры