8.х Вывод табличной части

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем RuslanKhanow, 23 июл 2015.

  1. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    Привет,есть впф для док перемещение товаров,при ее формировании ,если в таб части несколько строк одного и того же товара,то при выводе он просто суммирует общий итог и заносит в одну строку,надо это исправить ,что-бы каждый товар выводился по отдельности
    Код:
    ТекстЗапросаШапка =
        "ВЫБРАТЬ
        |    Ссылка.Номер     КАК НомерДокумента,
        |    Ссылка.Дата    КАК ДатаДокумента,
        |    Ссылка.Дата    КАК ДатаСоставления,
        |    Ссылка.Организация,
        |    Ссылка.СкладОтправитель КАК Склад,
        |    Ссылка.СкладПолучатель КАК Подразделение
        |    //ПОЛЕ_КорСчет ,ВЫБОР КОГДА КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НовыйСчетУчетаБУ) = 1 ТОГДА
        |    //ПОЛЕ_КорСчет    МИНИМУМ(НовыйСчетУчетаБУ)
        |    //ПОЛЕ_КорСчет ИНАЧЕ """" КОНЕЦ КАК КоррСчет
        |ИЗ
        |    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
        |
        |ГДЕ
        |    ПеремещениеТоваров.Ссылка = &ТекущийДокумент
        |//ПОЛЕ_КорСчет СГРУППИРОВАТЬ ПО Ссылка";
        ТекстЗапросаТовары = "
        |ВЫБРАТЬ
        |    ВложенныйЗапрос.Номенклатура                                  КАК Номенклатура,
        |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК МатериалНаименование,
        |    ВложенныйЗапрос.Номенклатура." + ТоварКод + "                 КАК НоменклатурныйНомер,
        |    ВложенныйЗапрос.ЕдиницаИзмерения.Представление                КАК ЕдиницаИзмеренияНаименование,
        |    ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код  КАК ЕдиницаИзмеренияКод,
        |    ВложенныйЗапрос.Характеристика       КАК Характеристика,
        |    ВложенныйЗапрос.Серия                КАК Серия,
        |    ВложенныйЗапрос.Количество           КАК Количество,
        |    ВложенныйЗапрос.Счет                   КАК Счет,
        |    ВложенныйЗапрос.НомерСтроки          КАК НомерСтроки
        |ИЗ
        |    (
        |    ВЫБРАТЬ
        |        Номенклатура,
        |        ЕдиницаИзмерения,
        |        СчетУчетаБУ КАК Счет,
        |        ХарактеристикаНоменклатуры    КАК Характеристика,
        |        СерияНоменклатуры           КАК Серия,
        |        СУММА(Количество)           КАК Количество,
        |        МИНИМУМ(НомерСтроки)         КАК НомерСтроки
        |    ИЗ
        |        Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваров
        |    ГДЕ
        |        ПеремещениеТоваров.Ссылка = &ТекущийДокумент
        |
        |    СГРУППИРОВАТЬ ПО
        |        Номенклатура,
        |        ЕдиницаИзмерения,
        |        ХарактеристикаНоменклатуры,
        |        СерияНоменклатуры,
        |        СчетУчетаБУ
        |
        |    ) КАК ВложенныйЗапрос
        |
        |УПОРЯДОЧИТЬ ПО НомерСтроки ВОЗР
        |";
    
    
    сам код и обход таб части
    Код:
    Запрос.Текст = ТекстЗапросаТовары;
            ЗапросПоНоменклатуре = Запрос.Выполнить();
    Пока ВыборкаПоСтрокам.Следующий() Цикл
                Область = Макет.ПолучитьОбласть("Строка");
                Область.Параметры.Заполнить(ВыборкаПоСтрокам);
                Область.Параметры.МатериалНаименование = СокрЛП(ВыборкаПоСтрокам.МатериалНаименование) + ПредставлениеСерий(ВыборкаПоСтрокам);
                //Disciple     27.02.14\\
                СтрокаТЗ_ЗаписиРБ = ТЗ_ЗаписиРБ.Найти(ВыборкаПоСтрокам.Номенклатура, "СубконтоДт1");
                Если Не СтрокаТЗ_ЗаписиРБ = Неопределено Тогда
                    Область.Параметры.Сумма = СтрокаТЗ_ЗаписиРБ.Сумма;
                    Область.Параметры.Цена = СтрокаТЗ_ЗаписиРБ.Сумма / СтрокаТЗ_ЗаписиРБ.КоличествоДт;
                КонецЕсли;
                //Disciple\\\\\\
                ТабДокумент.Вывести(Область);
            КонецЦикла;
    
    
    я не особо понимаю формирование ее и вывод,для меня написанно сложновато насколько я понял вся проблема в запросе и его надо изменить

    Вложения:

  2. Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Код:
        ТекстЗапросаТовары = "
        |ВЫБРАТЬ
        |    ВложенныйЗапрос.Номенклатура                                  КАК Номенклатура,
        |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК МатериалНаименование,
        |    ВложенныйЗапрос.Номенклатура." + ТоварКод + "                 КАК НоменклатурныйНомер,
        |    ВложенныйЗапрос.ЕдиницаИзмерения.Представление                КАК ЕдиницаИзмеренияНаименование,
        |    ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код  КАК ЕдиницаИзмеренияКод,
        |    ВложенныйЗапрос.Характеристика       КАК Характеристика,
        |    ВложенныйЗапрос.Серия                КАК Серия,
        |    ВложенныйЗапрос.Количество           КАК Количество,
        |    ВложенныйЗапрос.Счет                   КАК Счет,
        |    ВложенныйЗапрос.НомерСтроки          КАК НомерСтроки
        |ИЗ
        |    (
        |    ВЫБРАТЬ
        |        Номенклатура,
        |        ЕдиницаИзмерения,
        |        СчетУчетаБУ КАК Счет,
        |        ХарактеристикаНоменклатуры    КАК Характеристика,
        |        СерияНоменклатуры           КАК Серия,
        |        СУММА(Количество)           КАК Количество,
        |        НомерСтроки         КАК НомерСтроки
        |    ИЗ
        |        Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваров
        |    ГДЕ
        |        ПеремещениеТоваров.Ссылка = &ТекущийДокумент
        |
        |    СГРУППИРОВАТЬ ПО
        |        Номенклатура,
        |        ЕдиницаИзмерения,
        |        ХарактеристикаНоменклатуры,
        |        СерияНоменклатуры,
        |        СчетУчетаБУ,
        |        НомерСтроки
        |
        |    ) КАК ВложенныйЗапрос
        |
        |УПОРЯДОЧИТЬ ПО НомерСтроки ВОЗР
        |";
    
    
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Товары в строке которые не одной строкой, они у вас чем различаются, серий характеристикой или чем?
  4. djyarilo
    Offline

    djyarilo Опытный в 1С

    Регистрация:
    18 апр 2011
    Сообщения:
    435
    Симпатии:
    0
    Баллы:
    26
    У вас в запросе следующий текст:

    | СГРУППИРОВАТЬ ПО
    | Номенклатура,
    | ЕдиницаИзмерения,
    | ХарактеристикаНоменклатуры,
    | СерияНоменклатуры,
    | СчетУчетаБУ,
    | НомерСтроки
    |
    | ) КАК ВложенныйЗапрос";
    Он означает, что идентичные строки будут группироваться в 1. Если вы эту группировку уберете, то он выведет построчно.
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Не выведет, т.к. группируются строки по номеру строки. Такая группировка не имеет смысла.
  6. djyarilo
    Offline

    djyarilo Опытный в 1С

    Регистрация:
    18 апр 2011
    Сообщения:
    435
    Симпатии:
    0
    Баллы:
    26
    Вообще уберите все группировки, номер строки и уберите Сумма(Количество).

Поделиться этой страницей