|
Проблема при выводе списка | ☑ | ||
---|---|---|---|---|
0
Xsander
22.04.19
✎
08:34
|
Доброго Времени Суток!
Не могу понять - вывожу список документов из динамического списка запросом - 1С выдает ошибку, что несколько записей, хотя регистры проверил - в каждом по одной записи к документу, может в запросе как-то подругому нужно делать соединение? Запрос: ВЫБРАТЬ ДокументЗаказКлиента.Ссылка КАК Ссылка, ДокументЗаказКлиента.ПометкаУдаления КАК ПометкаУдаления, ДокументЗаказКлиента.Номер КАК Номер, ДокументЗаказКлиента.Дата КАК Дата, ВЫБОР КОГДА (НЕ ДокументЗаказКлиента.Проведен) ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовКлиентов.ПустаяСсылка) ИНАЧЕ ЕСТЬNULL(СостоянияЗаказовКлиентов.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовКлиентов.Закрыт)) КОНЕЦ КАК Состояние, ВЫБОР КОГДА СостоянияЗаказовКлиентов.ДатаСобытия <> ДАТАВРЕМЯ(1, 1, 1) И &ДатаАктуальности > СостоянияЗаказовКлиентов.ДатаСобытия ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Просрочен, ВЫБОР КОГДА ДокументЗаказКлиента.Приоритет В (ВЫБРАТЬ ПЕРВЫЕ 1 Приоритеты.Ссылка КАК Приоритет ИЗ Справочник.Приоритеты КАК Приоритеты УПОРЯДОЧИТЬ ПО Приоритеты.РеквизитДопУпорядочивания) ТОГДА 0 КОГДА ДокументЗаказКлиента.Приоритет В (ВЫБРАТЬ ПЕРВЫЕ 1 Приоритеты.Ссылка КАК Приоритет ИЗ Справочник.Приоритеты КАК Приоритеты УПОРЯДОЧИТЬ ПО Приоритеты.РеквизитДопУпорядочивания УБЫВ) ТОГДА 2 ИНАЧЕ 1 КОНЕЦ КАК КартинкаПриоритета, ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаОплаты,0) КАК СуммаОплаты, ЕСТЬNULL(СостоянияЗаказовКлиентов.ПроцентОплаты,0) КАК ПроцентОплаты, ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаОтгрузки,0) КАК СуммаОтгрузки, ЕСТЬNULL(СостоянияЗаказовКлиентов.ПроцентОтгрузки,0) КАК ПроцентОтгрузки, ВЫБОР КОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга,0) < 0 ТОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга,0) ИНАЧЕ 0 КОНЕЦ КАК НашДолг, ВЫБОР КОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга,0) > 0 ТОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга,0) ИНАЧЕ 0 КОНЕЦ КАК ДолгКлиента, ЕСТЬNULL(СостоянияЗаказовКлиентов.ПроцентДолга,0) КАК ПроцентДолга, ЕСТЬNULL(СостоянияЗаказовКлиентов.ДатаСобытия, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаСобытия, ЕСТЬNULL(СостоянияЗаказовКлиентов.ЕстьРасхожденияОрдерНакладная,ЛОЖЬ) КАК ЕстьРасхожденияОрдерНакладная, СостоянияЭД.СостояниеВерсииЭД, ВЫБОР КОГДА ДокументЗаказКлиента.ЖелаемаяДатаОтгрузки = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ИЛИ ДокументЗаказКлиента.ПометкаУдаления = ИСТИНА ТОГДА 1 КОГДА Р_Плановые.Дата ЕСТЬ NULL ИЛИ Р_Плановые.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА 2 КОГДА Р_Плановые.Дата > ДокументЗаказКлиента.ЖелаемаяДатаОтгрузки ТОГДА 0 КОГДА Р_Плановые.Дата <= ДокументЗаказКлиента.ЖелаемаяДатаОтгрузки ТОГДА 3 ИНАЧЕ 0 КОНЕЦ КАК ИндексКартинкиСрока, Р_Плановые.Дата КАК ПлановаяДатаПоступления1 ИЗ Документ.ЗаказКлиента КАК ДокументЗаказКлиента ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов ПО (СостоянияЗаказовКлиентов.Заказ = ДокументЗаказКлиента.Ссылка) {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД ПО (СостоянияЭД.СсылкаНаОбъект = ДокументЗаказКлиента.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Р_ПлановыеСрокиПоставки КАК Р_Плановые ПО (Р_Плановые.ЗаказКлиента = ДокументЗаказКлиента.Ссылка)} |
|||
1
catena
22.04.19
✎
08:36
|
"регистры проверил - в каждом по одной записи" - значит плохо проверил. Как проверял?
"может в запросе как-то подругому нужно делать соединение" - соединения в ДС нужно делать так, чтобы они даже в теории не допускали дубли по ссылке. Как именно без знания структуры регистров сказать сложно. |
|||
2
Xsander
22.04.19
✎
08:44
|
Сам так думал - для каждого регистра обработку написал - запрос идет по записям и считает их количество - сначала выводил только если
количество больше 1, потом все вывел с количеством |
|||
3
Xsander
22.04.19
✎
08:47
|
все по одной, сейчас закину в тестовую бд и наверное начну пачками записи удалять - смотреть что происходит
Может при трех левых соединениях теряется связка с заказом и начинает выдавать пустое значение в ссылке на заказ - сейчас проверю |
|||
4
catena
22.04.19
✎
09:12
|
(2)Берешь запрос, запускаешь его в консоли с итогами по ссылке и внимательно смотришь на задублированные строки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |