Имя: Пароль:
1C
 
обнаружено дублирование ключевых значений в колонке ссылка
0 piffoff
 
24.04.17
21:31
Добрый
Конфа Бухгалтерия предприятия, редакция 3.0 (3.0.49.18)
Не могу понять где дублируется . В стандарный запрос добавляю дату фактической оплаты. ЕЕ беру как вложенный запрос от платежного поручения. Левым соединением привязываю к счету на оплату по документу основанию и выдает ошибку

ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПлатежноеПоручение.ДокументОснование КАК ДокументОснование,
            ПлатежноеПоручение.Дата КАК Дата
        ИЗ
            Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
        ГДЕ
            ПлатежноеПоручение.Проведен = ИСТИНА) КАК ДатаОплаты
        ПО (ДатаОплаты.ДокументОснование = ДокументСчетНаОплатуПоставщика.Ссылка)

Вот сам запрос

ВЫБРАТЬ
    ДокументСчетНаОплатуПоставщика.Ссылка,
    ДокументСчетНаОплатуПоставщика.ПометкаУдаления,
    ДокументСчетНаОплатуПоставщика.Номер,
    ДокументСчетНаОплатуПоставщика.Дата,
    ДокументСчетНаОплатуПоставщика.Проведен,
    ДокументСчетНаОплатуПоставщика.Организация,
    ДокументСчетНаОплатуПоставщика.Контрагент,
    ДокументСчетНаОплатуПоставщика.ДоговорКонтрагента,
    ДокументСчетНаОплатуПоставщика.Комментарий,
    ДокументСчетНаОплатуПоставщика.Ответственный,
    ДокументСчетНаОплатуПоставщика.ВалютаДокумента,
    ДокументСчетНаОплатуПоставщика.СуммаДокумента,
    ДокументСчетНаОплатуПоставщика.НомерВходящегоДокумента,
    ДокументСчетНаОплатуПоставщика.ДатаВходящегоДокумента,
    ВЫРАЗИТЬ(ЕСТЬNULL(СтатусыДокументов.Статус, &СтатусОплатыПоУмолчанию) КАК Перечисление.СтатусОплатыСчета) КАК Оплата,
    ВЫРАЗИТЬ(ЕСТЬNULL(СтатусыДокументов.ДополнительныйСтатус, &СтатусПоступленияПоУмолчанию) КАК Перечисление.СтатусыПоступленияПоСчету) КАК Поступление,
    ЕСТЬNULL(СрокиОплатыДокументов.СрокОплаты, ДАТАВРЕМЯ(1, 1, 1)) КАК СрокОплаты,
    СостоянияЭД.СостояниеВерсииЭД,
    ВЫБОР
        КОГДА ДокументСчетНаОплатуПоставщика.ПометкаУдаления = ИСТИНА
            ТОГДА 2
        КОГДА ДокументСчетНаОплатуПоставщика.Проведен = ИСТИНА
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК СостояниеДокумента,
    ВЫБОР
        КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК СодержитНекорректныхКонтрагентов,
    ВЫБОР
        КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 1
        КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ЕстьФайлы,
    ДокументСчетНаОплатуПоставщика.НазначениеПлатежа,
    ЕСТЬNULL(ДатаОплаты.Дата, 0) КАК ДатаОплаты
ИЗ
    Документ.СчетНаОплатуПоставщика КАК ДокументСчетНаОплатуПоставщика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
        ПО (СостоянияЭД.СсылкаНаОбъект = ДокументСчетНаОплатуПоставщика.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов
        ПО ДокументСчетНаОплатуПоставщика.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ
            И (&ИспользованиеПроверкиВозможно)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
        ПО (НаличиеПрисоединенныхФайлов.ОбъектСФайлами = ДокументСчетНаОплатуПоставщика.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДокументов КАК СтатусыДокументов
        ПО ДокументСчетНаОплатуПоставщика.Организация = СтатусыДокументов.Организация
            И ДокументСчетНаОплатуПоставщика.Ссылка = СтатусыДокументов.Документ
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СрокиОплатыДокументов КАК СрокиОплатыДокументов
        ПО ДокументСчетНаОплатуПоставщика.Организация = СрокиОплатыДокументов.Организация
            И ДокументСчетНаОплатуПоставщика.Ссылка = СрокиОплатыДокументов.Документ
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПлатежноеПоручение.ДокументОснование КАК ДокументОснование,
            ПлатежноеПоручение.Дата КАК Дата
        ИЗ
            Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
        ГДЕ
            ПлатежноеПоручение.Проведен = ИСТИНА) КАК ДатаОплаты
        ПО (ДатаОплаты.ДокументОснование = ДокументСчетНаОплатуПоставщика.Ссылка)
1 piffoff
 
24.04.17
21:33
Я вроде к основной таблице счетов привязываю
левым соединением. Откуда дубли?!
2 lanc2233
 
24.04.17
21:33
Две строки с одной ссылкой, за счет левого соединения.
3 Fragster
 
гуру
24.04.17
21:34
Значит два документа оплаты. За столько лет базовые знания запросов можно бы и получить
4 piffoff
 
24.04.17
21:34
Ах да) Это список счетов на оплату поставщикам
5 Fragster
 
гуру
24.04.17
21:34
Да и подзапрос тут нафиг не нужен
6 piffoff
 
24.04.17
21:35
Это то понятно что 2 одинаковых. Непонятно откуда
7 piffoff
 
24.04.17
21:37
(5) А как было бы лучше? Нужна дата фактической оплаты

Причем до обновления все работало. Делал так же
8 piffoff
 
24.04.17
21:42
ТУт вариант что на две разные платежки они прикрутили один счет на оплату и теперь выбивает когда они выходят в список