Имя: Пароль:
1C
 
Обнаружено дублирование ключевых значений в колонках: "Ссылка".
0 Cоляпсус
 
07.08.25
14:33
Добрый день. Помогите пожалуйста разобраться. УТ 11.5 Форма списка документов изменил динамический запрос программно в процедуре ПриСозданииНаСервереПосле. И при открытии формы выходит такая ошибка. Всё посмотрел и не пойму где в запросе поправить. Ссылок вроде только одна. Может не нравится соединение. Главную таблицу указал тоже в коде как написано в рекомендациях на ИТС.
"ВЫБРАТЬ
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Ссылка КАК Ссылка,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Номер КАК Номер,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Дата КАК Дата,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Проведен КАК Проведен,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Комментарий КАК Комментарий,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.ВидОперации КАК ВидОперации,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.ЗонаОтгрузки КАК ЗонаОтгрузки,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.ЗонаПриемки КАК ЗонаПриемки,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Исполнитель КАК Исполнитель,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.РабочийУчасток КАК РабочийУчасток,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Распоряжение КАК Распоряжение,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.Статус КАК Статус,
             |    ДокументОтборРазмещениеТоваровПереопределяемый.МоментВремени КАК МоментВремени,
             |    ЗаказКлиента.Номер КАК НомерЗаказа,
             |    ЗаказКлиента.Партнер КАК КлиентЗаказа
             |ИЗ
             |    Документ.ОтборРазмещениеТоваров КАК ДокументОтборРазмещениеТоваровПереопределяемый
             |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйОрдерНаТовары.ТоварыПоРаспоряжениям КАК РасходныйОрдерНаТоварыТоварыПоРаспоряжениям
             |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
             |            ПО (РасходныйОрдерНаТоварыТоварыПоРаспоряжениям.Распоряжение = ЗаказКлиента.Ссылка)
             |        ПО (ДокументОтборРазмещениеТоваровПереопределяемый.Распоряжение = РасходныйОрдерНаТоварыТоварыПоРаспоряжениям.Ссылка)"

Заранее благодарен.
1 Cоляпсус
 
07.08.25
14:34
Форма списка документов конечно: Документ отбор (размещение) товаров
2 rozer76
 
07.08.25
14:35
соединения плодят дубли Ссылка
3 Cоляпсус
 
07.08.25
15:11
А как исправить?
4 Fish
 
гуру
07.08.25
15:22
(3) Загони запрос в консоль запросов и отбери ссылки, имеющие количество больше 1.

Поймёшь, почему задвоение
5 Cоляпсус
 
07.08.25
15:28
(4) Извиняюсь, не совсем понял.
6 Ненавижу 1С
 
гуру
07.08.25
15:33
можно конечно добавить РАЗЛИЧНЫЕ, но теоретически может быть ордер по нескольким заказам клиентам
7 Cоляпсус
 
07.08.25
15:36
(6) да, точно может быть.
8 Cоляпсус
 
07.08.25
15:40
(6) Да и различным "Комментарий" не нравится.
9 rozer76
 
07.08.25
16:00
(8) комментарий сделай через Выразить если там неограниченная длина
10 Cоляпсус
 
07.08.25
16:04
(9) Да так и сделал. Всёравно та же тема. Ошибка
11 Fish
 
гуру
07.08.25
16:11
(5) Что такое консоль запросов знаешь?
12 PR
 
07.08.25
16:57
(3) Убери из запроса
             |    ЗаказКлиента.Номер КАК НомерЗаказа,
             |    ЗаказКлиента.Партнер КАК КлиентЗаказа

Убери из запроса
             |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйОрдерНаТовары.ТоварыПоРаспоряжениям КАК РасходныйОрдерНаТоварыТоварыПоРаспоряжениям
             |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
             |            ПО (РасходныйОрдерНаТоварыТоварыПоРаспоряжениям.Распоряжение = ЗаказКлиента.Ссылка)
             |        ПО (ДокументОтборРазмещениеТоваровПереопределяемый.Распоряжение = РасходныйОрдерНаТоварыТоварыПоРаспоряжениям.Ссылка)
13 Cоляпсус
 
07.08.25
17:46
(12) Но это я тогда вернусь к типовому динамическому запросу. А мне нужно добавить на форму две колонки с номерами и клиентами, поэтому и пришлось добавлять в запрос два соединения.
14 Cоляпсус
 
07.08.25
17:47
(11) Что в ней сделать я не пойму.
15 PR
 
07.08.25
18:35
(13) Все верно, вернешься
А потом ты включишь мозг и подумаешь, как в одно поле ты хочешь упихнуть несколько значений НомерЗаказа и то же самое с КлиентЗаказа и что ты вообще в принципе хочешь
До того момента, как придумаешь, не трогай конфигуратор рабочей базы
16 PR
 
07.08.25
18:37
Ключевая мысль, которую тебе нужно помнить
Твой запрос должен выдавать ровно одну строку для каждого значения поля Ссылка
Если у тебя в результате соединений получается больше, ты накосячил, делай одну
Независимо от того, куда вы едете — это в гору и против ветра!