Здравствуйте! подскажите в чем может быть проблема. у меня имеется динамический список с произвольным запросом. И когда я начинаю пролистывать результат на определенном моменте появляется ошибка:

 "Обнаружено дублирование ключевых значений в колонках: "ссылка". Отображение данных в списке невозможность". Код запроса ниже. Скажите хоть куда копать?

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    СправочникНоменклатура.Ссылка КАК Ссылка,
    СправочникНоменклатура.Услуга КАК Услуга,
    СправочникНоменклатура.Наименование КАК Наименование,
    СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
    СправочникНоменклатура.Код КАК Код,
    СправочникНоменклатура.Артикул КАК Артикул,
    СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    0 КАК Поле2,
    ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК Поле1,
    ВЫБОР
    КОГДА СправочникНоменклатура._Доработка_ВесовойУчет
    ТОГДА ЕСТЬNULL(_Доработка_УчетВесовойНоменклатурыОстатки.ВесОстаток, 0)
    КОГДА СправочникНоменклатура._Доработка_ШтучныйУчет
    ТОГДА ЕСТЬNULL(_Доработка_УчетВесовойНоменклатурыОстатки.КоличествоОстаток, 0)
    ИНАЧЕ 0
    КОНЕЦ КАК ГоловыВес,
    ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Валюта, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) КАК Валюта,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
    ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатура
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&ДатаОстаткиЦены)}, {(Номенклатура).* КАК Ссылка, (ТипЦен) КАК ТипЦен, (Валюта) КАК ВалютаЦены}) КАК ЦеныНоменклатурыСрезПоследних
    ПО СправочникНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
    И (&ПоказыватьЦены)}
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки({(&ДатаОстаткиЦены)}, Счет В (&СписокСчетов), {(&ВидыСубконто)}, Организация В (&СписокОрганизаций) {(Подразделение) КАК Подразделение, (ВЫРАЗИТЬ(Субконто1 КАК Справочник.Номенклатура)).* КАК Ссылка, (Субконто2)}) КАК ХозрасчетныйОстатки
    ПО СправочникНоменклатура.Ссылка = ХозрасчетныйОстатки.Субконто1}
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления._Доработка_УчетВесовойНоменклатуры.Остатки КАК _Доработка_УчетВесовойНоменклатурыОстатки
    ПО СправочникНоменклатура.Ссылка = _Доработка_УчетВесовойНоменклатурыОстатки.Номенклатура
    ГДЕ
    НЕ СправочникНоменклатура.ЭтоГруппа
```
---
У меня была такая же ошибка при запуске обработки подбора номенклатуры. Проблема была в дублировании записей регистра сведений цены номенклатуры. Соответственно, дублировалась ссылка. Поскольку ошибка возникала, когда ошибочная номенклатура попадала в список, я создал группу в справочнике номенклатуры и переносил в неё элементы. Как только перенёс ошибочный элемент, ошибка пропала. Затем посмотрел записи регистра сведений цены номенклатуры для ошибочного элемента и удалил дублирующиеся записи.
---
у нас наверно релизы разные, у меня даже перечисления "Типы номенклатуры" нет но я сейчас поищу похожий запрос, спасибо.
---
да я тоже обратил внимание, есть один тип цен то есть розничная и они устанавливают цены на одну позицию с одним типом цен дважды в день, хотя вот бухгалтерия вроде как должна блокировать проведение если уже есть запись по данной позиции по данному виду цен в этот день...
---
Копать, скорее всего, в сторону левых соединений - там что-то двоится.
---
есть подозрение что задвоились ссылки конечно но я уже в консоли глазами пробежался не пойму в чем дело, щас еще покопаю....
---
Так описание ошибки явно говорит, что "Ссылка" дублируется.
Возможно, в регистре "РегистрНакопления._Доработка_УчетВесовойНоменклатуры.Остатки" по какой-то номенклатуре две записи? Разные склады, например.
---
не смотрел там, но гляну сейчас. спасибо.
---
самое простое - взять запрос из динамического списка, и запустить его в обычной консоли, только результат загнать в виртуальную таблицу и сгруппировать по ссылке, оставив те записи, где количество > 1.
---
```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    СправочникНоменклатура.Ссылка КАК Ссылка
    Поместить ВтНоменклатураСсылка
    ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатура
    Индексировать ПО
    Ссылка

    ;

    Выбрать *
    ИЗ
    ВтНоменклатураСсылка КАК ВтНоменклатураСсылка
    Левое Соединение...
    ...
    Левое Соединение
```

если так, то не будет дублей ссылок номенклатуры.
правда не помню с какой версии временные катят в динамических списках
---
+ 7 дубли будут, но мысль понятна как от них избавиться изначально, а вот как соединять уже с таблицей уникальных ссылок... пусть эээ лошадь думает, простите)
---
У меня была такая же ошибка при запуске обработки подбора номенклатуры. Проблема была в дублировании записей регистра сведений цены номенклатуры. Соответственно, дублировалась ссылка. Поскольку ошибка возникала, когда ошибочная номенклатура попадала в список, я создал группу в справочнике номенклатуры и переносил в неё элементы. Как только перенёс ошибочный элемент, ошибка пропала. Затем посмотрел записи регистра сведений цены номенклатуры для ошибочного элемента и удалил дублирующиеся записи.
---
у меня эта ошибка так же в подборе номенклатуры) а как вы переносили элементы в группу? вручную?
---
Да, вручную: перенести в группу. Сначала выделял много, чтобы поймать ошибочный. Затем из этой группы частями назад возвращал, до появления ошибки.
---
у меня их более 10000 позиций..))
---
Я отловил этот запрос:

```1c
    ВЫБРАТЬ
    СправочникНоменклатура.Ссылка КАК Ссылка,
    СправочникНоменклатура.Артикул КАК Артикул,
    СправочникНоменклатура.Код КАК Код,
    СправочникНоменклатура.Наименование КАК Наименование,
    СправочникНоменклатура.ПометкаУдаления КАК ПометкаУдаления,
    СправочникНоменклатура.Родитель КАК Родитель,
    СправочникНоменклатура.ЭтоГруппа КАК ЭтоГруппа,
    СправочникНоменклатура.Ссылка КАК Номенклатура,
    СправочникНоменклатура.Ссылка КАК ЭлементСписка,
    СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
    ВЫБОР
    КОГДА СправочникНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Набор)
    ТОГДА ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора, ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка))
    ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
    КОНЕЦ КАК ВариантРасчетаЦеныНабора,
    ВариантыКомплектацииНоменклатуры.СодержитТовары КАК СодержитТовары,
    ВариантыКомплектацииНоменклатуры.СодержитУслуги КАК СодержитУслуги,
    СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СправочникНоменклатура.ЦеноваяГруппа КАК ЦеноваяГруппа,
    СправочникНоменклатура.Качество КАК Качество,
    СправочникНоменклатура.ИспользованиеХарактеристик КАК ИспользованиеХарактеристик,
    ВЫБОР
    КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
    ТОГДА ИСТИНА
    КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Набор))
    И ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.СодержитТовары, ЛОЖЬ)
    И НЕ ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.СодержитУслуги, ЛОЖЬ)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоТовар,
    ВЫБОР
    КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
    ТОГДА ИСТИНА
    КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Набор))
    И ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.СодержитУслуги, ЛОЖЬ)
    И НЕ ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.СодержитТовары, ЛОЖЬ)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоУслуга,
    ВЫБОР
    КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры)
    ТОГДА СправочникНоменклатура.ВидНоменклатуры
    КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры)
    ТОГДА СправочникНоменклатура.Ссылка
    КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры)
    ТОГДА СправочникНоменклатура.ВладелецХарактеристик
    ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК ВладелецХарактеристик,
    ВЫБОР
    КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
    ТОГДА ЛОЖЬ
    ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ХарактеристикиИспользуются,
    ВЫБОР
    КОГДА СправочникНоменклатура.ЭтоГруппа
    ТОГДА ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 13
    ИНАЧЕ 12
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА СправочникНоменклатура.ЕстьТоварыДругогоКачества
    ТОГДА 4 + ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ + ВЫБОР
    КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
    ТОГДА 0
    ИНАЧЕ 2
    КОНЕЦ
    ИНАЧЕ -1 + ВЫБОР
    КОГДА СправочникНоменклатура.ПометкаУдаления
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ + ВЫБОР
    КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
    ТОГДА 1
    ИНАЧЕ 3
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ КАК ИндексКартинки,
    &ВидыЦен КАК ВидЦены,
    ЕСТЬNULL(ЦеныНоменклатуры.Упаковка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)) КАК Упаковка,
    ВЫРАЗИТЬ(ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) * ВЫБОР
    КОГДА &Валюта <> ЦеныНоменклатуры.Валюта
    ТОГДА ВЫБОР
    КОГДА ЕСТЬNULL(КурсыСрезПоследнихВалютаЦены.Кратность, 0) > 0
    И ЕСТЬNULL(КурсыСрезПоследнихВалютаЦены.Курс, 0) > 0
    И ЕСТЬNULL(КурсыСрезПоследнихВалютаДокумента.Кратность, 0) > 0
    И ЕСТЬNULL(КурсыСрезПоследнихВалютаДокумента.Курс, 0) > 0
    ТОГДА КурсыСрезПоследнихВалютаЦены.Курс * КурсыСрезПоследнихВалютаДокумента.Кратность / (КурсыСрезПоследнихВалютаДокумента.Курс * КурсыСрезПоследнихВалютаЦены.Кратность)
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ 1
    КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Цена,
    ВЫРАЗИТЬ(ЕСТЬNULL(СвободныеОстатки.ВНаличииОстаток, 0) / ЕСТЬNULL(ВЫБОР
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Вес)
    И ЦеныНоменклатуры.Номенклатура.ВесИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Объем)
    И ЦеныНоменклатуры.Номенклатура.ОбъемИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Площадь)
    И ЦеныНоменклатуры.Номенклатура.ПлощадьИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Длина)
    И ЦеныНоменклатуры.Номенклатура.ДлинаИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка)
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10)))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.КоличествоШтук)
    ТОГДА 1
    ИНАЧЕ NULL
    КОНЕЦ, 1) КАК ЧИСЛО(15, 3)) КАК ВНаличииОстаток,
    ВЫРАЗИТЬ((ЕСТЬNULL(СвободныеОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстатки.ВРезервеПодЗаказОстаток, 0) - ЕСТЬNULL(СвободныеОстатки.ВРезервеСоСкладаОстаток, 0) + ЕСТЬNULL(ОстаткиИзЗаказов.Количество, 0)) / ЕСТЬNULL(ВЫБОР
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Вес)
    И ЦеныНоменклатуры.Номенклатура.ВесИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Объем)
    И ЦеныНоменклатуры.Номенклатура.ОбъемИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Площадь)
    И ЦеныНоменклатуры.Номенклатура.ПлощадьИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Длина)
    И ЦеныНоменклатуры.Номенклатура.ДлинаИспользовать
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель, 0) <> 0
    И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(30, 10)))) / ((ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель КАК ЧИСЛО(30, 10))))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка)
    И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель, 0) <> 0
    ТОГДА (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель КАК ЧИСЛО(30, 10))) / (ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(30, 10)))
    КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.КоличествоШтук)
    ТОГДА 1
    ИНАЧЕ NULL
    КОНЕЦ, 1) КАК ЧИСЛО(15, 3)) КАК Доступно,
    1 КАК Поле1
    ПОМЕСТИТЬ ВременнаяТаблица
    ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
    ПО (ВариантыКомплектацииНоменклатуры.Владелец = СправочникНоменклатура.Ссылка)
    И (ВариантыКомплектацииНоменклатуры.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
    И (ВариантыКомплектацииНоменклатуры.Основной)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    ,
    ВидЦены = &ВидыЦен
    И Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = СправочникНоменклатура.Ссылка)
    И (ЦеныНоменклатуры.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
    И (ЦеныНоменклатуры.ВидЦены = &ВидыЦен)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыСрезПоследнихВалютаЦены
    ПО (КурсыСрезПоследнихВалютаЦены.Валюта = ЦеныНоменклатуры.Валюта)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыСрезПоследнихВалютаДокумента
    ПО (ИСТИНА)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(, Склад = &Склад {(Номенклатура).* КАК Номенклатура}) КАК СвободныеОстатки
    ПО (СвободныеОстатки.Склад = &Склад)
    И (СвободныеОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    Т.Номенклатура КАК Номенклатура,
    СУММА(Т.Количество) КАК Количество
    ИЗ
    РегистрСведений.ДоступныеОстаткиПланируемыхПоступлений КАК Т
    ГДЕ
    Т.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1)
    И Т.Количество < 0
    И Т.Склад = &Склад

    СГРУППИРОВАТЬ ПО
    Т.Номенклатура) КАК ОстаткиИзЗаказов
    ПО (ОстаткиИзЗаказов.Номенклатура = СправочникНоменклатура.Ссылка)
    ГДЕ
    НЕ СправочникНоменклатура.ЭтоГруппа
    {ГДЕ
    (1 В
    (ВЫБРАТЬ ПЕРВЫЕ 1
    1
    ИЗ
    РегистрСведений.НоменклатураСегмента КАК Сегменты
    ГДЕ
    Сегменты.Номенклатура = СправочникНоменклатура.Ссылка
    И Сегменты.Сегмент = &СегментНоменклатуры)) КАК Поле2}
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВременнаяТаблица.Ссылка КАК Ссылка,
    СУММА(ВременнаяТаблица.Поле1) КАК Поле1
    ПОМЕСТИТЬ ВременнаяТаблица1
    ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица

    СГРУППИРОВАТЬ ПО
    ВременнаяТаблица.Ссылка
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВременнаяТаблица1.Ссылка КАК Ссылка,
    ВременнаяТаблица1.Поле1 КАК Поле1
    ИЗ
    ВременнаяТаблица1 КАК ВременнаяТаблица1
    ГДЕ
    ВременнаяТаблица1.Поле1 > 1
```

Попробуй, может он тебе выдаст строки, которых больше одной.
---
у нас наверно релизы разные, у меня даже перечисления "Типы номенклатуры" нет но я сейчас поищу похожий запрос, спасибо.
---
отменил на время проведение документов установка цен номенклатуры на базовой и все отлично заработало....
---
Может в каком-то документе установка цен номенклатуры 2 одинаковых позиции? Или Вы меняете цену на позицию в течение дня. Регистр сведений "Цены номенклатуры" периодичность "в течение дня". Так же в документе "тип цен" один или два. Если два, то нужно задавать разный тип цен, т.к. в регистре одна строка документа записывается двумя строками...
---
да я тоже обратил внимание, есть один тип цен то есть розничная и они устанавливают цены на одну позицию с одним типом цен дважды в день, хотя вот бухгалтерия вроде как должна блокировать проведение если уже есть запись по данной позиции по данному виду цен в этот день...