|
Не выводится данные в отчёт СКД. | ☑ | ||
---|---|---|---|---|
0
bplmeddy
23.05.17
✎
09:53
|
Доброго времени суток.
Делаю отчёт на СКД по продажам (1С:Предприятие 8.3 (8.3.6.2237), не типовая конфигурация), и столкнулся с такой проблемой: если в условия запроса добавить условия отбора по дате - отчёт формируется совершенно пустой. Пробовал указывать и через МЕЖДУ и >=/<=, результат тот-же. Код запроса с условием: ВЫБРАТЬ Продажи.Номенклатура, Продажи.Цена, Продажи.Количество, Продажи.Цена * Продажи.Количество КАК Сумма, Продажи.Регистратор, Продажи.Контрагент, Продажи.Склад, Продажи.Период ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период >= &НачалоПериода И Продажи.Период <= &КонецПериода {ГДЕ (Продажи.Склад = &Склад), (Продажи.Номенклатура.Родитель В ИЕРАРХИИ (&Категория)), (Продажи.Регистратор.Дата МЕЖДУ &НачалоПериода И &КонецПериода)} Подскажите пожалуйста, в чём может быть причина? Спасибо. |
|||
1
bplmeddy
23.05.17
✎
09:54
|
(0) (Продажи.Регистратор.Дата МЕЖДУ &НачалоПериода И &КонецПериода) - прошу игнорировать, его там нет =)
|
|||
2
Lexey_
23.05.17
✎
09:54
|
(0) в параметрах виртуальной таблицы
|
|||
3
bplmeddy
23.05.17
✎
09:55
|
(2) Это не виртуальная таблица, мне нужно получать данные о регистраторе, а в вирт.таблице почему-то нет поля "Регистратор".
|
|||
4
bplmeddy
23.05.17
✎
09:56
|
(3) Потому и обращаюсь, напрямую к регистру
|
|||
5
Lexey_
23.05.17
✎
09:56
|
(3) точно, не увидел
|
|||
6
HEKPOH
23.05.17
✎
09:57
|
(0) "если в условия запроса добавить условия отбора по дате - отчёт формируется совершенно пустой"
нет записей в регистре за период? |
|||
7
HEKPOH
23.05.17
✎
09:58
|
если это СКД, то почему
ГДЕ Продажи.Период >= &НачалоПериода И Продажи.Период <= &КонецПериода не в фигурных скобках? |
|||
8
bplmeddy
23.05.17
✎
09:58
|
(6) Есть конечно =)
|
|||
9
DailyLookingOnA Sunse
23.05.17
✎
09:59
|
(3)
В параметрах виртуальной таблицы нужно установить периодичность Регистратор. |
|||
10
bplmeddy
23.05.17
✎
09:59
|
Я сначала грешил на время, но потом пробовал ставить вручную (00:00:00-23:59:59) и все равно ничего не выводит.
|
|||
11
bplmeddy
23.05.17
✎
10:00
|
(9) О_о. Сейчас попробую, одну секунду.
|
|||
12
HEKPOH
23.05.17
✎
10:01
|
(9) какой вирт. таблицы??? там физическая таблица
|
|||
13
HEKPOH
23.05.17
✎
10:01
|
аааа, сорри. там был совет)
|
|||
14
bplmeddy
23.05.17
✎
10:11
|
(9) Нет, к сожалению, результат тот-же. Перепроверил регистр - записи за необходимый период в нём есть.
|
|||
15
DailyLookingOnA Sunse
23.05.17
✎
10:16
|
(14)
СКД может менять запрос и параметры в окончательном запросе. Поэтому параметры периода виртуальной таблицы лучше заключить в фигурные скобки. {&НачалоПериода},{&КонецПериода} + там еще Склад и Категория в отборе, по ним есть данные? |
|||
16
bplmeddy
23.05.17
✎
10:17
|
(15) " (Продажи.Регистратор.Дата МЕЖДУ &НачалоПериода И &КонецПериода)" - да, конечно.
|
|||
17
bplmeddy
23.05.17
✎
10:20
|
(15) В чём фишка - если убрать отбор по периоду, отбор по Категории и Складу происходит корректно, но как только добавляю период, отчёт ломается =(
|
|||
18
AlvlSpb
23.05.17
✎
10:25
|
(0) Регистр Продажи - оборотный, периодический. Выбирайте нужную виртуальную таблицу и в ее параметрах поставьте Периодичность Авто, появится Регистратор. Отбор по периоду делайте в вирт таблице (тут уж выбирайте Или в основном окне или в компоновке )
|
|||
19
bplmeddy
23.05.17
✎
10:26
|
(18) Ок, сейчас попробую.
|
|||
20
AlvlSpb
23.05.17
✎
10:27
|
(19) Тьфу черт. Привычка на автомате. Периодичность - Регистратор
|
|||
21
Windyhead
23.05.17
✎
10:36
|
В чем смысл такой строчки "Продажи.Регистратор.Дата" ??
Период записи отличается от даты Регистратора? А если в будущем будет регистратор еще и составного типа? |
|||
22
bplmeddy
23.05.17
✎
10:38
|
(21) Смотри (1) . Это были мои опыты.
|
|||
23
bplmeddy
23.05.17
✎
10:39
|
(16) Не то внёс )) Склад/Категория есть.
|
|||
24
Windyhead
23.05.17
✎
10:45
|
Мне кажется вся проблема в названии параметров
Замени &НачалоПериода и &КонецПериода например на &ДатаНач и &ДатаКон. главное слово "Период" убери. |
|||
25
bplmeddy
23.05.17
✎
10:55
|
Код:
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Склад, ПродажиОбороты.Контрагент, ПродажиОбороты.ЦенаОборот, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.Регистратор, ПродажиОбороты.ЦенаОборот * ПродажиОбороты.КоличествоОборот КАК Сумма ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиОбороты {ГДЕ (ПродажиОбороты.Номенклатура.Родитель В ИЕРАРХИИ (&Категория)), (ПродажиОбороты.Склад = &Склад)} Всё взлетело, у меня оказывается тип регистра был "Остатки" (#facepalm). Всем огромное спасибо за помощь, особенно AlvlSpb который в (18) ткнул носом в тип регистра, что и помогло решить проблему ) Все хорошего дня. |
|||
26
bplmeddy
23.05.17
✎
10:55
|
(25) Всем* =)
|
|||
27
HEKPOH
23.05.17
✎
10:58
|
(25) это все прекрасно, но!
запросу из (0) совершенно фиолетово, какой тип регистра. Так в чем же была ошибка в (0)? |
|||
28
bplmeddy
23.05.17
✎
11:01
|
(27) Тогда не знаю, я думал что проблема как раз в типе регистра. Код запроса особо не отличается, подобным способом уже пробовал делать, но проблема не решалась. Так что для меня суть проблемы - большая загадка. Возможно кто-то более опытный сможет дать ответ на этот вопрос.
|
|||
29
HEKPOH
23.05.17
✎
11:11
|
(28) надо глянуть итоговый запрос, который выполняется. так быстрее всего найти ошибку
|
|||
30
bplmeddy
23.05.17
✎
11:15
|
(29) Итоговый запрос - (25)
|
|||
31
HEKPOH
23.05.17
✎
11:18
|
(30) нет)
итоговый запрос, получающийся из (0) |
|||
32
mehfk
23.05.17
✎
11:18
|
(30) Вот за это
{ГДЕ (ПродажиОбороты.Номенклатура.Родитель В ИЕРАРХИИ (&Категория)), (ПродажиОбороты.Склад = &Склад)} нужно разжаловать обратно в дворники |
|||
33
AlvlSpb
23.05.17
✎
11:31
|
(30) отчасти прав (32) Если уж нужен отбор, то делайте его в вирт таблице
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Склад, ПродажиОбороты.Контрагент, ПродажиОбороты.ЦенаОборот, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.Регистратор, ПродажиОбороты.ЦенаОборот * ПродажиОбороты.КоличествоОборот КАК Сумма ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор,ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Склад, ПродажиОбороты.Контрагент, ПродажиОбороты.ЦенаОборот, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.Регистратор, ПродажиОбороты.ЦенаОборот * ПродажиОбороты.КоличествоОборот КАК Сумма ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор,{(Склад), (Номенклатура.Родитель)} ) КАК ПродажиОбороты |
|||
34
AlvlSpb
23.05.17
✎
11:32
|
(33) Глюк какой-то
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Склад, ПродажиОбороты.Контрагент, ПродажиОбороты.ЦенаОборот, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.Регистратор, ПродажиОбороты.ЦенаОборот * ПродажиОбороты.КоличествоОборот КАК Сумма ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор,{(Склад), (Номенклатура.Родитель)} ) КАК ПродажиОбороты |
|||
35
bplmeddy
23.05.17
✎
11:46
|
(32) Ок, как Вы реализуете возможность отбора если условие заполнено, и не учитывать условие если значение пустое, через параметры вирт.таблицы ?
|
|||
36
AlvlSpb
23.05.17
✎
11:49
|
(35) фигурные скобки в параметрах вирт таблицы показывают, что это не обязательный параметр, а элемент отбора
|
|||
37
AlvlSpb
23.05.17
✎
11:52
|
(35) А то что вы написали в (32) не имеет ни малейшего смысла в вашем случае. С тем же успехом вы можете в настройках указать отбор по складу и Номенклатура.родитель и сделать их доступными пользователю. Это абсолютно одинаково.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |