![]() |
![]() |
![]() |
|
подскажите какой нужно правильно указать тип в запросе | ☑ | ||
---|---|---|---|---|
0
LivingStar
15.11.13
✎
11:36
|
Вложенный запрос, представляет собой 3 пакетных запроса. В итоговом запросе необходимо вывести дату документа РеализацияТоваровУслуг. Либо номер и дату документа реализация товаров услуг, как мне свернуть это по остальным видам документов, что задать при выводе в их полях? Почему то таблица не сворачивается, пока пробую вывести только дату.
ВЫБРАТЬ &ПустаяДата КАК ДатаРеализации, ЗаказПокупателяТовары.Ссылка.Контрагент КАК Контрагент, ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0) КАК ЗаказКоличество, ЕСТЬNULL(ЗаказПокупателяТовары.Сумма, 0) КАК ЗаказСумма, 0 КАК РеализацияКоличество, 0 КАК РеализацияСумма, 0 КАК ВозвратКоличество, 0 КАК ВозвратСумма ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ГДЕ ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА И ЗаказПокупателяТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка.Дата КАК ДатаРеализации, РеализацияТоваровУслугТовары.Ссылка.Контрагент, РеализацияТоваровУслугТовары.Номенклатура, 0, 0, ЕСТЬNULL(РеализацияТоваровУслугТовары.Количество, 0), ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0), 0, 0 ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &ПустаяДата КАК ДатаРеализации, ВозвратТоваровОтПокупателяТовары.Ссылка.Контрагент, ВозвратТоваровОтПокупателяТовары.Номенклатура, 0, 0, 0, 0, ЕСТЬNULL(ВозвратТоваровОтПокупателяТовары.Количество, 0), ЕСТЬNULL(ВозвратТоваровОтПокупателяТовары.Сумма, 0) ИЗ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары ГДЕ ВозвратТоваровОтПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ВозвратТоваровОтПокупателяТовары.Ссылка.Проведен = ИСТИНА И ВозвратТоваровОтПокупателяТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) |
|||
1
Wobland
15.11.13
✎
11:40
|
приведи пример желаемого
|
|||
2
H A D G E H O G s
15.11.13
✎
11:43
|
Меняй профессию, тебе уже не раз сказали.
|
|||
3
Ненавижу 1С
гуру
15.11.13
✎
11:45
|
(0) безнадежно
|
|||
4
LivingStar
15.11.13
✎
11:45
|
(1) сейчас числовые данные вывводятся по каждому документу в разных строках, я же хочу что бы они свернулись по контрагенту и номенклатуре, где в первом поле дата реализации, стояла бы дата документа реализация товаров услуг.
|
|||
6
Ненавижу 1С
гуру
15.11.13
✎
11:47
|
(4) ну допустим, а если реализаций несколько?
|
|||
8
LivingStar
15.11.13
✎
11:49
|
(6) это уже другой вопрос, пока хочется сделать как в (0) описано, или это может сработать только в итоговом запросе с группировкой?
|
|||
12
LivingStar
15.11.13
✎
11:52
|
(10) предлагаете сразу то есть учесть универсальность запроса на все вариации?
|
|||
13
Sammo
15.11.13
✎
11:54
|
(12) На все не на все, но чем больше вариантов, которые могут сломать твой запрос, будет предусмотрено, тем меньше проблем будет в дальнейшем.
|
|||
14
Ненавижу 1С
гуру
15.11.13
✎
11:55
|
(12) предлагаю ответить на (6), чтобы хоть немного понять картину происходящего
|
|||
15
LivingStar
15.11.13
✎
11:55
|
вот сейчас смотрите, ЗаказПокупателя свернулся с ВозвратомТоваровОтПокупателя, а РеализаияТоваровУслуг нет, почему???
ВЫБРАТЬ ВложенныйЗапрос.ДатаРеализации, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Номенклатура, СУММА(ВложенныйЗапрос.ЗаказКоличество) КАК ЗаказКоличество, СУММА(ВложенныйЗапрос.ЗаказСумма) КАК ЗаказСумма, СУММА(ВложенныйЗапрос.РеализацияКоличество) КАК РеализацияКоличество, СУММА(ВложенныйЗапрос.РеализацияСумма) КАК РеализацияСумма, СУММА(ВложенныйЗапрос.ВозвратКоличество) КАК ВозвратКоличество, СУММА(ВложенныйЗапрос.ВозвратСумма) КАК ВозвратСумма ИЗ (ВЫБРАТЬ &ПустаяДата КАК ДатаРеализации, ЗаказПокупателяТовары.Ссылка.Контрагент КАК Контрагент, ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0) КАК ЗаказКоличество, ЕСТЬNULL(ЗаказПокупателяТовары.Сумма, 0) КАК ЗаказСумма, 0 КАК РеализацияКоличество, 0 КАК РеализацияСумма, 0 КАК ВозвратКоличество, 0 КАК ВозвратСумма ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ГДЕ ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА И ЗаказПокупателяТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка.Дата, РеализацияТоваровУслугТовары.Ссылка.Контрагент, РеализацияТоваровУслугТовары.Номенклатура, 0, 0, ЕСТЬNULL(РеализацияТоваровУслугТовары.Количество, 0), ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0), 0, 0 ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &ПустаяДата, ВозвратТоваровОтПокупателяТовары.Ссылка.Контрагент, ВозвратТоваровОтПокупателяТовары.Номенклатура, 0, 0, 0, 0, ЕСТЬNULL(ВозвратТоваровОтПокупателяТовары.Количество, 0), ЕСТЬNULL(ВозвратТоваровОтПокупателяТовары.Сумма, 0) ИЗ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары ГДЕ ВозвратТоваровОтПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ВозвратТоваровОтПокупателяТовары.Ссылка.Проведен = ИСТИНА И ВозвратТоваровОтПокупателяТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры)) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.ДатаРеализации, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Номенклатура |
|||
16
Wobland
15.11.13
✎
11:56
|
(12) кхм.. так ваще-то обычно и делается
|
|||
17
Ненавижу 1С
гуру
15.11.13
✎
11:56
|
(15) потому что группируешь по дате, а они разные
|
|||
18
Wobland
15.11.13
✎
11:57
|
(15) даты кое-где разные
|
|||
19
LivingStar
15.11.13
✎
11:57
|
(14) Если реализаций будет несколько то пусть они тама где либо рядом и стоят, если связаны с заказом и возвратом, то пусть количество будет в строках, если нет то пусто пусть будет
ну а как в этих случаях тогда сворачивать??? даты всегда будут разные |
|||
20
LivingStar
15.11.13
✎
11:59
|
(16) ну давайте учтем в этом запросе все вариации тогда?!!!
выбор документов ЗаказПокупателя, РеализацияТоваровУслуг, ВозвратТоваровОтПокупателя нужен томер только документа реализация, все остальное должно свернуться |
|||
21
LivingStar
15.11.13
✎
11:59
|
Сворачиваю по Дате, Контрагенту, Номенклатуре, по дате не сворачивается... как поступать?
|
|||
22
Ненавижу 1С
гуру
15.11.13
✎
12:00
|
"если связаны с заказом и возвратом"
уже что-то, но в твоем запросе про связи вообще речи нет в целом куйня - надо делать на регистрах |
|||
23
Ненавижу 1С
гуру
15.11.13
✎
12:01
|
предложу пальцем в попу:
ВЫБРАТЬ МАКСИМУМ(ВложенныйЗапрос.ДатаРеализации), ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Номенклатура ... СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Номенклатура |
|||
24
Wobland
15.11.13
✎
12:01
|
(20) а куда денешь даты возвратов и заказов?
|
|||
25
LivingStar
15.11.13
✎
12:02
|
(22) можете посоветовать по каким регистрам, если знаете?
хочу начать в этом разбираться, но сам никак не могу сдвинуться, вы в курсе, как делать по регистрам, и по каким регистрам делать эту выборку? |
|||
26
LivingStar
15.11.13
✎
12:03
|
(24) я думал они свернутся, я же ставлю у них пустую дату, а оставляю только дату реализацииТоваровУслуг....
как это свернуть? нельзя????? сворачиваются только 0 и числа что ли? |
|||
27
Wobland
15.11.13
✎
12:04
|
(26) а ты думал, раз дата пустая, то она испарится с первого пинка? это тоже значение
|
|||
28
LivingStar
15.11.13
✎
12:05
|
(27) я думал она свернётся, тип же один и тот же
|
|||
29
LivingStar
15.11.13
✎
12:06
|
(27) как тогда сворачивать то?
|
|||
30
Ненавижу 1С
гуру
15.11.13
✎
12:07
|
(28) что такое СГРУППИРОВАТЬ ты понимаешь вообще?
|
|||
31
Ненавижу 1С
гуру
15.11.13
✎
12:07
|
(29) см (23)
|
|||
32
Wobland
15.11.13
✎
12:08
|
+(30) открой в СП Свернуть и изучи
|
|||
33
Мимохожий Однако
15.11.13
✎
12:10
|
(28)Чтобы свернуть, надо сгруппировать. Дату документа можно привести на начало дня.
|
|||
34
LivingStar
15.11.13
✎
12:20
|
(28)(31)
А вот как значит. Спасибо по приведению даты на начало дня и использованию функции Максимум на дату. Её то и не хватало. Приведение даты на начало дня это и есть использование функции максимум? И вот результат запроса сейчас тогда получается без учета того что может быть несколько реализаций, или могут быть просто отдельные документы без присутствия в выборке остальных. Сказывается наложение ограничения на период выборки и то что она по документам делается видимо. |
|||
35
LivingStar
15.11.13
✎
12:20
|
ВЫБРАТЬ
МАКСИМУМ(ВложенныйЗапрос.ДатаРеализации) КАК ДатаРеализации, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Номенклатура, СУММА(ВложенныйЗапрос.ЗаказКоличество) КАК ЗаказКоличество, СУММА(ВложенныйЗапрос.ЗаказСумма) КАК ЗаказСумма, СУММА(ВложенныйЗапрос.РеализацияКоличество) КАК РеализацияКоличество, СУММА(ВложенныйЗапрос.РеализацияСумма) КАК РеализацияСумма, СУММА(ВложенныйЗапрос.ВозвратКоличество) КАК ВозвратКоличество, СУММА(ВложенныйЗапрос.ВозвратСумма) КАК ВозвратСумма ИЗ (ВЫБРАТЬ &ПустаяДата КАК ДатаРеализации, ЗаказПокупателяТовары.Ссылка.Контрагент КАК Контрагент, ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0) КАК ЗаказКоличество, ЕСТЬNULL(ЗаказПокупателяТовары.Сумма, 0) КАК ЗаказСумма, 0 КАК РеализацияКоличество, 0 КАК РеализацияСумма, 0 КАК ВозвратКоличество, 0 КАК ВозвратСумма ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ГДЕ ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА И ЗаказПокупателяТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка.Дата, РеализацияТоваровУслугТовары.Ссылка.Контрагент, РеализацияТоваровУслугТовары.Номенклатура, 0, 0, ЕСТЬNULL(РеализацияТоваровУслугТовары.Количество, 0), ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0), 0, 0 ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &ПустаяДата, ВозвратТоваровОтПокупателяТовары.Ссылка.Контрагент, ВозвратТоваровОтПокупателяТовары.Номенклатура, 0, 0, 0, 0, ЕСТЬNULL(ВозвратТоваровОтПокупателяТовары.Количество, 0), ЕСТЬNULL(ВозвратТоваровОтПокупателяТовары.Сумма, 0) ИЗ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары ГДЕ ВозвратТоваровОтПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ВозвратТоваровОтПокупателяТовары.Ссылка.Проведен = ИСТИНА И ВозвратТоваровОтПокупателяТовары.Номенклатура В ИЕРАРХИИ(&СписокНоменклатуры)) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Номенклатура |
|||
36
Ненавижу 1С
гуру
15.11.13
✎
12:21
|
"Приведение даты на начало дня это и есть использование функции максимум?
И вот результат запроса сейчас тогда получается без учета того что может быть несколько реализаций, или могут быть просто отдельные документы без присутствия в выборке остальных. Сказывается наложение ограничения на период выборки и то что она по документам делается видимо." мы учтем твой ЭКСПЕРТНОЕ мнение |
|||
37
Мимохожий Однако
15.11.13
✎
12:27
|
(34)Функция НАЧАЛОПЕРИОДА
НАЧАЛОПЕРИОДА (<Дата периода>, <Тип периода>) <Дата периода> – выражение типа ДАТА, указывающего дату периода; <Тип периода> - тип периода, одно из: МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ. Функция предназначена для получения даты начала периода по дате, принадлежащей этому периоду. Примеры: ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), МЕСЯЦ) Результат: Поле1 01.10.2002 0:00:00 ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), ДЕНЬ) Результат: Поле1 12.10.2002 0:00:00 |
|||
38
Мимохожий Однако
15.11.13
✎
12:27
|
(34)Агрегатная функция МАКСИМУМ
Функция вычисляет максимальное значение из всех попавших в выборку значений поля. В качестве параметра функции можно указывать выражения, содержащие значения любого типа. Не может применяться к выражениям с типом ХранилищеЗначения и Строкам неограниченной длины. При определении максимального значения применяются правила сравнения значений, описанные в Правила сравнения значений. |
|||
39
Мимохожий Однако
15.11.13
✎
12:28
|
(34)Ты запутался малехо
|
|||
40
Ненавижу 1С
гуру
15.11.13
✎
12:31
|
(39) малехо? запутался?
|
|||
41
Мимохожий Однако
15.11.13
✎
12:32
|
(40)Да.Да.
|
|||
42
LivingStar
15.11.13
✎
12:40
|
(39) Ок, спасибо!!!
|
|||
43
LivingStar
15.11.13
✎
12:51
|
(41) Скажите а приведение даты на НачалоПериода, это следует делать во вложенном запросе? У документов ЗаказПокупателя и ВозвратТоваровОтПокупателя? Я сейчас туда передаю пустую дату через параметр.
|
|||
44
Wobland
15.11.13
✎
12:52
|
(43) можешь передавать туда сразу самую пустую дату - полночь первого января первого года
|
|||
45
Wobland
15.11.13
✎
12:52
|
(44) а можешь эту полночь к началу дня привести
|
|||
46
LivingStar
15.11.13
✎
12:53
|
в запросе (35) правильно ли используется функция Максимум() ?
|
|||
47
Ненавижу 1С
гуру
15.11.13
✎
12:54
|
(46) нет
|
|||
48
Ненавижу 1С
гуру
15.11.13
✎
12:54
|
ты язык SQL когда нибудь видел?
|
|||
49
LivingStar
15.11.13
✎
12:55
|
(46+) Если в выборке у двух документов пустая дата, а у РеализацииТоваровУслуг она есть, она же должна выбраться?
(47) А как делать нужно в таком случае? Если дата в выборке нужна только у одного документа, у двух других документов дата не нужна. |
|||
50
LivingStar
15.11.13
✎
12:56
|
(48) Видел, и что это дает?
|
|||
51
Ненавижу 1С
гуру
15.11.13
✎
12:56
|
(50) тебе ничего
|
|||
52
Wobland
15.11.13
✎
12:56
|
и вот тут как раз наступает такой момент, когда в одной колонке строк получается больше. даты нужны не все, а суммы все
|
|||
53
LivingStar
15.11.13
✎
13:01
|
так же нужно выбрать номер реализации, дату или ссылку, это возможно?
|
|||
54
Ненавижу 1С
гуру
15.11.13
✎
13:02
|
огласи цель отчета
|
|||
55
LivingStar
15.11.13
✎
13:04
|
(54) Построчно получить оборот товара в разрезе заказа, реализации, возврата. С выводом номера, даты реализайии, Контрагента, номенклатуры.
|
|||
56
Wobland
15.11.13
✎
13:06
|
>получить оборот товара
я всё же как-то надеялся, что цель запроса - получить документы, ан нет. третий раз скажу. за такое на экзамене порят розгами прямо по простреленной коленке. и правильно делают |
|||
57
Ненавижу 1С
гуру
15.11.13
✎
13:08
|
(55) если это типовая УТ 10 или что-то подобное, то есть уже готовый отчет Продажи
|
|||
58
LivingStar
15.11.13
✎
13:08
|
(56) это ясно, но я же написал (25)
|
|||
59
LivingStar
15.11.13
✎
13:09
|
(57) то есть из него брать пример и разбирать?
в (0) это часть выборки, к которой привязывается потом ещё всякая хрень ..... |
|||
60
LivingStar
15.11.13
✎
13:14
|
Я так понимаю что в (35) это не работоспособный запрос. Тогда подскажите пожалуйста, что в нем исправить что бы он стал работоспособным?
|
|||
61
Мимохожий Однако
15.11.13
✎
15:04
|
(58)Посмотри какие регистры двигаются при проведении документа и по ним строй запрос.
|
|||
62
Ненавижу 1С
гуру
15.11.13
✎
17:27
|
(59) нет, там все уже есть
|
|||
63
LivingStar
18.11.13
✎
07:56
|
(62) Там есть, но не в том виде, там по группировкам, которые располагаются сверху, мне нужно было в одну строку.....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |