![]() |
![]() |
![]() |
|
Как правильно переделать запрос? | ☑ | ||
---|---|---|---|---|
0
Ugra
13.10.16
✎
13:50
|
Здравствуйте. подскажите как переделать запрос чтобы при открытии поступления товаров не выходила ошибка-дублирование ключевых значений в колонке "сслыка", отображение данных невозможно. Ошибка именно в этом запросе, в форме списка поступления в поступлении товаров динамические дописки..
Процедура УстановитьТекстЗапросаПТиУФормаСписка(Список) Экспорт Список.ТекстЗапроса = "ВЫБРАТЬ | ВЫБОР | КОГДА ДокументПоступлениеТоваровУслуг.РучнаяКорректировка = ИСТИНА | ТОГДА ВЫБОР | КОГДА ДокументПоступлениеТоваровУслуг.ПометкаУдаления = ИСТИНА | ТОГДА 10 | КОГДА ДокументПоступлениеТоваровУслуг.Проведен = ЛОЖЬ | ТОГДА 9 | ИНАЧЕ 8 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА ДокументПоступлениеТоваровУслуг.ПометкаУдаления = ИСТИНА | ТОГДА 2 | КОГДА ДокументПоступлениеТоваровУслуг.Проведен = ИСТИНА | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК СостояниеДокумента, | ДокументПоступлениеТоваровУслуг.Ссылка, | ДокументПоступлениеТоваровУслуг.ПометкаУдаления, | ДокументПоступлениеТоваровУслуг.Дата, | ДокументПоступлениеТоваровУслуг.Номер, | ДокументПоступлениеТоваровУслуг.Проведен, | ДокументПоступлениеТоваровУслуг.ВидОперации, | ДокументПоступлениеТоваровУслуг.Организация, | ДокументПоступлениеТоваровУслуг.Склад, | ДокументПоступлениеТоваровУслуг.ПодразделениеОрганизации, | ДокументПоступлениеТоваровУслуг.Контрагент, | ДокументПоступлениеТоваровУслуг.ДоговорКонтрагента, | ДокументПоступлениеТоваровУслуг.СпособЗачетаАвансов, | ДокументПоступлениеТоваровУслуг.ВалютаДокумента, | ДокументПоступлениеТоваровУслуг.НомерВходящегоДокумента, | ДокументПоступлениеТоваровУслуг.ДатаВходящегоДокумента, | ДокументПоступлениеТоваровУслуг.Грузоотправитель, | ДокументПоступлениеТоваровУслуг.Грузополучатель, | ДокументПоступлениеТоваровУслуг.Ответственный, //| ДокументПоступлениеТоваровУслуг.Комментарий, | ВЫРАЗИТЬ | (ДокументПоступлениеТоваровУслуг.Комментарий КАК Строка (500)) КАК Комментарий, | ДокументПоступлениеТоваровУслуг.СуммаДокумента, | ДокументПоступлениеТоваровУслуг.ТипЦен, | ДокументПоступлениеТоваровУслуг.РучнаяКорректировка, | ДокументПоступлениеТоваровУслуг.Менеджер, | СостоянияЭД.СостояниеВерсииЭД, | ВЫБОР | КОГДА СтатусыДокументов.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыДокументовПоступления.ОригиналПолучен) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Оригинал, | ВЫБОР | КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ КАК СодержитНекорректныхКонтрагентов, | НаличиеПрисоединенныхФайлов.ЕстьФайлы, | ВЫБОР | КОГДА СчетФактураПолученный.НомерВходящегоДокумента <> """" | ТОГДА СчетФактураПолученный.НомерВходящегоДокумента | ИНАЧЕ "" "" | КОНЕЦ КАК НомерСФ, | Накладные.ОригиналПолучен КАК ОригиналТН, | СФ.ОригиналПолучен КАК ОригиналСФ |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ДокументПоступлениеТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДокументов КАК СтатусыДокументов | ПО ДокументПоступлениеТоваровУслуг.Организация = СтатусыДокументов.Организация | И ДокументПоступлениеТоваровУслуг.Ссылка = СтатусыДокументов.Документ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД | ПО (СостоянияЭД.СсылкаНаОбъект = ДокументПоступлениеТоваровУслуг.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов | ПО ДокументПоступлениеТоваровУслуг.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ | И (&ИспользованиеПроверкиВозможно) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов | ПО (НаличиеПрисоединенныхФайлов.ОбъектСФайлами = ДокументПоступлениеТоваровУслуг.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный КАК СчетФактураПолученный | ПО ДокументПоступлениеТоваровУслуг.Ссылка = СчетФактураПолученный.ДокументОснование | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОригиналПолучен КАК Накладные | ПО (ДокументПоступлениеТоваровУслуг.Ссылка = Накладные.Документ | И Накладные.ТипДокумента = ЗНАЧЕНИЕ(Перечисление.ВидДокумента.ТоварнаяНакаладная)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОригиналПолучен КАК СФ | ПО (ДокументПоступлениеТоваровУслуг.Ссылка = СФ.Документ | И СФ.ТипДокумента = ЗНАЧЕНИЕ(Перечисление.ВидДокумента.СчетФактура))"; КонецПроцедуры |
|||
1
Boleev
13.10.16
✎
13:56
|
У вас при левом соединении образуются дубли строк, т.е. в РС присутствует несколько измерений с одним и тем же документом
|
|||
2
Ugra
13.10.16
✎
14:07
|
я поняла что проблема в левом соединении. Подскажите как можно изменить эту запись?
я думаю проблема вот тут: ПО (НаличиеПрисоединенныхФайлов.ОбъектСФайлами = ДокументПоступлениеТоваровУслуг.Ссылка) |
|||
3
Irbis
13.10.16
✎
14:10
|
>> я поняла что проблема в левом соединении
Если проблема в левом соединении, то нужно использовать правое. Это же очевидно. |
|||
4
Ugra
13.10.16
✎
14:25
|
Получается во всех процедурах этого использовать Правое соединение вместо левого?или только в этом запросе?
|
|||
5
Irbis
13.10.16
✎
14:30
|
Разумеется нет, только в проблемных запросах. !Сники всегда так делают. потом стоит попробовать внутреннее и полное. Если не поможет надо начинать думать
|
|||
6
Ugra
13.10.16
✎
14:36
|
при ПОЛНОМ соединении выдает такую же ошибку.
когда меняю ЛЕВОЕ СОЕДИНЕНИЕ на ПРАВОЕ СОЕДИНЕНИЕ вообще при открытии списка поступлений список пуст |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |