Имя: Пароль:
1C
1С v8
v8: УТ10.3 Инвентаризация, вывести группировки по Номенклатура.Родитель
0 KENT2007
 
13.10.12
10:27
УТ 10,3 нужно вывести инвентаризацию в разрезе номенклатура.родитель
1 KENT2007
 
13.10.12
10:28
Процедура КнопкаСформироватьНажатие(Кнопка)
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ИнвентаризацияТоваровНаСкладеТовары.Ссылка,
       |    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура.Родитель КАК НоменклатураРодитель,
       |    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
       |    ИнвентаризацияТоваровНаСкладеТовары.Количество,
       |    ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет,
       |    ИнвентаризацияТоваровНаСкладеТовары.ЕдиницаИзмерения,
       |    ИнвентаризацияТоваровНаСкладеТовары.Цена,
       |    ИнвентаризацияТоваровНаСкладеТовары.Сумма,
       |    ИнвентаризацияТоваровНаСкладеТовары.СуммаУчет
       |ИЗ
       |    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары
       |ГДЕ
       |    ИнвентаризацияТоваровНаСкладеТовары.Ссылка = &Ссылка
       |ИТОГИ ПО
       |    НоменклатураРодитель";

   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияТоваровНаСкладе";
   
   Строка = "Строка";
   Группа = "Группа";
       
   Макет = ПолучитьМакет("ИнвентаризацияТоваровНаСкладе");
  ОбластьНомера = Макет.ПолучитьОбласть(Строка);  
      ОбластьМакета = Макет.ПолучитьОбласть("Группа");
      ОбластьГруппы = Макет.ПолучитьОбласть(Группа);
     
     
Пока Выборка.Следующий() Цикл        
   ПараметрыПозиции = Новый Структура;
   ПараметрыПозиции.Вставить("Группа", Выборка.НоменклатураРодитель);        

   
       Если НЕ ЗначениеЗаполнено(Выборка.Номенклатура) Тогда        
           Если Выборка.НоменклатураРодитель.Уровень() = 0 Тогда
   
               ТабДокумент.Вывести(ОбластьГруппы);    
   
           КонецЕсли;
       Иначе
           
   ОбластьМакета = Макет.ПолучитьОбласть("Строка");
   ОбластьМакета.Параметры.Товар = Выборка.Номенклатура;                              
   ОбластьМакета.Параметры.Количество= Выборка.Количество;
         ОбластьНомера.Параметры.Заполнить(ПараметрыПозиции);

      ТабДокумент.Вывести(ОбластьНомера);    
           
           
       КонецЕсли;        
   КонецЦикла;
     ТабДокумент.Вывести(ОбластьМакета);    
   
    ТабДокумент.Показать();
КонецПроцедуры
2 KENT2007
 
13.10.12
10:32
выводит номенклатуру,а группы не хочет
3 KENT2007
 
13.10.12
10:52
гляньте плиз код что не так?
4 aka AMIGO
 
13.10.12
11:27
мне как-то намякнули, что в тексте запроса нехватает функций..
возможно, мое замечание не в колею..
5 aka AMIGO
 
13.10.12
11:29
+4 ну, типа ...СУММА(чего-то_там)...
надеюсь, понимаешь о чем речь..
или не обращай внимания :)
6 ДенисЧ
 
13.10.12
11:29
(4) с 7кой не путай
7 ДенисЧ
 
13.10.12
11:29
а да... Если итоги, то должны быть вычисляемые функциии...
8 aka AMIGO
 
13.10.12
11:30
(6)не.. не путаю.. на 8-ке составлял запрос, мне и подправили мозги тут, на мисте..