Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обнаружено дублирование ключевых значений в колонках "Ссылка"

Обнаружено дублирование ключевых значений в колонках "Ссылка"
Я
   slafor
 
16.07.20 - 16:03
Если я не нашел через Поиск, извините.

Добавил расширение, а в нем - исправление динамического списка. Всего-навсего 2 поля добавил, а в итоге получаю ошибку "Обнаружено дублирование ключевых значений в колонках "Ссылка". С чем это может быть связано?
   mikecool
 
1 - 16.07.20 - 16:04
дублирование записей вследствие левых соединений
   slafor
 
2 - 16.07.20 - 16:07
Да, так оно и есть. Берутся 3 документа, ссылки, а как можно это решить?
   Вафель
 
3 - 16.07.20 - 16:08
браь только 1
   Ненавижу 1С
 
4 - 16.07.20 - 16:08
(2) сделать, чтобы поле ссылка стало уникальным
   mikecool
 
5 - 16.07.20 - 16:09
(2) сначала надо покушать
   zak555
 
6 - 16.07.20 - 16:11
допрекзиты/допсведения отключи
   slafor
 
7 - 16.07.20 - 16:15
(3) Мне по идее другие ссылки не нужны, мне только данные оттуда взять.
   slafor
 
8 - 16.07.20 - 16:15
(6) Пардон, это где?
   Ц_У
 
9 - 16.07.20 - 16:19
(7) свой запрос в дин. списке? Покажешь?
   Вафель
 
10 - 16.07.20 - 16:20
отключи основную таблицу
   slafor
 
11 - 16.07.20 - 17:02
Как? Мне по быстрому сделать надо.
Если честно, может быть, проблема в том, что это расширение?
   Жан Пердежон
 
12 - 16.07.20 - 17:31
(11) нет проблема, если на пальцах, в том, что в твоем запросе одна и та же ссылка более 1 раза выдается.
Исправляй запрос сам или зови программиста (настоящего только).
   slafor
 
13 - 17.07.20 - 14:45
(9) Вот запрос в динамическом списке:

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

Я всего лишь добавил туда связи с приходным ордером на товары и установкой цен номенклатуры
   Ёпрст
 
14 - 17.07.20 - 15:00
(13) вот если для одного дока нескрлько приходниуов, твой запрос вернет несколько одинаковых ссылок. Фирштейн?
   Ёпрст
 
15 - 17.07.20 - 15:01
Или несколько устанок цен на один документ.
   slafor
 
16 - 17.07.20 - 15:16
(14) Точно! То есть в данном случае надо писать вложенный запрос и выбирать один (ВЫБРАТЬ ПЕРВЫЕ 1) - это, конечно, будет неправильно, но само по себе наличие более одного приходника с одним и тем же документом-основанием - неправильно.
   craxx
 
17 - 17.07.20 - 15:21
(16) нет, тут запрос получится просто сильно сложнее, просто ВЫБРАТЬ ПЕРВЫЕ 1 - ничего не даст
   slafor
 
18 - 17.07.20 - 17:25
Не совсем понятно... Просто изначально не было пароля к базе, я вошел Hex-редактором, и этот запрос заработал! А потом вошел под админом, и программа стала выдавать такую ошибку.
   Михаил Козлов
 
19 - 17.07.20 - 18:44
А смысл (9) какой? Показать какой-то 1 приходный ордер, связанный с поступлением?
Может лучше как-то обозначить те ПТиУ, для которых нет ордеров? Или в другом дин. списке выводить приходные ордера?
В типовых в разделе Склад и доставка в подразделе Приемка это сделано.
   slafor
 
20 - 18.07.20 - 14:48
(19) Смысл в том, чтобы в списке поступлений товаров выделять цветом те поступления, но основании которых не созданы приходные ордера, или установки цен номенклатуры.
Кстати, это Розница, к тому же старой редакции. Там вообще нет документов ПТУ, есть документы ПТ. Может быть, дело в том, что включен режим совместимости 8.3.8?
   VladZ
 
21 - 18.07.20 - 15:00
(0) Динамический список - вещь удобная.
Но, как и любой другой инструмент, имеет свою зону действия.

Да, МОЖНО добавить в список всё, что хочешь. Но НЕ НУЖНО.

Выводи нужную тебе инфу в другом списке. Или в форме элемента.
Не нужно пытаться "впихнуть невпихуемое".
   slafor
 
22 - 18.07.20 - 19:52
(21) Да, действительно, "впихнуть невпихуемое" невозможно...

Если у меня есть несколько документов одного вида, созданных на основании поступлений, само собой, что поместить их все в одну строку динамического списка нереально. По сути, мне надо было только узнать, если ли для данного поступления документы на основании, помог способ группировки всех полей списка, и функция КОЛИЧЕСТВО.
   Михаил Козлов
 
23 - 19.07.20 - 14:10
(20),(22) Пусть есть приходный ордер, но не на все поступление - каким цветом выделять ПТ?
Если уж хотите цветом обозначить документы, с которыми все ОК, то, по-моему, лучше смотреть остатки в регистре накопления.
А совсем спортивно (если в типовой рознице этого нет) оформить рабочее место для "контролера".


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.