Имя: Пароль:
1C
1С v8
Динамический список(дублирование ключевых значений)
0 onetone
 
26.04.17
12:15
Все привет.
И так есть обработка на УФ в обычном приложении на форме у нее ДС.
Текст запроса
ВЫБРАТЬ РАЗЛИЧНЫЕ
    СправочникНоменклатуры.Код,
    СправочникНоменклатуры.Ссылка КАК Товар,
    СправочникНоменклатуры.ПризнакПоказа КАК Статус,
    ВЫРАЗИТЬ(ЕСТЬNULL(ТаблицаЦен.Цена, 0) КАК ЧИСЛО(10, 0)) КАК Цена,
    ТаблицаОстатков.НаСкладе,
    СправочникНоменклатуры.Наименование,
    СправочникНоменклатуры.РРЦ,
    ТаблицаОстатков.НаПВЗ,
    ВЫБОР
        КОГДА (ВЫРАЗИТЬ(ЕСТЬNULL(ТаблицаЦен.Цена, 0) КАК ЧИСЛО(10, 0))) > 0
            ТОГДА ТаблицаЦен.Цена * 100 / ТаблицаСС.Цена - 100
        ИНАЧЕ 0
    КОНЕЦ КАК Наценка
ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
            МАКСИМУМ(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) > 0
                    И ТоварыНаСкладахОстатки.Склад В (&ТолькоСклад)) КАК НаСкладе,
            МАКСИМУМ(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) > 0
                    И ТоварыНаСкладахОстатки.Склад В (&МассивПВЗ)) КАК НаПВЗ
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&МассивСкладов)) КАК ТоварыНаСкладахОстатки
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, Склад В (&МассивСкладов)) КАК ТоварыКПередачеСоСкладовОстатки
                ПО ТоварыНаСкладахОстатки.Склад = ТоварыКПередачеСоСкладовОстатки.Склад
                    И ТоварыНаСкладахОстатки.Номенклатура = ТоварыКПередачеСоСкладовОстатки.Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Склад В (&МассивСкладов)) КАК ТоварыВРезервеНаСкладахОстатки
                ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
                    И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
        
        СГРУППИРОВАТЬ ПО
            ТоварыНаСкладахОстатки.Номенклатура
        
        ИМЕЮЩИЕ
            СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0)) > 0) КАК ТаблицаОстатков
        ПО СправочникНоменклатуры.Ссылка = ТаблицаОстатков.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦенНаСайте) КАК ТаблицаЦен
        ПО СправочникНоменклатуры.Ссылка = ТаблицаЦен.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЦеныНоменклатурыКонтрагентов.Номенклатура КАК Номенклатура,
            МИНИМУМ(ЦеныНоменклатурыКонтрагентов.Цена) КАК Цена
        ИЗ
            РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов
        ГДЕ
            ЦеныНоменклатурыКонтрагентов.ТипЦен.ТипЦеныНоменклатуры = &ТипЦен
            И ЦеныНоменклатурыКонтрагентов.Регистратор ССЫЛКА Документ.УстановкаЦенНоменклатурыКонтрагентов
            И НЕ ЦеныНоменклатурыКонтрагентов.Номенклатура.Аксессуар
            И НЕ ЦеныНоменклатурыКонтрагентов.Номенклатура.СнятСпроизводства
            И НЕ ЦеныНоменклатурыКонтрагентов.Регистратор.Контрагент.НеУчитыватьВАукционе
        
        СГРУППИРОВАТЬ ПО
            ЦеныНоменклатурыКонтрагентов.Номенклатура) КАК ТаблицаСС
        ПО СправочникНоменклатуры.Ссылка = ТаблицаСС.Номенклатура
ГДЕ
    НЕ СправочникНоменклатуры.ЭтоГруппа

Выполняя данный запрос в консоли запросов дублей нет, а вот при запуске обработки пишет обнаружено дублирование ключевых значений в колонках "Товар".

Может я туплю? Кстати, это ошибка появилась после обновления на платформу 8.3.9.2170
1 Fragster
 
гуру
26.04.17
12:16
> Может я туплю?
да.

> Выполняя данный запрос в консоли запросов дублей нет
зачем нас обманываешь?
2 Вафель
 
26.04.17
12:17
1 товар есть на нескольких складах
3 onetone
 
26.04.17
12:29
(1) не обманываю я)
4 onetone
 
26.04.17
12:31
(2) Я в получении остатков сворачиваю таблицу ведь.
Сейчас ради эксперименты свернул все данные по номенклатуре, ошибка не ушла.
5 Fragster
 
гуру
26.04.17
12:32
(2) скорее цен
6 onetone
 
26.04.17
12:34
(5) в ценах, срез последний и отбор по типу цен номенклатуры.
7 onetone
 
26.04.17
13:01
Ну ткните носом неопытного то)
8 Вафель
 
26.04.17
13:02
а характеристики есть?
9 1dvd
 
26.04.17
13:04
ежели в консоли одно, а в конфигураторе другое, то всё дело в параметрах
10 onetone
 
26.04.17
13:05
(8) Нету
11 onetone
 
26.04.17
13:05
(9) Вбиваю один в одни все параметры как в конфигураторе.
12 Вафель
 
26.04.17
13:08
отключи основную таблицу и посмотри
13 onetone
 
26.04.17
13:14
(12) Так работает, в чем прикол объясните пожалуйста.
14 Вафель
 
26.04.17
13:16
нашел дубли?
Без основной таблицы, только просмотр. ни открыть ни добавить
15 onetone
 
26.04.17
14:01
Вы можете мне не верить, но дублей нету.
16 onetone
 
26.04.17
14:01
ну да и ладно, спасибо на этом. Будем работать без основной таблицы.
Программист всегда исправляет последнюю ошибку.