Имя: Пароль:
1C
 
унф счет покупателю типовой сгиупировать
,
0 Raideres
 
14.12.20
22:29
Добрый день не пойму как сделать следующее...

у меня есть типовая печатная форма СЧЕТ на оплату в типовой она не свернутая а сколько срок в тч столько и в результате

а у нас получаются что есть партии  и в документе может быть 100-200 штук с одинаковой номенклатурой характеристиками но разными партиями


подскажите как можно  свернуть ТаблицаЗапасы чтоб не было такой кучи строк .

вот код из типовой

[CODE]    Запрос = Новый Запрос();
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗаказПокупателя.Ссылка КАК Ссылка,
    |    ЗаказПокупателя.Номер КАК Номер,
    |    ЗаказПокупателя.Дата КАК ДатаДокумента,
    |    ЗаказПокупателя.Организация КАК Организация,
    |    ЗаказПокупателя.Контрагент КАК Контрагент,
    |    ЗаказПокупателя.СуммаВключаетНДС КАК СуммаВключаетНДС,
    |    ЗаказПокупателя.ВалютаДокумента КАК ВалютаДокумента,
    |    ЗаказПокупателя.Ответственный КАК Ответственный,
    |    ЗаказПокупателя.Организация.Префикс КАК Префикс,
    |    ЗаказПокупателя.ОсновнойВариантКП КАК ОсновнойВариантКП,
    |    ЗаказПокупателя.ОжидаетсяВыборВариантаКП КАК ОжидаетсяВыборВариантаКП,
    |    ЗаказПокупателя.СпособДоставки КАК СпособДоставки,
    |    ЗаказПокупателя.Вес КАК Вес,
    |    ВЫБОР
    |        КОГДА ЗаказПокупателя.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд)
    |                ИЛИ ЗаказПокупателя.СпособДоставки В (ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.ПустаяСсылка), ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.Самовывоз))
    |            ТОГДА ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |        ИНАЧЕ ЗаказПокупателя.НоменклатураДоставки
    |    КОНЕЦ КАК НоменклатураДоставки,
    |    ВЫБОР
    |        КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.НоменклатураДоставки.НаименованиеПолное КАК СТРОКА(1000))) = """"
    |            ТОГДА ЗаказПокупателя.НоменклатураДоставки.Наименование
    |        ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.НоменклатураДоставки.НаименованиеПолное КАК СТРОКА(1000))
    |    КОНЕЦ КАК ПредставлениеНоменклатурыДоставки,
    |    ЗаказПокупателя.НоменклатураДоставки.Код КАК КодДоставки,
    |    ЗаказПокупателя.НоменклатураДоставки.Артикул КАК АртикулДоставки,
    |    ЗаказПокупателя.НоменклатураДоставки.ЕдиницаИзмерения КАК ЕдиницаИзмеренияДоставки,
    |    ЗаказПокупателя.СтоимостьДоставки КАК СтоимостьДоставки,
    |    ЗаказПокупателя.СуммаНДСДоставки КАК СуммаНДСДоставки,
    |    ЗаказПокупателя.СтавкаНДСДоставки КАК СтавкаНДСДоставки,
    |    ЗаказПокупателя.Работы.(
    |        НомерСтроки КАК НомерСтроки,
    |        0 КАК НомерВариантаКП,
    |        ВЫБОР
    |            КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.Работы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """"
    |                ТОГДА ЗаказПокупателя.Работы.Номенклатура.Наименование
    |            ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.Работы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
    |        КОНЕЦ КАК ПредставлениеНоменклатуры,
    |        Номенклатура.Код КАК Код,
    |        Номенклатура.Артикул КАК Артикул,
    |        Номенклатура.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения,
    |        ЗаказПокупателя.Работы.Количество * ЗаказПокупателя.Работы.Коэффициент * ЗаказПокупателя.Работы.Кратность КАК Количество,
    |        Цена КАК Цена,
    |        Сумма КАК Сумма,
    |        СтавкаНДС КАК СтавкаНДС,
    |        СуммаНДС КАК СуммаНДС,
    |        Всего КАК Всего,
    |        0 КАК Вес,
    |        Характеристика КАК Характеристика,
    |        ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        ВЫБОР
    |            КОГДА ЗаказПокупателя.Работы.ПроцентСкидкиНаценки <> 0
    |                    ИЛИ ЗаказПокупателя.Работы.СуммаАвтоматическойСкидки <> 0
    |                ТОГДА 1
    |            ИНАЧЕ 0
    |        КОНЕЦ КАК ЕстьСкидка,
    |        Содержание КАК Содержание,
    |        Ссылка.Старт КАК ДатаОтгрузки,
    |        СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки,
    |        ЛОЖЬ КАК ЭтоРазделитель,
    |        ЛОЖЬ КАК ЭтоНабор,
    |        ВЫБОР
    |            КОГДА ЗаказПокупателя.Работы.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |                    И ЗаказПокупателя.Работы.НоменклатураНабора.ВариантПечатиНабора = ЗНАЧЕНИЕ(Перечисление.ВариантыПечатиНаборов.НаборИКомплектующие)
    |                ТОГДА ИСТИНА
    |            ИНАЧЕ ЛОЖЬ
    |        КОНЕЦ КАК НеобходимоВыделитьКакСоставНабора,
    |        НоменклатураНабора КАК НоменклатураНабора,
    |        ХарактеристикаНабора КАК ХарактеристикаНабора
    |    ) КАК ТаблицаРаботыУслуги,
    |    ЗаказПокупателя.Запасы.(
    |        НомерСтроки КАК НомерСтроки,
    |        НомерВариантаКП КАК НомерВариантаКП,
    |        ВЫБОР
    |            КОГДА ТИПЗНАЧЕНИЯ(ЗаказПокупателя.Запасы.Номенклатура) = ТИП(СТРОКА)
    |                ТОГДА ЗаказПокупателя.Запасы.Номенклатура
    |            КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """"
    |                ТОГДА ЗаказПокупателя.Запасы.Номенклатура.Наименование
    |            ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
    |        КОНЕЦ КАК ПредставлениеНоменклатуры,
    |        Номенклатура.Код КАК Код,
    |        Номенклатура.Артикул КАК Артикул,
    |        ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения,
    |        Количество КАК Количество,
    |        Цена КАК Цена,
    |        Сумма КАК Сумма,
    |        СтавкаНДС КАК СтавкаНДС,
    |        СуммаНДС КАК СуммаНДС,
    |        Всего КАК Всего,
    |        Вес КАК Вес,
    |        ВЫБОР
    |            КОГДА ЗаказПокупателя.Запасы.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд)
    |                ТОГДА ЗаказПокупателя.Запасы.Ссылка.Старт
    |            ИНАЧЕ ЗаказПокупателя.Запасы.ДатаОтгрузки
    |        КОНЕЦ КАК ДатаОтгрузки,
    |        Характеристика КАК Характеристика,
    |        Содержание КАК Содержание,
    |        ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        ВЫБОР
    |            КОГДА ЗаказПокупателя.Запасы.ПроцентСкидкиНаценки <> 0
    |                    ИЛИ ЗаказПокупателя.Запасы.СуммаАвтоматическойСкидки <> 0
    |                ТОГДА 1
    |            ИНАЧЕ 0
    |        КОНЕЦ КАК ЕстьСкидка,
    |        СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки,
    |        ЭтоРазделитель КАК ЭтоРазделитель,
    |        ЛОЖЬ КАК ЭтоНабор,
    |        ВЫБОР
    |            КОГДА ЗаказПокупателя.Запасы.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |                    И ЗаказПокупателя.Запасы.НоменклатураНабора.ВариантПечатиНабора = ЗНАЧЕНИЕ(Перечисление.ВариантыПечатиНаборов.НаборИКомплектующие)
    |                ТОГДА ИСТИНА
    |            ИНАЧЕ ЛОЖЬ
    |        КОНЕЦ КАК НеобходимоВыделитьКакСоставНабора,
    |        НоменклатураНабора КАК НоменклатураНабора,
    |        ХарактеристикаНабора КАК ХарактеристикаНабора
    |    ) КАК ТаблицаЗапасы,
    |    ЗаказПокупателя.ДобавленныеНаборы.(
    |        НоменклатураНабора КАК НоменклатураНабора,
    |        ХарактеристикаНабора КАК ХарактеристикаНабора,
    |        НомерВариантаКП КАК НомерВариантаКП,
    |        Количество КАК Количество,
    |        ВЫБОР
    |            КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.ДобавленныеНаборы.НоменклатураНабора.НаименованиеПолное КАК СТРОКА(1000))) = """"
    |                ТОГДА ЗаказПокупателя.ДобавленныеНаборы.НоменклатураНабора.Наименование
    |            ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.ДобавленныеНаборы.НоменклатураНабора.НаименованиеПолное КАК СТРОКА(1000))
    |        КОНЕЦ КАК ЗапасНабора,
    |        НоменклатураНабора.ВариантПечатиНабора КАК ВариантПечатиНабора,
    |        НоменклатураНабора.ТипНоменклатуры КАК ТипНоменклатурыНабора,
    |        НоменклатураНабора.Артикул КАК АртикулНабора,
    |        НоменклатураНабора.Код КАК КодНабора,
    |        НоменклатураНабора.ЕдиницаИзмерения КАК ЕдиницаИзмеренияНабора,
    |        НоменклатураНабора.ЕдиницаИзмерения.Код КАК КодЕдиницыИзмеренияНабора,
    |        ИСТИНА КАК ВыводитьИтоги
    |    ) КАК ТаблицаДобавленныеНаборы
    |ИЗ
    |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |ГДЕ
    |    ЗаказПокупателя.Ссылка В(&МассивОбъектов)
    |    И (ЗаказПокупателя.ОсновнойВариантКП = 0
    |            ИЛИ ЗаказПокупателя.Запасы.НомерВариантаКП = ЗаказПокупателя.ОсновнойВариантКП)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка,
    |    ЗаказПокупателя.Работы.НомерСтроки,
    |    ЗаказПокупателя.Запасы.НомерСтроки";
    
    ДанныеДокументов = Запрос.Выполнить().Выгрузить();
    ДоставкаСервер.ДобавитьСтрокуДоставкиУниверсальныеДанные(ДанныеДокументов);
[/CODE]
2 + 2 = 3.9999999999999999999999999999999...