Имя: Пароль:
1C
1С v8
Вертикальное и горизонтальное заполнение макета
0 EgorWonder
 
11.07.14
09:55
Помогите глупому человеку! Только начал работать с 1С, поэтому не судите строго.
1 Лодырь
 
11.07.14
09:58
ок. посылаю тебе луч помощи.
2 Kalambur
 
11.07.14
09:59
Сводная таблица
3 Wobland
 
11.07.14
10:01
(0) меняй руки. всё время мести в одну сторону быстро надоедает
4 EgorWonder
 
11.07.14
10:03
Функция Печать() Экспорт
ТабДокумент = Новый ТабличныйДокумент;
     запрос = новый запрос;
     Запрос.УстановитьПараметр("Док", СсылкаНаОбъект);
          Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                         |    ТребованиеНакладнаяМатериалы.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
                         |    ТребованиеНакладнаяМатериалы.Номенклатура,
                         |    ТребованиеНакладнаяМатериалы.Ссылка,
                         |    СУММА(ТребованиеНакладнаяМатериалы.Количество) КАК Итог,
                         |    ТребованиеНакладнаяМатериалы.Количество КАК Колво
                         |ИЗ
                         |    Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
                         |ГДЕ
                         |    ТребованиеНакладнаяМатериалы.Ссылка = &Док
                         |
                         |СГРУППИРОВАТЬ ПО
                         |    ТребованиеНакладнаяМатериалы.Номенклатура,
                         |    ТребованиеНакладнаяМатериалы.НоменклатурнаяГруппа,
                         |    ТребованиеНакладнаяМатериалы.Ссылка,
                         |    ТребованиеНакладнаяМатериалы.Количество
                         |
                         |УПОРЯДОЧИТЬ ПО
                         |    НоменклатурнаяГруппа";    
    рез = запрос.Выполнить().Выбрать();
    ТабНГР = запрос.Выполнить().Выгрузить();
    ТабНГР.Свернуть("Номенклатура","Итог");
    ТабН = запрос.Выполнить().Выгрузить();
    ТабН.Свернуть("НоменклатурнаяГруппа, Колво");
Макет = ПолучитьМакет("ПроизводственноеЗадание");
Область = Макет.ПолучитьОбласть("ШапкаПС|ШП");
Область.Параметры.Организация = ссылканаобъект.Организация;
ТабДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть("Шапка|ШП");
ТабДокумент.Вывести(Область);
Для каждого строка из ТабНГР цикл
    Область = Макет.ПолучитьОбласть("Шапка|ном");
    область.Параметры.Номенклатура = Строка.Номенклатура;
    ТабДокумент.Присоединить(Область);
конеццикла;

Для каждого строка из ТабН цикл
         Область = Макет.ПолучитьОбласть("НГ");
         Область.Параметры.НоменклатурнаяГруппа = Строка.НоменклатурнаяГруппа;
         ТабДокумент.Присоединить(Область);
конеццикла;
Область = Макет.ПолучитьОбласть("Итого|ШП");
ТабДокумент.Вывести(Область);
Для каждого стр из ТабНГР цикл
    Область = Макет.ПолучитьОбласть("Итого|ном");
    область.Параметры.Итог = Стр.Итог;
    ТабДокумент.Присоединить(Область);
конеццикла;
Возврат ТабДокумент;
конецфункции

как построить запрос так, чтобы при пустом значении номенклатуры в номенклатурной группе в ТЗ ставилось 0
5 Wobland
 
11.07.14
10:05
(4) выбор когда устроит?
6 EgorWonder
 
11.07.14
10:13
Не понял вопроса.
мне нужно чтобы к примеру получалась такая таблица:
Продукция(НоменклатурнаяГруппа) Материалы(Номенклатура) Колво
Прод1                           Мат1                      2
Прод1                           Мат2                      0
Прод2                           Мат1                      0
Прод2                           Мат2                      1
То есть если в какой-то продукции этот не используется, ставилось значение 0.