Имя: Пароль:
1C
 
Помогите поправить отчет.
0 33554432
 
26.05.16
13:05
Отчет формирует много областей вправо и много вниз. То есть присоединяемые области все время присоединяются к первой выведенной области. Как сделать, чтобы они парно выходили? Одна выводится, вторая присоединяется.

ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Макет =  ОбработкаОбъект.ПолучитьМакет("СтеллажнаяКарта");


счетчик=0;
для каждого стр из объект.ТоварыПрОрдерТекущий цикл
счетчик=счетчик+1;

если счетчик/2<>цел(счетчик/2) тогда
ОбластьМакета =  Макет.ПолучитьОбласть("стл");

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

конецесли;

    
ОбластьМакета.Параметры.номенклатура=стр.номенклатура;
ОбластьМакета.Параметры.характеристика=стр.характеристика;
ОбластьМакета.Параметры.Серия=стр.Серия;
ОбластьМакета.Параметры.едизм=стр.Упаковка;
ОбластьМакета.Параметры.ячейка=стр.комментарий;
ОбластьМакета.Параметры.колво=стр.Количество;
ОбластьМакета.Параметры.номакт=объект.ВыбранныйПТУ.НомерВходящегоДокумента;
ОбластьМакета.Параметры.датакт=объект.ВыбранныйПТУ.ДатаВходящегоДокумента;
ОбластьМакета.Параметры.ох=стр.номенклатура.складскаягруппа;


ОбластьМакета.Параметры.колво=стр.Количество;


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


если счетчик/2<>цел(счетчик/2) тогда
ТабличныйДокумент.Вывести(ОбластьМакета);
иначе
ТабличныйДокумент.Присоединить(ОбластьМакета,счетчик/2);
конецесли;
конеццикла;

возврат ТабличныйДокумент;
1 33554432
 
26.05.16
13:18
вот что не хватало. всем спасибо.
ОбластьМакета =  Макет.ПолучитьОбласть("стл|ств");
2 PRO100 NigGaZ
 
26.05.16
13:19
Запрос в цикле, аплодисменты
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший