|
Помогите доделать отчет на СКД | ☑ | ||
---|---|---|---|---|
0
Обфускация
19.06.18
✎
07:37
|
Сейчас запрос в СКД выглядит так как ниже. Он работает. Но он выводит только ту номенклатуру, которая на остатке. А надо вывести всю номенклатуру. Как его доработать, чтобы выводилась вся номенклатура?
ВЫБРАТЬ РАЗЛИЧНЫЕ ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток, ОстаткиНоменклатурыОстатки.Номенклатура.Наименование КАК Номенклатура, ОстаткиНоменклатурыОстатки.ХарактеристикаНоменклатуры.Наименование, ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование КАК поставщик, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект КАК торговыйобъект, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО, ОстаткиНоменклатурыОстатки.Склад.Родитель, УстановкаЦенНоменклатурыПоставщикаТовары.Цена КАК ЦенаКонтракт, ОстаткиНоменклатурыОстатки.Номенклатура.Родитель, ОтчетКассовойСменыТовары.Цена КАК ЦенаРозница, ОтчетКассовойСменыТовары.Ссылка.Склад КАК Склад1, ОтчетКассовойСменыТовары.Ссылка.Дата ИЗ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатурыПоставщика.Товары КАК УстановкаЦенНоменклатурыПоставщикаТовары ПО ОстаткиНоменклатурыОстатки.Номенклатура = УстановкаЦенНоменклатурыПоставщикаТовары.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКассовойСмены.Товары КАК ОтчетКассовойСменыТовары ПО ОстаткиНоменклатурыОстатки.Номенклатура = ОтчетКассовойСменыТовары.Номенклатура И ОстаткиНоменклатурыОстатки.Склад = ОтчетКассовойСменыТовары.Ссылка.Склад ГДЕ ОтчетКассовойСменыТовары.Ссылка.Проведен = ИСТИНА И УстановкаЦенНоменклатурыПоставщикаТовары.Ссылка.Проведен = ИСТИНА СГРУППИРОВАТЬ ПО ОстаткиНоменклатурыОстатки.Склад.Родитель, ОстаткиНоменклатурыОстатки.КоличествоОстаток, ОстаткиНоменклатурыОстатки.Номенклатура.Наименование, ОстаткиНоменклатурыОстатки.ХарактеристикаНоменклатуры.Наименование, ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО, УстановкаЦенНоменклатурыПоставщикаТовары.Цена, ОстаткиНоменклатурыОстатки.Номенклатура.Родитель, ОтчетКассовойСменыТовары.Цена, ОтчетКассовойСменыТовары.Ссылка.Склад, ОтчетКассовойСменыТовары.Ссылка.Дата УПОРЯДОЧИТЬ ПО Номенклатура |
|||
1
catena
19.06.18
✎
07:49
|
Сделать основной таблицу со всей номенклатурой
|
|||
2
Обфускация
19.06.18
✎
07:49
|
(1)
как это сделать |
|||
3
SleepyHead
гуру
19.06.18
✎
07:54
|
(2)
Два вопроса: 1. Что должно быть результатом отчета; 2. Зачем брать сведения о номенклатуре из регистра остатков, если из этого регистра не выбираются сами остатки? |
|||
4
Обфускация
19.06.18
✎
07:54
|
Я добавляю справочник номенклатура, но при установке левого соединения конструктор пишет, что "Неоднозначное поле "номенклатура.ссылка" "
|
|||
5
Mankubus
19.06.18
✎
07:54
|
(4) переименуй справочник номенклатура
|
|||
6
SleepyHead
гуру
19.06.18
✎
07:55
|
(5) В запросе, а то сейчас переименует ))
|
|||
7
Обфускация
19.06.18
✎
07:56
|
(3)
результат отчета - матрица. Сверху колонки со складами, по строкам номенклатура. На пересечении розничная цена и остаток. |
|||
8
Обфускация
19.06.18
✎
08:01
|
(5)
вот да, это по существу, спасибо, вроде помогло |
|||
9
SleepyHead
гуру
19.06.18
✎
08:03
|
(7) Как вариант добавить запрос по ценам номенклатуры, которая не вошла в запрос по остаткам. Но тебе виднее, думай..
|
|||
10
Dotoshin
19.06.18
✎
08:31
|
(2) вот так
ВЫБРАТЬ Товары.Ссылка КАК Товар, ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток ИЗ Справочник.Номенклатура КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПО (ТоварыНаСкладахОстатки.Номенклатура = Товары.Ссылка) ГДЕ НЕ Товары.ЭтоГруппа |
|||
11
Обфускация
19.06.18
✎
09:09
|
У меня сейчас такой запрос в СКД. Номенклатура все равно выводится только та, по которой есть информация в регистрах.
ВЫБРАТЬ РАЗЛИЧНЫЕ ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток, ОстаткиНоменклатурыОстатки.Номенклатура.Наименование КАК Номенклатура, ОстаткиНоменклатурыОстатки.ХарактеристикаНоменклатуры.Наименование, ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование КАК поставщик, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект КАК торговыйобъект, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО, ОстаткиНоменклатурыОстатки.Склад.Родитель, УстановкаЦенНоменклатурыПоставщикаТовары.Цена КАК ЦенаКонтракт, ОстаткиНоменклатурыОстатки.Номенклатура.Родитель, ОтчетКассовойСменыТовары.Цена КАК ЦенаРозница, ОтчетКассовойСменыТовары.Ссылка.Склад КАК Склад1, ОтчетКассовойСменыТовары.Ссылка.Дата, Ном.Ссылка КАК Нлменклатура2 ИЗ Справочник.Номенклатура КАК Ном ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатурыПоставщика.Товары КАК УстановкаЦенНоменклатурыПоставщикаТовары ПО ОстаткиНоменклатурыОстатки.Номенклатура = УстановкаЦенНоменклатурыПоставщикаТовары.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКассовойСмены.Товары КАК ОтчетКассовойСменыТовары ПО ОстаткиНоменклатурыОстатки.Номенклатура = ОтчетКассовойСменыТовары.Номенклатура И ОстаткиНоменклатурыОстатки.Склад = ОтчетКассовойСменыТовары.Ссылка.Склад ПО Ном.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура ГДЕ ОтчетКассовойСменыТовары.Ссылка.Проведен = ИСТИНА И УстановкаЦенНоменклатурыПоставщикаТовары.Ссылка.Проведен = ИСТИНА СГРУППИРОВАТЬ ПО ОстаткиНоменклатурыОстатки.Склад.Родитель, ОстаткиНоменклатурыОстатки.КоличествоОстаток, ОстаткиНоменклатурыОстатки.Номенклатура.Наименование, ОстаткиНоменклатурыОстатки.ХарактеристикаНоменклатуры.Наименование, ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО, УстановкаЦенНоменклатурыПоставщикаТовары.Цена, ОстаткиНоменклатурыОстатки.Номенклатура.Родитель, ОтчетКассовойСменыТовары.Цена, ОтчетКассовойСменыТовары.Ссылка.Склад, ОтчетКассовойСменыТовары.Ссылка.Дата, Ном.Ссылка УПОРЯДОЧИТЬ ПО Номенклатура |
|||
12
dvva
19.06.18
✎
09:16
|
убери
ГДЕ ОтчетКассовойСменыТовары.Ссылка.Проведен = ИСТИНА И УстановкаЦенНоменклатурыПоставщикаТовары.Ссылка.Проведен = ИСТИНА |
|||
13
dvva
19.06.18
✎
09:17
|
но зачем тебя вся помой ка которая хранится в спр. номенклатура непонятно, или ты еще не осознал что там помойка
|
|||
14
Обфускация
19.06.18
✎
09:28
|
(13)
Юзеры требуют |
|||
15
SleepyHead
гуру
19.06.18
✎
09:42
|
(14) А зачем юзерам эта информация?:
|
|||
16
Обфускация
19.06.18
✎
09:47
|
(15)
Смотрят на товар, который завели, но почему-то не закупают и не продают |
|||
17
SleepyHead
гуру
19.06.18
✎
09:50
|
(16) Почему бы не сделать для этого отдельный отчет? Будет проще.
|
|||
18
Обфускация
19.06.18
✎
11:53
|
Юзеры требуют чтобы все в одном было. Что еще можно сделать?
|
|||
19
catena
19.06.18
✎
12:03
|
(18)А чего еще не хватает?
|
|||
20
Обфускация
19.06.18
✎
12:14
|
(19)
Номенклатура выходит только та, что на остатках. Что нет на остатках не выходит, а надо чтобы выходило. |
|||
21
catena
19.06.18
✎
12:30
|
(20)Рекомендации из (12) применены?
|
|||
22
Обфускация
19.06.18
✎
12:31
|
(21)
Да, но они заведомо не на что не повлияли бы |
|||
23
catena
19.06.18
✎
12:32
|
(22)Показывай тогда
|
|||
24
Sergz66
19.06.18
✎
12:36
|
Написали же в (10) откуда теперь номенклатуру брать надо... Не ОстаткиНоменклатурыОстатки.Номенклатура.Наименование КАК Номенклатура, а Ном.Номенклатура.Наименование КАК Номенклатура,
|
|||
25
MiamiVice
19.06.18
✎
12:40
|
(11) 1) Убрать условие "ГДЕ"
2) Вместо ОстаткиНоменклатурыОстатки.Номенклатура.Наименование КАК Номенклатура --> Ном.Ссылка КАК Номенклатура 3) и неясно как в отчет должны попасть данные по складу, характеристике и прочим полям, если нет остатков. Если понимание есть, необходимо добавить во всех полях ЕСТЬNULL( |
|||
26
Мандалай
19.06.18
✎
12:51
|
Автор отмечает удачное завершение задачи?
|
|||
27
Обфускация
19.06.18
✎
13:06
|
Отчет стал дольше работать после вставки Естьнулл. Раньше за минуту работал, сейчас уже 10 минут крутит. Возможно, выборка увеличилась, скоро увидим.
|
|||
28
Обфускация
19.06.18
✎
13:08
|
(25)
Все проделано, не помогает. Только дольше работает. |
|||
29
Обфускация
19.06.18
✎
13:10
|
запрос сейчас такой
ВЫБРАТЬ РАЗЛИЧНЫЕ ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК Остаток, ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование КАК поставщик, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект КАК торговыйобъект, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО, ОстаткиНоменклатурыОстатки.Склад.Родитель, ЕСТЬNULL(УстановкаЦенНоменклатурыПоставщикаТовары.Цена, 0) КАК ЦенаКонтракт, ЕСТЬNULL(ОтчетКассовойСменыТовары.Цена, 0) КАК ЦенаРозница, ОтчетКассовойСменыТовары.Ссылка.Склад КАК Склад1, ОтчетКассовойСменыТовары.Ссылка.Дата, Ном.Ссылка КАК Номенклатура2, Ном.Код, Ном.Родитель ИЗ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатурыПоставщика.Товары КАК УстановкаЦенНоменклатурыПоставщикаТовары ПО ОстаткиНоменклатурыОстатки.Номенклатура = УстановкаЦенНоменклатурыПоставщикаТовары.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКассовойСмены.Товары КАК ОтчетКассовойСменыТовары ПО ОстаткиНоменклатурыОстатки.Номенклатура = ОтчетКассовойСменыТовары.Номенклатура И ОстаткиНоменклатурыОстатки.Склад = ОтчетКассовойСменыТовары.Ссылка.Склад ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном ПО (Ном.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура) СГРУППИРОВАТЬ ПО ОстаткиНоменклатурыОстатки.Склад.Родитель, ОстаткиНоменклатурыОстатки.КоличествоОстаток, ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект, ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО, УстановкаЦенНоменклатурыПоставщикаТовары.Цена, ОтчетКассовойСменыТовары.Цена, ОтчетКассовойСменыТовары.Ссылка.Склад, ОтчетКассовойСменыТовары.Ссылка.Дата, Ном.Ссылка, Ном.Код, Ном.Родитель |
|||
30
catena
19.06.18
✎
13:32
|
Ты выбираешь из остатков, какого ты от нее ждешь всю прочую номенклатуру? Тебе сказали - выбирай из справочника. Левое соединение никогда не увеличит выборку.
|
|||
31
MiamiVice
19.06.18
✎
13:32
|
(29)
1) Д.б. Справочник Номенклатура и к нему левое соединение Остатки. 2) проверь какие у тебя группировки в настройках СКД. Если у тебя все группировки обращаются к полям остатка, то тоже фигня получится скорее всего. |
|||
32
DrZombi
гуру
19.06.18
✎
13:36
|
(4) Пиши <...>.Номенклатура Как Номенклатура
или <...>.Номенклатура Как Номенклатура1 или <...>.Номенклатура Как Номенклатура2 и т.д. :) |
|||
33
Мандалай
19.06.18
✎
13:37
|
У тебя в (11) правильная мысль - основной таблицей является справочник Номенклатура, и к ней цепляются все остальное левым соединением.
Зайди на вторую закладку ("Связи") и увидишь там все свои связи. Слева должна быть Номенклатура и рядом с ней должны стоять галочки во всех строках. |
|||
34
DrZombi
гуру
19.06.18
✎
13:38
|
(29) Выбирай либо из справочника, либо из оборотов регистра
|
|||
35
DrZombi
гуру
19.06.18
✎
13:39
|
(33) В справочнике номенклатуре могут быть и элементы, которые ненужно подтягивать :)
|
|||
36
Обфускация
19.06.18
✎
14:26
|
(33)
У меня сейчас так и есть, в конструкторе в связях номенклатура 3 раза, слева, и галочка слева одна на левую связь. При этом у меня числовые поля отмечаются ресурсами в настройках СКД, чтобы таблица получалась с итогами. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |