8.х Объединить строки товаров в позицию набор в печатной форме

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Mysterios93, 2 сен 2019.

  1. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    При выводе значений на печатную форму выводится значения двух товаров с наименование набора, нужно просуммировать значения 2х товаров что бы получить в вывод набор.
    То что выводит:
    [​IMG]
    то что приблизительно должно выводить:
    [​IMG]

    Вложения:

    • 123.png
      123.png
      Размер файла:
      104,4 КБ
      Просмотров:
      8
    • 321.png
      321.png
      Размер файла:
      88,4 КБ
      Просмотров:
      9
  2. xaysnet
    Offline

    xaysnet Опытный в 1С

    Регистрация:
    3 июн 2019
    Сообщения:
    130
    Симпатии:
    3
    Баллы:
    29
    Все настраивается в запросе
    Просто сделай группировку по ценам, и выбери по сумме.
  3. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    группировка в запросе прописана, но оно все равно не суммирует
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.888
    Симпатии:
    1.029
    Баллы:
    204
    показывайте запрос и вывод в ТабДок
  5. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Сам запрос:

    Код:
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СУММА(1) КАК Количество,
        |    СписокТоваров.Ссылка КАК Ссылка
        |ПОМЕСТИТЬ КоличествоТоваров
        |ИЗ
        |    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        |        ТаблицаТоваров.Ссылка КАК Ссылка,
        |        ТаблицаТоваров.Номенклатура КАК Номенклатура,
        |        ТаблицаТоваров.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименование,
        |        ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
        |        ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа КАК ЕдиницаГрузоместа,
        |        ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
        |        ТаблицаТоваров.СуммаБезНДС КАК СуммаБезНДС,
        |        ТаблицаТоваров.Номенклатура.ВесИспользовать КАК ВесИспользовать,
        |        ТаблицаТоваров.Ссылка.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
        |        ТаблицаТоваров.Характеристика КАК Характеристика
        |    ИЗ
        |        РеализацияТоваровУслугТаблицаТоваров КАК ТаблицаТоваров
        |    ГДЕ
        |        ТаблицаТоваров.ЭтоТовар) КАК СписокТоваров
        |
        |СГРУППИРОВАТЬ ПО
        |    СписокТоваров.Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    РеализацияТоваров.Ссылка КАК Ссылка,
        |    РеализацияТоваров.Номер КАК Номер,
        |    РеализацияТоваров.Дата КАК Дата,
        |    РеализацияТоваров.Организация КАК Организация,
        |    ВЫБОР
        |        КОГДА РеализацияТоваров.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ТОГДА РеализацияТоваров.Контрагент
        |        ИНАЧЕ РеализацияТоваров.Грузополучатель
        |    КОНЕЦ КАК Грузополучатель,
        |    ВЫБОР
        |        КОГДА РеализацияТоваров.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ТОГДА РеализацияТоваров.Организация
        |        ИНАЧЕ РеализацияТоваров.Грузоотправитель
        |    КОНЕЦ КАК Грузоотправитель,
        |    ВЫБОР
        |        КОГДА РеализацияТоваров.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ТОГДА РеализацияТоваров.Организация.ИНН
        |        ИНАЧЕ РеализацияТоваров.Грузоотправитель.ИНН
        |    КОНЕЦ КАК ГрузоотправительИНН,
        |    ВЫБОР
        |        КОГДА РеализацияТоваров.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ТОГДА РеализацияТоваров.Организация.GLN
        |        ИНАЧЕ РеализацияТоваров.Грузоотправитель.GLN
        |    КОНЕЦ КАК ГрузоотправительGLN,
        |    ВЫБОР
        |        КОГДА РеализацияТоваров.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ТОГДА РеализацияТоваров.Контрагент.ИНН
        |        ИНАЧЕ РеализацияТоваров.Грузополучатель.ИНН
        |    КОНЕЦ КАК ГрузополучательИНН,
        |    ВЫБОР
        |        КОГДА РеализацияТоваров.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ТОГДА РеализацияТоваров.Контрагент.GLN
        |        ИНАЧЕ РеализацияТоваров.Грузополучатель.GLN
        |    КОНЕЦ КАК ГрузополучательGLN,
        |    РеализацияТоваров.Контрагент КАК Контрагент,
        |    РеализацияТоваров.Заказчик КАК ЗаказчикПеревозок,
        |    РеализацияТоваров.Организация.Префикс КАК Префикс,
        |    РеализацияТоваров.Отпустил.Наименование КАК Кладовщик,
        |    РеализацияТоваров.ОтпустилДолжность КАК ДолжностьКладовщика,
        |    ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
        |    ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
        |    ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
        |    РеализацияТоваров.БанковскийСчетОрганизации КАК БанковскийСчетОрганизации,
        |    РеализацияТоваров.БанковскийСчетКонтрагента КАК БанковскийСчетКонтрагента,
        |    РеализацияТоваров.БанковскийСчетГрузоотправителя КАК БанковскийСчетГрузоотправителя,
        |    РеализацияТоваров.БанковскийСчетГрузополучателя КАК БанковскийСчетГрузополучателя,
        |    РеализацияТоваров.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
        |    РеализацияТоваров.Валюта КАК Валюта,
        |    СкладыКонтактнаяОтправитель.Представление КАК ПунктПогрузки,
        |    ЕСТЬNULL(КоличествоТоваров.Количество, 0) КАК КоличествоНаименований,
        |    РеализацияТоваров.МестоСоставленияАкта КАК МестоСоставленияАкта,
        |    РеализацияТоваров.НомерБСО КАК НомерБСО,
        |    РеализацияТоваров.ОтпускПроизвел КАК ОтпускПроизвел,
        |    РеализацияТоваров.ОтпускРазрешил КАК ОтпускРазрешил,
        |    РеализацияТоваров.Переадресовка КАК Переадресовка,
        |    РеализацияТоваров.ПереданыДокументы КАК ПереданыДокументы,
        |    РеализацияТоваров.ПроизвелДолжность КАК ПроизвелДолжность,
        |    РеализацияТоваров.ПутевойЛист КАК ПутевойЛист,
        |    РеализацияТоваров.Серия КАК Серия,
        |    РеализацияТоваров.Отпустил КАК Отпустил,
        |    РеализацияТоваров.ОтпустилДолжность КАК ОтпустилДолжность,
        |    РеализацияТоваров.Основание КАК ОснованиеОтпуска,
        |    РеализацияТоваров.ДоверенностьВыдана КАК ДоверенностьВыдана,
        |    РеализацияТоваров.ДоверенностьДата КАК ДоверенностьДата,
        |    РеализацияТоваров.ДоверенностьЛицо КАК ДоверенностьЛицо,
        |    РеализацияТоваров.ДоверенностьНомер КАК ДоверенностьНомер,
        |    РеализацияТоваров.ТоварПринял КАК ТоварПринял,
        |    РеализацияТоваров.ТоварКПеревозкеПринял КАК ТоварКПеревозкеПринял
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваров
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
        |        ПО РеализацияТоваров.Ссылка = ДанныеДокументов.Ссылка
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады.КонтактнаяИнформация КАК СкладыКонтактнаяОтправитель
        |        ПО РеализацияТоваров.Склад = СкладыКонтактнаяОтправитель.Ссылка
        |            И (СкладыКонтактнаяОтправитель.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресСклада))
        |        ЛЕВОЕ СОЕДИНЕНИЕ КоличествоТоваров КАК КоличествоТоваров
        |        ПО РеализацияТоваров.Ссылка = КоличествоТоваров.Ссылка
        |        ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
        |        ПО РеализацияТоваров.Ссылка = ТаблицаОтветственныеЛица.Ссылка
        |
        |УПОРЯДОЧИТЬ ПО
        |    Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ТаблицаТоваров.Ссылка КАК Ссылка,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура
        |        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора
        |    КОНЕЦ КАК Номенклатура,
        |    ТаблицаТоваров.Номенклатура.GTIN КАК GTIN,
        |    ТаблицаТоваров.Номенклатура.Артикул КАК ТоварКод,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.НоменклатураНабора.НаименованиеПолное = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.НаименованиеПолное
        |        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.НаименованиеПолное
        |    КОНЕЦ КАК ТоварНаименование,
        |    ТаблицаТоваров.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименование,
        |    ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
        |    ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа КАК ЕдиницаГрузоместа,
        |    ЕСТЬNULL(ТаблицаТоваров.Упаковка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)) КАК Упаковка,
        |    ВЫБОР
        |        КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
        |            ТОГДА ТаблицаТоваров.КоличествоУпаковок
        |        ИНАЧЕ ТаблицаТоваров.Количество
        |    КОНЕЦ КАК Количество,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
        |        ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
        |    КОНЕЦ КАК ВидУпаковки,
        |    ВЫБОР
        |        КОГДА &ВыводитьБазовыеЕдиницыИзмерения
        |                ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
        |        ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
        |    КОНЕЦ КАК БазоваяЕдиницаНаименование,
        |    СУММА(ВЫБОР
        |            КОГДА ТаблицаТоваров.Ссылка.ЦенаВключаетНДС
        |                ТОГДА ВЫБОР
        |                        КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
        |                            ТОГДА (ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС) / ТаблицаТоваров.КоличествоУпаковок
        |                        ИНАЧЕ (ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС) / ТаблицаТоваров.Количество
        |                    КОНЕЦ
        |            ИНАЧЕ ВЫБОР
        |                    КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
        |                        ТОГДА ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.КоличествоУпаковок
        |                    ИНАЧЕ ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.Количество
        |                КОНЕЦ
        |        КОНЕЦ) КАК Цена,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0) КАК МассаБрутто,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0) КАК МассаНетто,
        |    ВЫБОР
        |        КОГДА &ВыводитьБазовыеЕдиницыИзмерения
        |            ТОГДА ТаблицаТоваров.КоличествоУпаковок
        |        ИНАЧЕ КоэффициентыУпаковок.Количество / КоэффициентыУпаковок.КоэффициентВложеннойУпаковки
        |    КОНЕЦ КАК КоличествоМест,
        |    СУММА(ТаблицаТоваров.СуммаБезНДС) КАК СуммаБезНДС,
        |    СУММА(ТаблицаТоваров.СуммаНДС) КАК СуммаНДС,
        |    ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
        |    ЛОЖЬ КАК Весовой,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
        |                И ТаблицаТоваров.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
        |            ТОГДА ИСТИНА
        |        ИНАЧЕ ЛОЖЬ
        |    КОНЕЦ КАК ЭтоВозвратнаяТара,
        |    ТаблицаТоваров.Ссылка.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
        |    СУММА(ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС) КАК СуммаСНДС,
        |    ТаблицаТоваров.Характеристика КАК Характеристика,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
        |        ИНАЧЕ ТаблицаТоваров.Упаковка
        |    КОНЕЦ КАК БазоваяЕдиница,
        |    СУММА(ВЫБОР
        |            КОГДА ТаблицаТоваров.Ссылка.ЦенаВключаетНДС
        |                ТОГДА ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС
        |            ИНАЧЕ ТаблицаТоваров.СуммаБезНДС
        |        КОНЕЦ) КАК Сумма,
        |    ТаблицаТоваров.НоменклатураНабора.НаименованиеПолное КАК НоменклатураНабораНаименование,
        |    ТаблицаТоваров.НоменклатураНабора.GTIN КАК GTINНабора,
        |    ТаблицаТоваров.НоменклатураНабора.Артикул КАК ТоварКодНабора,
        |    ТаблицаТоваров.НоменклатураНабора.ЕдиницаГрузоместа КАК ЕдиницаГрузоместаНабора,
        |    ВЫБОР
        |        КОГДА &ВыводитьБазовыеЕдиницыИзмерения
        |                ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.НоменклатураНабора.ЕдиницаИзмерения.Представление
        |        ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
        |    КОНЕЦ КАК КоличествоНабора,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.НоменклатураНабора.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0) КАК МассаБруттоНабора,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
        |                И ТаблицаТоваров.НоменклатураНабора.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
        |            ТОГДА ИСТИНА
        |        ИНАЧЕ ЛОЖЬ
        |    КОНЕЦ КАК ЦенаНабора,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.НоменклатураНабора.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0) КАК МассаНеттоНабора
        |ИЗ
        |    РеализацияТоваровУслугТаблицаТоваров КАК ТаблицаТоваров
        |        ЛЕВОЕ СОЕДИНЕНИЕ КоэффициентыУпаковок КАК КоэффициентыУпаковок
        |        ПО ТаблицаТоваров.Ссылка = КоэффициентыУпаковок.Ссылка
        |            И ТаблицаТоваров.НомерСтроки = КоэффициентыУпаковок.НомерСтроки
        |            И (НЕ &ВыводитьБазовыеЕдиницыИзмерения)
        |ГДЕ
        |    ТаблицаТоваров.ЭтоТовар
        |
        |СГРУППИРОВАТЬ ПО
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.НоменклатураНабора.НаименованиеПолное = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.НаименованиеПолное
        |        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.НаименованиеПолное
        |    КОНЕЦ,
        |    ТаблицаТоваров.Характеристика.НаименованиеПолное,
        |    ТаблицаТоваров.НоменклатураНабора.НаименованиеПолное,
        |    ВЫБОР
        |        КОГДА &ВыводитьБазовыеЕдиницыИзмерения
        |                ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.НоменклатураНабора.ЕдиницаИзмерения.Представление
        |        ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
        |    КОНЕЦ,
        |    ВЫБОР
        |        КОГДА &ВыводитьБазовыеЕдиницыИзмерения
        |                ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
        |        ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
        |    КОНЕЦ,
        |    ТаблицаТоваров.Характеристика,
        |    ТаблицаТоваров.Ссылка,
        |    ТаблицаТоваров.Номенклатура.GTIN,
        |    ТаблицаТоваров.Номенклатура.Артикул,
        |    ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа,
        |    ТаблицаТоваров.НомерСтроки,
        |    ТаблицаТоваров.НоменклатураНабора.GTIN,
        |    ТаблицаТоваров.НоменклатураНабора.Артикул,
        |    ТаблицаТоваров.НоменклатураНабора.ЕдиницаГрузоместа,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0),
        |    ВЫБОР
        |        КОГДА &ВыводитьБазовыеЕдиницыИзмерения
        |            ТОГДА ТаблицаТоваров.КоличествоУпаковок
        |        ИНАЧЕ КоэффициентыУпаковок.Количество / КоэффициентыУпаковок.КоэффициентВложеннойУпаковки
        |    КОНЕЦ,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
        |                И ТаблицаТоваров.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
        |            ТОГДА ИСТИНА
        |        ИНАЧЕ ЛОЖЬ
        |    КОНЕЦ,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.НоменклатураНабора.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0),
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
        |                И ТаблицаТоваров.НоменклатураНабора.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
        |            ТОГДА ИСТИНА
        |        ИНАЧЕ ЛОЖЬ
        |    КОНЕЦ,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура
        |        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора
        |    КОНЕЦ,
        |    ТаблицаТоваров.СтавкаНДС,
        |    ТаблицаТоваров.Ссылка.ЦенаВключаетНДС,
        |    ВЫБОР
        |        КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
        |            ТОГДА ТаблицаТоваров.КоличествоУпаковок
        |        ИНАЧЕ ТаблицаТоваров.Количество
        |    КОНЕЦ,
        |    ЕСТЬNULL(ТаблицаТоваров.Упаковка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)),
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
        |        ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
        |    КОНЕЦ,
        |    ВЫБОР
        |        КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
        |            ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
        |        ИНАЧЕ ТаблицаТоваров.Упаковка
        |    КОНЕЦ,
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0),
        |    ЕСТЬNULL(ВЫБОР
        |            КОГДА ТаблицаТоваров.НоменклатураНабора.ВесИспользовать
        |                ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
        |                        КОГДА ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель = 0
        |                            ТОГДА 1
        |                        ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель
        |                    КОНЕЦ
        |            ИНАЧЕ 0
        |        КОНЕЦ, 0)
        |
        |УПОРЯДОЧИТЬ ПО
        |    Ссылка,
        |    НомерСтроки
        |ИТОГИ ПО
        |    Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |УНИЧТОЖИТЬ КоличествоТоваров";
        Запрос.УстановитьПараметр("ЗаполненаЕдиницаИзмеренияВеса",   ЗначениеЗаполнено(Константы.ЕдиницаИзмеренияВеса.Получить()));
        Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
     
        МассивРезультатов         = Запрос.ВыполнитьПакет();
        РезультатПоШапке          = МассивРезультатов[1];
        РезультатПоТабличнойЧасти = МассивРезультатов[2];
    
     
        СтруктураДанныхДляПечати     = Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти",
                                                       РезультатПоШапке, РезультатПоТабличнойЧасти);
    
        Возврат СтруктураДанныхДляПечати;
    Последнее редактирование модератором: 4 сен 2019
  6. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Заполнение табличной части:

    Код:
    ОбластьМакета.Параметры.ТоварНаименование = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
            СтрокаТовары.ТоварНаименование,
            СтрокаТовары.Характеристика);         
        Если ЕдиницаИзмеренияВеса <> Неопределено Тогда
            Если Не ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) Тогда
                ДанныеСтроки.МассаБрутто = 0;
                ДанныеСтроки.МассаНетто = 0;
            Иначе
                ДанныеСтроки.МассаБрутто = СтрокаТовары.МассаБрутто;
                ДанныеСтроки.МассаНетто = СтрокаТовары.МассаНетто;
            КонецЕсли;
        КонецЕсли;
     
        Если ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.ВозвратТоваровПоставщику")
            ИЛИ ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг")
            ИЛИ ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.ВозвратТоваровМеждуОрганизациями")
            ИЛИ ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
            ЗаполнитьЗначенияСвойств(ДанныеСтроки, СтрокаТовары);
         
            Если ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг")
                ИЛИ ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.ВозвратТоваровМеждуОрганизациями") Тогда
                //исправим погрешность округления
                ДанныеСтроки.Цена = ПроверитьЦенуВДокументе(СтрокаТовары);
                ////////////////////////////////// 
            КонецЕсли;
         
            ДанныеСтроки.СтоимостьСНДС = СтрокаТовары.СуммаСНДС;
         
        ИначеЕсли ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.ПеремещениеТоваров")
            И (НЕ СтрокаТовары.Ссылка.НеУчитыватьНДС) Тогда
                ЗаполнитьЗначенияСвойств(ДанныеСтроки, СтрокаТовары);
             
                ДанныеСтроки.СуммаНДС = Окр(УчетНДСУПКлиентСервер.РассчитатьСуммуНДС(СтрокаТовары.Сумма,
                    УчетНДСУПКлиентСервер.ПолучитьСтавкуНДС(СтрокаТовары.СтавкаНДС), ДанныеСтроки.ЦенаВключаетНДС), 2);
    
                ДанныеСтроки.СтоимостьСНДС    = Окр(СтрокаТовары.Сумма + ?(СтрокаТовары.ЦенаВключаетНДС, 0, ДанныеСтроки.СуммаНДС), 2);
                ДанныеСтроки.Цена = СтрокаТовары.Цена;
             
        ИначеЕсли ТипЗнч(СтрокаТовары.Ссылка) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями")
            И (НЕ СтрокаТовары.Ссылка.НеПечататьНДС) Тогда
                ЗаполнитьЗначенияСвойств(ДанныеСтроки, СтрокаТовары);
             
                ДанныеСтроки.СуммаНДС = Окр(УчетНДСУПКлиентСервер.РассчитатьСуммуНДС(СтрокаТовары.Сумма,
                    УчетНДСУПКлиентСервер.ПолучитьСтавкуНДС(СтрокаТовары.СтавкаНДС), ДанныеСтроки.ЦенаВключаетНДС), 2);
                 
                ДанныеСтроки.СтоимостьСНДС    = Окр(СтрокаТовары.Сумма + ?(СтрокаТовары.ЦенаВключаетНДС, 0, ДанныеСтроки.СуммаНДС), 2);
                ДанныеСтроки.Цена = СтрокаТовары.Цена;
        Иначе 
            ЗаполнитьЗначенияСвойств(ДанныеСтроки, СтрокаТовары); 
            Если НЕ СтрокаТовары.Ссылка.НеУчитыватьНДС Тогда             
                Если ДанныеСтроки.СуммаНДС = "" Тогда
                    ДанныеСтроки.СуммаНДС = 0;
                Иначе
                    ДанныеСтроки.СуммаНДС  = Число(ДанныеСтроки.СуммаНДС);
                КонецЕсли;
            Иначе
                ДанныеСтроки.СтавкаНДС = "";
                ДанныеСтроки.СуммаНДС = 0;
            КонецЕсли;
            ДанныеСтроки.СтоимостьСНДС = ДанныеСтроки.Сумма; 
        КонецЕсли;
       
        Если СтруктураРасчетов.НуженПересчет Тогда
            ОбластьМакета.Параметры.Цена          = Окр(ДанныеСтроки.Цена * СтруктураРасчетов.Курс / СтруктураРасчетов.Кратность, 2);
            ОбластьМакета.Параметры.Сумма         = Окр(ДанныеСтроки.Сумма * СтруктураРасчетов.Курс / СтруктураРасчетов.Кратность, 2);
            ОбластьМакета.Параметры.СуммаНДС      = Окр(ДанныеСтроки.СуммаНДС * СтруктураРасчетов.Курс / СтруктураРасчетов.Кратность, 2);
            ОбластьМакета.Параметры.СтоимостьСНДС = Окр(ДанныеСтроки.СтоимостьСНДС * СтруктураРасчетов.Курс / СтруктураРасчетов.Кратность, 2);
        Иначе 
            ОбластьМакета.Параметры.Цена          = ДанныеСтроки.Цена;
            ОбластьМакета.Параметры.Сумма         = ДанныеСтроки.Сумма;
            ОбластьМакета.Параметры.СуммаНДС      = ДанныеСтроки.СуммаНДС;
            ОбластьМакета.Параметры.СтоимостьСНДС = ДанныеСтроки.СтоимостьСНДС;
        КонецЕсли;
        //Если ОбластьМакета.ТоварНаименование = СтрокаТовары
        ОбластьМакета.Параметры.СтавкаНДС = ДанныеСтроки.СтавкаНДС;
     
        Если СтрокаТовары.Весовой Тогда
            ДанныеСтроки.Мест = 0;
            ДанныеСтроки.Количество  = СтрокаТовары.Количество;
         
            ОбластьМакета.Параметры.Количество = ДанныеСтроки.Количество;
            ОбластьМакета.Параметры.БазоваяЕдиницаНаименование = СтрокаТовары.БазоваяЕдиницаНаименование;
         
            Если НЕ ТН Тогда
                ОбластьМакета.Параметры.ВидУпаковки = "";
                ОбластьМакета.Параметры.КоличествоМест = 0;
                ОбластьМакета.Параметры.Масса = Окр(СтрокаТовары.МассаБрутто, 3 , РежимОкругления.Окр15как20);
            КонецЕсли;
        Иначе
            Если ТипЗнч(СтрокаТовары.ЕдиницаГрузоместа) = Тип("СправочникСсылка.УпаковкиЕдиницыИзмерения") Тогда
                Если СтрокаТовары.ЕдиницаГрузоместа = СтрокаТовары.Упаковка Тогда 
                    ДанныеСтроки.Мест = СтрокаТовары.КоличествоМест;
                Иначе
                    Мест = СтрокаТовары.Количество / ?(СтрокаТовары.ЕдиницаГрузоместа.Числитель <> 0, СтрокаТовары.ЕдиницаГрузоместа.Числитель, 1);
                    КоличествоМест = Цел(Мест); 
                    ДанныеСтроки.Мест = ?(КоличествоМест < Мест, КоличествоМест + 1, КоличествоМест);
                КонецЕсли;
            Иначе
                ДанныеСтроки.Мест = СтрокаТовары.КоличествоМест;
            КонецЕсли;
            ДанныеСтроки.Количество = СтрокаТовары.Количество;
         
            ОбластьМакета.Параметры.Количество = ДанныеСтроки.Количество;
         
            ЭтоНабор = ?(ЗначениеЗаполнено(СтрокаТовары.Номенклатура), СтрокаТовары.Номенклатура.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Набор, Ложь);
         
            Если НЕ ТН Тогда
                Если ЭтоНабор Тогда
                    ОбластьМакета.Параметры.КоличествоМест = ДанныеСтроки.Мест;
                    ОбластьМакета.Параметры.Масса = Окр(ПолучитьВесНабора(СтрокаТовары.Номенклатура), 3, РежимОкругления.Окр15как20);
                    ДанныеСтроки.МассаБрутто = ОбластьМакета.Параметры.Масса;
                Иначе
                    ОбластьМакета.Параметры.КоличествоМест = ДанныеСтроки.Мест;
                 
                    Если СтрокаТовары.МассаБрутто <> 0 тогда
                        Если ТипЗнч(СтрокаТовары.ЕдиницаГрузоместа) = Тип("СправочникСсылка.УпаковкиЕдиницыИзмерения") И СтрокаТовары.ЕдиницаГрузоместа.ЯвляетсяЕдиницейГрузоместа Тогда
                            ОбластьМакета.Параметры.Масса = Окр(СтрокаТовары.ЕдиницаГрузоместа.Вес / СтрокаТовары.ЕдиницаГрузоместа.Числитель * СтрокаТовары.Количество, 3);
                            ДанныеСтроки.МассаБрутто = ОбластьМакета.Параметры.Масса;
                        Иначе
                            ОбластьМакета.Параметры.Масса = Окр(СтрокаТовары.МассаБрутто, 3 , РежимОкругления.Окр15как20);
                        КонецЕсли; 
                    Иначе
                        ОбластьМакета.Параметры.Масса = Окр(СтрокаТовары.МассаНетто, 3 , РежимОкругления.Окр15как20);
                    КонецЕсли;
                 
                КонецЕсли;    
            КонецЕсли;
         
            Если СтрокаТовары.Номенклатура = "" Тогда
                ОбластьМакета.Параметры.БазоваяЕдиницаНаименование = СтрокаТовары.БазоваяЕдиницаНаименование;
            Иначе
                ОбластьМакета.Параметры.БазоваяЕдиницаНаименование = СтрокаТовары.БазоваяЕдиницаНаименование; 
            КонецЕсли;
                 
        КонецЕсли;
    Последнее редактирование модератором: 4 сен 2019
  7. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    все выше
  8. xaysnet
    Offline

    xaysnet Опытный в 1С

    Регистрация:
    3 июн 2019
    Сообщения:
    130
    Симпатии:
    3
    Баллы:
    29
    Вы поставьте точку остановки в МассивРезультатов и посмотрите что оно выдает в результате. И вставьте просто запрос (с конструктора), тогда возможно я смог бы посмотреть.
  9. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Вот запрос с конструктора:
    ВЫБРАТЬ
    СУММА(1) КАК Количество,
    СписокТоваров.Ссылка КАК Ссылка
    ПОМЕСТИТЬ КоличествоТоваров
    ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ТаблицаТоваров.Ссылка КАК Ссылка,
    ТаблицаТоваров.Номенклатура КАК Номенклатура,
    ТаблицаТоваров.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименование,
    ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
    ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа КАК ЕдиницаГрузоместа,
    ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
    ТаблицаТоваров.СуммаБезНДС КАК СуммаБезНДС,
    ТаблицаТоваров.Номенклатура.ВесИспользовать КАК ВесИспользовать,
    ТаблицаТоваров.Ссылка.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
    ТаблицаТоваров.Характеристика КАК Характеристика
    ИЗ
    РеализацияТоваровУслугТаблицаТоваров КАК ТаблицаТоваров
    ГДЕ
    ТаблицаТоваров.ЭтоТовар) КАК СписокТоваров

    СГРУППИРОВАТЬ ПО
    СписокТоваров.Ссылка
    ;

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

    УПОРЯДОЧИТЬ ПО
    Ссылка
    ;

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

    СГРУППИРОВАТЬ ПО
    ТаблицаТоваров.Характеристика.НаименованиеПолное,
    ТаблицаТоваров.Ссылка,
    ТаблицаТоваров.Номенклатура.GTIN,
    ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа,
    ТаблицаТоваров.НоменклатураНабора.GTIN,
    ТаблицаТоваров.НоменклатураНабора.ЕдиницаГрузоместа,
    ЕСТЬNULL(ВЫБОР
    КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
    ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
    КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
    ТОГДА 1
    ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ, 0),
    ВЫБОР
    КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
    И ТаблицаТоваров.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ,
    ЕСТЬNULL(ВЫБОР
    КОГДА ТаблицаТоваров.НоменклатураНабора.ВесИспользовать
    ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
    КОГДА ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель = 0
    ТОГДА 1
    ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ, 0),
    ВЫБОР
    КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
    И ТаблицаТоваров.НоменклатураНабора.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ,
    ВЫБОР
    КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
    ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
    ИНАЧЕ ТаблицаТоваров.Упаковка
    КОНЕЦ,
    ВЫБОР
    КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
    ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
    ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
    КОНЕЦ,
    ВЫБОР
    КОГДА &ВыводитьБазовыеЕдиницыИзмерения
    ТОГДА ТаблицаТоваров.КоличествоУпаковок
    ИНАЧЕ КоэффициентыУпаковок.Количество / КоэффициентыУпаковок.КоэффициентВложеннойУпаковки
    КОНЕЦ,
    ВЫБОР
    КОГДА &ВыводитьБазовыеЕдиницыИзмерения
    ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
    ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
    ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
    КОНЕЦ,
    ВЫБОР
    КОГДА ТаблицаТоваров.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    ТОГДА ТаблицаТоваров.Номенклатура
    ИНАЧЕ ТаблицаТоваров.НоменклатураНабора
    КОНЕЦ,
    ВЫБОР
    КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
    ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
    ТОГДА ТаблицаТоваров.НоменклатураНабора.ЕдиницаИзмерения.Представление
    ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
    КОНЕЦ,
    ВЫБОР
    КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
    ТОГДА ТаблицаТоваров.КоличествоУпаковок
    ИНАЧЕ ТаблицаТоваров.Количество
    КОНЕЦ,
    ТаблицаТоваров.Ссылка.ЦенаВключаетНДС,
    ЕСТЬNULL(ВЫБОР
    КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
    ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
    КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
    ТОГДА 1
    ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ, 0),
    ЕСТЬNULL(ВЫБОР
    КОГДА ТаблицаТоваров.НоменклатураНабора.ВесИспользовать
    ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
    КОГДА ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель = 0
    ТОГДА 1
    ИНАЧЕ ТаблицаТоваров.НоменклатураНабора.ВесЗнаменатель
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ, 0)

    УПОРЯДОЧИТЬ ПО
    Ссылка,
    НомерСтроки
    ИТОГИ ПО
    Ссылка
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ КоличествоТоваров
    В массив вот что передаётся, как я понял просто пустые значения которые после передаются.

    Вложения:

    • 333.png
      333.png
      Размер файла:
      48,4 КБ
      Просмотров:
      2
  10. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.888
    Симпатии:
    1.029
    Баллы:
    204
    В запросе есть соединения с неведомыми таблицами:

    Код:
    ....
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваров
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
    ПО РеализацияТоваров.Ссылка = ДанныеДокументов.Ссылка
    .....
    ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
    ПО РеализацияТоваров.Ссылка = ТаблицаОтветственныеЛица.Ссылка
    ......
    
    Код:
    ...
    ИЗ
    РеализацияТоваровУслугТаблицаТоваров КАК ТаблицаТоваров
    ЛЕВОЕ СОЕДИНЕНИЕ КоэффициентыУпаковок КАК КоэффициентыУпаковок
    ПО ТаблицаТоваров.Ссылка = КоэффициентыУпаковок.Ссылка
    ....
    ищите дубли строк в этих таблицах
  11. TopicStarter Overlay
    Mysterios93
    Offline

    Mysterios93

    Регистрация:
    2 сен 2019
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    понял,спасибо