Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:04

Отображение номенклатуры в Иерархии в печатной форме

Автор Lostuk, 04 авг 2016, 08:02

0 Пользователей и 1 гость просматривают эту тему.

Lostuk

Добрый день. Я далек еще от правильного и красивого писания кода, поэтому не ругайтесь, а лучше помогите:)
Есть печатная форма, в ней нужно сделать вывод номенклатуры в виде Иерархии. В данный момент он мне показывает иерархию, но не отображает название групп(Приложил скриншот).

Функция Печать() Экспорт
    мВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
    мВалютаУпрУчета                 = глЗначениеПеременной("ВалютаУправленческогоУчета");

    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ТоварКод = "Артикул";
    Иначе
        ТоварКод = "Код";
    КонецЕсли;

    Если СсылкаНаОбъект.Склад.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда
        ВалютаПересчета = мВалютаРегламентированногоУчета;
    Иначе
        ВалютаПересчета = мВалютаУпрУчета;
    КонецЕсли;

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

    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
   
    Запрос.УстановитьПараметр("Курс",            Параметры.Курс);
    Запрос.УстановитьПараметр("Кратность",       Параметры.Кратность);
    Запрос.УстановитьПараметр("ВидСкладаНТТ",    Перечисления.ВидыСкладов.НТТ);

    Запрос.Текст =
    "ВЫБРАТЬ
    |   НомерСтроки КАК Номер,
    |   Номенклатура,
    |   Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    |   Номенклатура.Родитель КАК Родитель,
    |   Номенклатура.НаименованиеПолное КАК ТоварНаименование,
    |   Номенклатура." + ТоварКод + "   КАК ТоварКод,
    |   ЕдиницаИзмерения.Представление  КАК ЕдиницаИзмеренияНаименование,
    |   ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК ЕдиницаИзмеренияКодПоОКЕИ,
    |   Количество                     КАК ФактКоличество,
    |   КоличествоУчет                 КАК БухКоличество,
    |   ВЫБОР
    |       КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА ЦенаВРознице
    |       ИНАЧЕ Цена * &Курс / &Кратность
    |   КОНЕЦ КАК Цена,
    |   ВЫБОР
    |       КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА Количество * ЦенаВРознице
    |       ИНАЧЕ Сумма * &Курс / &Кратность
    |   КОНЕЦ КАК ФактСумма,
    |   ВЫБОР
    |       КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА КоличествоУчет *ЦенаВРознице
    |       ИНАЧЕ СуммаУчет * &Курс / &Кратность
    |   КОНЕЦ КАК БухСумма,
    |   ХарактеристикаНоменклатуры     КАК Характеристика,
    |   СерияНоменклатуры КАК Серия
    |ИЗ
    |   Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК Товары
    |   
    |ГДЕ
    |   Товары.Ссылка = &ТекущийДокумент
    |   И (Товары.Количество - Товары.КоличествоУчет) <> 0
    |   
    |УПОРЯДОЧИТЬ ПО
    |Товары.Номенклатура.Родитель
    |ИТОГИ ПО ОБЩИЕ,
    |    Номенклатура ИЕРАРХИЯ";

    Результат = Запрос.Выполнить();
    ВыборкаСтрокТовары = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
   

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


    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
    ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации);
    ОбластьМакета.Параметры.ОрганизацияПоОКПО        = СведенияОбОрганизации.КодПоОКПО;
    ОбластьМакета.Параметры.ДатаДокумента            = Шапка.ДатаДокумента;
    ОбластьМакета.Параметры.ДатаНачалаИнвентаризации = Шапка.ДатаНачалаИнвентаризации;
    ОбластьМакета.Параметры.НомерДокумента           = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);

    Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Шапка.Руководители, Шапка.ДатаДокумента,);
    Руководитель = Руководители.Руководитель;
    Бухгалтер    = Руководители.ГлавныйБухгалтер;

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


    // Выводим заголовок таблицы
    ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы1");
    ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы;
    ТабДокумент.Вывести(ЗаголовокТаблицы);

    КоличествоСтрок = ВыборкаСтрокТовары.Количество();

    // Выводим многострочную часть докмента
    //ОбластьМакетаГр            = Макет.ПолучитьОбласть("СтрокаГруппы");    //Заккоментировал
    //ОбластьМакета              = Макет.ПолучитьОбласть("СтрокаТаблицы1");
    ОбластьИтоговПоСтранице    = Макет.ПолучитьОбласть("ИтогоТаблицы1");
    ОбластьПодвала             = Макет.ПолучитьОбласть("Подвал");
    МассивВыводимыхОбластей    = Новый Массив;
    Ном = 0;
   
    ///   ТУТ Я НАЧАЛ ИЗОБРЕТАТЬ ВЕЛОСИПЕД, для отображения групп!!!//////
    ///
    ВыборкаСтрокТовары.Следующий();
    ТабДокумент.НачатьАвтогруппировкуСтрок();
   
    ВыборкаНоменклатуры = ВыборкаСтрокТовары.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
    Пока ВыборкаНоменклатуры.Следующий() Цикл
       
        Ном = Ном + 1;

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

        ТабДокумент.ЗакончитьАвтогруппировкуСтрок();

        Пока ВыборкаСтрокТовары.Следующий() Цикл
       
        Разница     = 0;
        РазницаСумм = 0;
       
        Разница     = ВыборкаСтрокТовары.ФактКоличество - ВыборкаСтрокТовары.БухКоличество;      //
        РазницаСумм = ВыборкаСтрокТовары.ФактСумма      - ВыборкаСтрокТовары.БухСумма;        //
   
        Если Разница < 0 И РазницаСумм < 0 Тогда
            ОбластьМакета.Параметры.РезультатНедостачаКолво = - Разница;
            ОбластьМакета.Параметры.РезультатНедостачаСумма = - РазницаСумм;
            ОбластьМакета.Параметры.РезультатИзлишекКолво   = 0;
            ОбластьМакета.Параметры.РезультатИзлишекСумма   = 0;
       
            ОбластьМакета.Параметры.Разность =  РазницаСумм;
       

            ИтогоРезультатНедостачаКолво = ИтогоРезультатНедостачаКолво + (- Разница);
            ИтогоРезультатНедостачаСумма = ИтогоРезультатНедостачаСумма + (- РазницаСумм);
        ИначеЕсли Разница < 0 И РазницаСумм >= 0 Тогда
            ОбластьМакета.Параметры.РезультатНедостачаКолво = - Разница;
            ОбластьМакета.Параметры.РезультатНедостачаСумма = РазницаСумм;
            ОбластьМакета.Параметры.РезультатИзлишекКолво   = 0;
            ОбластьМакета.Параметры.РезультатИзлишекСумма   = 0;

            ОбластьМакета.Параметры.Разность =  РазницаСумм;
   
       
            ИтогоРезультатНедостачаКолво = ИтогоРезультатНедостачаКолво + (- Разница);
            ИтогоРезультатНедостачаСумма = ИтогоРезультатНедостачаСумма + РазницаСумм;
        Иначе
            ОбластьМакета.Параметры.РезультатНедостачаКолво = 0;
            ОбластьМакета.Параметры.РезультатНедостачаСумма = 0;
            ОбластьМакета.Параметры.РезультатИзлишекКолво   = Разница;
            ОбластьМакета.Параметры.РезультатИзлишекСумма   = РазницаСумм;
   
            ОбластьМакета.Параметры.Разность =  РазницаСумм;
       
            ИтогоРезультатИзлишекКолво   = ИтогоРезультатИзлишекКолво   + Разница;
            ИтогоРезультатИзлишекСумма   = ИтогоРезультатИзлишекСумма   + РазницаСумм;
        КонецЕсли;
   
        ИтогоРезультатРазница = ИтогоРезультатИзлишекСумма - ИтогоРезультатНедостачаСумма;

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

    КонецЦикла;

    ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатИзлишекКолво   = ИтогоРезультатИзлишекКолво;
    ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатИзлишекСумма   = ИтогоРезультатИзлишекСумма;
    ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатНедостачаКолво = ИтогоРезультатНедостачаКолво;
    ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатНедостачаСумма = ИтогоРезультатНедостачаСумма;

    ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатРазница = ИтогоРезультатРазница;   

    ТабДокумент.Вывести(ОбластьИтоговПоСтранице);

    ОбластьПодвала.Параметры.ФИОБухгалтера =  Бухгалтер;
    ОбластьПодвала.Параметры.Заполнить(Шапка);
    ТабДокумент.Вывести(ОбластьПодвала);

    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

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

КонецФункции

cska-fanat-kz

1)
Цитата: Lostuk от 04 авг 2016, 08:02Если ВыборкаНоменклатуры.Номенклатура.ЭтоГруппа Тогда             ОбластьМакета = Макет.ПолучитьОбласть("СтрокаГруппы");         Иначе             ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы1");         КонецЕсли;

вот это всегда будет ЛОЖЬ

2)
Цитата: Lostuk от 04 авг 2016, 08:02ОбластьМакета.Параметры.Заполнить(ВыборкаНоменклатуры);

параметры в строке из выборки заполняются, РодительНоменклатура - никак не учитывается
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Lostuk

Цитата: cska-fanat-kz от 04 авг 2016, 09:21
1)
Цитата: Lostuk от 04 авг 2016, 08:02Если ВыборкаНоменклатуры.Номенклатура.ЭтоГруппа Тогда             ОбластьМакета = Макет.ПолучитьОбласть("СтрокаГруппы");         Иначе             ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы1");         КонецЕсли;

вот это всегда будет ЛОЖЬ

2)
Цитата: Lostuk от 04 авг 2016, 08:02ОбластьМакета.Параметры.Заполнить(ВыборкаНоменклатуры);

параметры в строке из выборки заполняются, РодительНоменклатура - никак не учитывается

Спасибо за ответ... Но если честно это не помогает мне исправить проблему. Если можете подскажите подробнее, пожалуйста. Кстати, в первом пункте, оно не всегда будет "ложь". Прикладываю скриншот.

Летящий в даль

Можно ваще прямой обход поставит и не парится создавать 2 выборки)) и в макете 1 область))

Lostuk

Глупый в этом я еще)) Мне бы хоть пример или набросок какой.

Летящий в даль

Дак пробуй)) инструкцию дали
Вот пример с иерархией

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);


ТабДок.НачатьАвтогруппировкуСтрок();

стр=0;
ин=0;
цвет= новый Цвет(224,224,224);
СтатьяПредыдущая=Неопределено;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ВыборкаПоБюджету=ВыборкаДетальныеЗаписи.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам) ;

ОбластьСтрокаТабл.Параметры.НаименованиеСтатьи=ВыборкаДетальныеЗаписи.СтатьиБюджета;
СтатьяПредыдущая=ВыборкаДетальныеЗаписи.СтатьиБюджета;
ОбластьСтрокаТабл.Параметры.Подразделение=ВыборкаДетальныеЗаписи.ЦФО;
ОбластьСтрокаТабл.Параметры.Коммент="";
ОбластьСтрокаТабл.Параметры.Контрагент=ВыборкаДетальныеЗаписи.Контрагент;
ОбластьСтрокаТабл.Параметры.Номенклатура=ВыборкаДетальныеЗаписи.Номенклатура;
ОбластьСтрокаТабл.Параметры.СуммаГод=?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СуммаСценарияОборотГод),(ВыборкаДетальныеЗаписи.СуммаСценарияОборотГод),"0,00") ;
ОбластьСтрокаТабл.Параметры.СуммаС1=?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц1),(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц1),"0,00");
ОбластьСтрокаТабл.Параметры.СуммаС2=?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц2),(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц2),"0,00");

//ОбластьСтрокаТабл.Параметры.РазностьС2иС1=Строка(?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц2),Число(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц2),0)-?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц1),Число(ВыборкаДетальныеЗаписи.СуммаСценарияОборотМесяц1),0)) ; //"Нужнос посчитать";//Строка(ВыборкаДетальныеЗаписи.Разница);
ОбластьСтрокаТабл.Параметры.РазностьС2иС1=?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Разница),(ВыборкаДетальныеЗаписи.Разница),"0,00");

ОбластьСтрокаТабл.Параметры.Коммент=ВыборкаДетальныеЗаписи.Комментарий;

ТабДок.Вывести(ОбластьСтрокаТабл,ВыборкаДетальныеЗаписи.Уровень());
ТабДок.Область(ТабДок.ВысотаТаблицы,2,ТабДок.ВысотаТаблицы,2).Отступ=ВыборкаДетальныеЗаписи.Уровень()*2;

Пока ВыборкаПоБюджету.Следующий() Цикл

ОбластьСтрокаТабл.Параметры.НаименованиеСтатьи=ВыборкаПоБюджету.СтатьиБюджета;//Нужно сделать иерархию вссю
ОбластьСтрокаТабл.Параметры.Подразделение=ВыборкаПоБюджету.ЦФО;
ОбластьСтрокаТабл.Параметры.Контрагент=ВыборкаПоБюджету.Контрагент;
ОбластьСтрокаТабл.Параметры.Номенклатура=ВыборкаПоБюджету.Номенклатура;
ОбластьСтрокаТабл.Параметры.Коммент="";
ОбластьСтрокаТабл.Параметры.СуммаГод=?(ЗначениеЗаполнено(ВыборкаПоБюджету.СуммаСценарияОборотГод),(ВыборкаПоБюджету.СуммаСценарияОборотГод),"0,00") ;
ОбластьСтрокаТабл.Параметры.СуммаС1=?(ЗначениеЗаполнено(ВыборкаПоБюджету.СуммаСценарияОборотМесяц1),(ВыборкаПоБюджету.СуммаСценарияОборотМесяц1),"0,00");
ОбластьСтрокаТабл.Параметры.СуммаС2=?(ЗначениеЗаполнено(ВыборкаПоБюджету.СуммаСценарияОборотМесяц2),(ВыборкаПоБюджету.СуммаСценарияОборотМесяц2),"0,00");
ОбластьСтрокаТабл.Параметры.РазностьС2иС1=?(ЗначениеЗаполнено(ВыборкаПоБюджету.Разница),(ВыборкаПоБюджету.Разница),"0,00");
//ОбластьСтрокаТабл.Параметры.РазностьС2иС1=Строка(?(ЗначениеЗаполнено(ВыборкаПоБюджету.СуммаСценарияОборотМесяц2),Число(ВыборкаПоБюджету.СуммаСценарияОборотМесяц2),0)-?(ЗначениеЗаполнено(ВыборкаПоБюджету.СуммаСценарияОборотМесяц1),Число(ВыборкаПоБюджету.СуммаСценарияОборотМесяц1),0));
ОбластьСтрокаТабл.Параметры.Коммент=ВыборкаПоБюджету.Комментарий;


ТабДок.Вывести(ОбластьСтрокаТабл,ВыборкаПоБюджету.Уровень());
ТабДок.Область(ТабДок.ВысотаТаблицы,2,ТабДок.ВысотаТаблицы,24).ЦветФона = цвет;

ТабДок.Область(ТабДок.ВысотаТаблицы,2,ТабДок.ВысотаТаблицы,2).Отступ=ВыборкаПоБюджету.Уровень()*2;
ин=ин+1;
КонецЦикла;
КонецЦикла;
первое че попалось)) а так смотри в типовых ))

Lostuk

Благодарю!:) Сейчас помучаюсь еще помучаюсь. Второй день уже сижу с этой фигней.:(

Летящий в даль


cska-fanat-kz

Цитата: Lostuk от 04 авг 2016, 10:01Кстати, в первом пункте, оно не всегда будет "ложь".

у вас что, в табличной части в колонке "Номенклатура" может быть группа?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Lostuk

Так ничего и не получилось. Может кто сможет помочь в скайпе?
Добавлено: 04 авг 2016, 16:08


Почему после выполнения данного запроса, все значения NULL?

Запрос.Текст =
"ВЫБРАТЬ
| НомерСтроки КАК Номер,
| Номенклатура,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| Номенклатура." + ТоварКод + "   КАК ТоварКод,
| ЕдиницаИзмерения.Представление  КАК ЕдиницаИзмеренияНаименование,
| ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК ЕдиницаИзмеренияКодПоОКЕИ,
| Количество                     КАК ФактКоличество,
| КоличествоУчет                 КАК БухКоличество,
| ВЫБОР
| КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА ЦенаВРознице
| ИНАЧЕ Цена * &Курс / &Кратность
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА Количество * ЦенаВРознице
| ИНАЧЕ Сумма * &Курс / &Кратность
| КОНЕЦ КАК ФактСумма,
| ВЫБОР
| КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА КоличествоУчет *ЦенаВРознице
| ИНАЧЕ СуммаУчет * &Курс / &Кратность
| КОНЕЦ КАК БухСумма,
| ХарактеристикаНоменклатуры     КАК Характеристика,
| СерияНоменклатуры КАК Серия
|ИЗ
| Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК Товары
|
|ГДЕ
| Товары.Ссылка = &ТекущийДокумент
| И (Товары.Количество - Товары.КоличествоУчет) <> 0
|
|УПОРЯДОЧИТЬ ПО
|Товары.Номенклатура.Родитель";
|ИТОГИ ПО ОБЩИЕ,
|    Номенклатура ИЕРАРХИЯ";

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск