Задача: Есть выгрузка товаров на сайт, нужно чтобы выгружалась номенклатура у которой цена есть. Изменил запрос в СКД. Конфа УНФ.

Запрос:

```1c
    ВЫБРАТЬ
    Склады.Ссылка КАК Склад,
    "Склад" КАК ТипОбъекта
    ПОМЕСТИТЬ ВремСклады
    ИЗ
    Справочник.СтруктурныеЕдиницы КАК Склады
    ГДЕ
    (Склады.ТипСтруктурнойЕдиницы = ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Склад)
    ИЛИ Склады.ТипСтруктурнойЕдиницы = ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Розница))
    {ГДЕ
    Склады.Ссылка.* КАК Склад}

    ИНДЕКСИРОВАТЬ ПО
    Склад
    ;

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

    ИНДЕКСИРОВАТЬ ПО
    Номенклатура
    ;

    ////////////////////////////////////////////////////////////­////////////////////

    // ЗДЕСЬ Я СДЕЛАЛ ИЗМЕНЕНИЯ. Добавил регистр сведений ЦеныНоменклатуры и условие на Цена <> 0.
    ВЫБРАТЬ
    ВремНоменклатура.ТипОбъекта КАК ТипОбъекта,
    ВремНоменклатура.Номенклатура КАК Объект
    ИЗ
    ВремНоменклатура КАК ВремНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    ПО ВремНоменклатура.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ГДЕ
    ЦеныНоменклатурыСрезПоследних.Цена <> 0
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    УНИЧТОЖИТЬ ВремНоменклатура
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    УНИЧТОЖИТЬ ВремСклады
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ДополнительныеРеквизитыИСведения.Ссылка КАК Свойство
    ПОМЕСТИТЬ ВремВсеСвойства
    ИЗ
    ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    {ГДЕ
    ДополнительныеРеквизитыИСведения.Ссылка.* КАК Свойство}
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    УНИЧТОЖИТЬ ВремВсеСвойства
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВидыЦен.Ссылка КАК ВидЦены
    ПОМЕСТИТЬ ВремВидыЦен
    ИЗ
    Справочник.ВидыЦен КАК ВидыЦен
    {ГДЕ
    ВидыЦен.Ссылка.* КАК ВидЦены}
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    УНИЧТОЖИТЬ ВремВидыЦен
```

Ошибка после изменения:

Запись с такими ключевыми полями существует! : Б_ПакетныйОбмен: Выгрузка на сайт дискретная, ЦМ Apecs N6-62-NI, 1, 2ca5154f-9d77-4dda-b4c9-6b6d95a64790, Товары (Регистр сведений: (Битрикс) Пакеты выгрузки данных; Номер строки: 31)
{ОбщийМодуль.Б_ОбменССайтомСерверВыгрузкаДанных.Модуль(359)}: НаборЗаписей.Записать();
{ОбщийМодуль.Б_ОбменССайтомСерверВыгрузкаДанных.Модуль(124)}: ЗагрузкаТаблицыДанныхВРегистрПакетов(ТаблицаОбъектовОбменаВыгрузки, ПараметрыОбмена, СтрокаТаблицыКаталогов.ИдентификаторКаталога, ПараметрыОбмена.КоличествоТоваровВПакете, Операция);
{ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(3424)}: Б_ОбменССайтомСерверВыгрузкаДанных.ФормированиеПакетовДанных(ОсновныеПараметры, "Товары");
{ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(3571)}: ВыполнитьОбмен(ПараметрыОбмена.УзелОбмена, ПараметрыОбмена.ПринудительнаяПолноеОбновлениеДанныхТовара);
{(1)}:Б_ОбменССайтомСервер.ВыполнитьОбменИнтерактивно(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Запись с такими ключевыми полями существует! : Б_ПакетныйОбмен: Выгрузка на сайт дискретная, ЦМ Apecs N6-62-NI, 1, 2ca5154f-9d77-4dda-b4c9-6b6d95a64790, Товары (Регистр сведений: (Битрикс) Пакеты выгрузки данных; Номер строки: 31)
---
ВЫБРАТЬ РАЗЛИЧНЫЕ
---
ВЫБРАТЬ РАЗЛИЧНЫЕ
---
Спасибо, а как Вы поняли что нужно "ВЫБРАТЬ РАЗЛИЧНЫЕ"?
---
У вас установлен отбор только на одно измерение периодического регистра (Номенклатура), поэтому если есть записи по другим измерениям (Характеристика или Тип цен) то запрос будет выдавать дублирующие результаты.
---
Понял, спасибо!