|
Запрос построен конструктором | ☑ | ||
---|---|---|---|---|
0
Мисти
09.11.12
✎
14:28
|
Запрос86 = Новый Запрос;
Запрос86.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.Субконто1, | ХозрасчетныйОбороты.Субконто2, | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОбороты.КорСчет, | ХозрасчетныйОбороты.Организация, | СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт, | СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты( | &НачГраница, | &КонГраница, | Период, | Счет = &Счет, | , | Организация = &Организация | И Субконто1 = &Субконто1 | И Субконто2 = &Субконто2 | И Субконто3 = &Субконто3, | КорСчет = &КорСчет, | ) КАК ХозрасчетныйОбороты | |СГРУППИРОВАТЬ ПО | ХозрасчетныйОбороты.КорСчет, | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.Субконто1, | ХозрасчетныйОбороты.Субконто2, | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОбороты.Организация"; Я просила сгруппировать только по корсчету. Это нормально, что получилось так? |
|||
1
salvator
09.11.12
✎
14:29
|
(0) Конструктор не врет. Доверься ему полностью.
|
|||
2
Fragster
гуру
09.11.12
✎
14:29
|
(0) так и задумано
|
|||
3
Fragster
гуру
09.11.12
✎
14:30
|
но название переменной-запроса меня пугает
|
|||
4
salvator
09.11.12
✎
14:30
|
(3) Счет 86, вестимо.. )
|
|||
5
Мисти
09.11.12
✎
14:32
|
Спасибо!
РезультатЗапроса = Запрос86.Выполнить().Выбрать(ПланыСчетов.Хозрасчетный.НайтиПоКоду("51"),,,,,); Я получу таким образом оборот с 51 счетом? |
|||
6
DEVIce
09.11.12
✎
14:33
|
Автор, ты потом как будешь вспоминать что делает запрос под номером 86? :)
|
|||
7
salvator
09.11.12
✎
14:34
|
(5) Это что за хренотень?
|
|||
8
Fragster
гуру
09.11.12
✎
14:35
|
(5) не получишь
|
|||
9
Aprobator
09.11.12
✎
14:36
|
нефига се.
|
|||
10
Aprobator
09.11.12
✎
14:37
|
реально мистическое программирование какое то. Что сам текст запроса, что попытка получить результат.
|
|||
11
Maxus43
09.11.12
✎
14:38
|
РезультатЗапроса = Запрос86.Выполнить().Выбрать();
Пока выборка.следующий() Цикл //смотри сколько там записей и чего с ними делать КонецЦиклв; |
|||
12
Maxus43
09.11.12
✎
14:39
|
синтакс-контроля кода на мисте не хватает)
|
|||
13
cw014
09.11.12
✎
14:40
|
Запрос86???? Жду-недождусь "Запрос69" :)
|
|||
14
DUDE
09.11.12
✎
14:42
|
(0) Автор, у тебя уже задан отбор в запросе кор счета. Что еще нужно? "КорСчет = &КорСчет"
|
|||
15
salvator
09.11.12
✎
14:43
|
Наверное все дело в "86"
|
|||
16
GLazNik
09.11.12
✎
14:45
|
А зачем выбирается Счет, Субсчет1, ... они же фиксированные(в отборе)
|
|||
17
Мисти
09.11.12
✎
14:45
|
(14) Ага, точно, ошибка, забыла выкинуть.
Мне сначала нужно было только по 1 корсчету, а теперь поняла, что по нескольким. |
|||
18
Мисти
09.11.12
✎
14:46
|
(8) Почему не получу?
|
|||
19
salvator
09.11.12
✎
14:47
|
(18) Потому что надо внимательно изучить метод Выбрать() в синтаксис-помощнике.
|
|||
20
Fragster
гуру
09.11.12
✎
14:47
|
(18) потому что у Выбрать() первый параметр - это обходрезультатазапроса, а не ссылка на счет
|
|||
21
salvator
09.11.12
✎
14:49
|
(17) Тогда напишите КорСчет В (&МассивКорСчетов)
и пихайте в этот массив все счета, которые нужны |
|||
22
Мисти
09.11.12
✎
14:52
|
(21) Ага, хорошо, а потом мне надо по каждому - отдельно получить обороты. Ну, т.е., есть обороты с 5 счетами, а мне нужны данные по 3 из них.
|
|||
23
Мисти
09.11.12
✎
14:53
|
РезультатЗапроса (QueryResult)
Выбрать (Choose) Синтаксис: Выбрать(<ТипОбхода>, <Группировки>, <ГруппировкиДляЗначенийГруппировок>) Параметры: <ТипОбхода> (необязательный) Тип: ОбходРезультатаЗапроса. Задает тип обхода записей в получаемой выборке. Значение по умолчанию: Прямой <Группировки> (необязательный) Тип: Строка. Список группировок по которым будет вестись обход, разделенных запятыми. Для детальных записей указывается пустая строка. В случае, если группировки не указаны - будет использоваться следующая группировка, указанная в предложении запроса "ИТОГИ". <ГруппировкиДляЗначенийГруппировок> (необязательный) Тип: Строка. Список группировок, из которых будут выбираться значения группировок для обхода, разделенных запятыми. Если указано "Все", то будут выбираться все значения группировок. Если указана пустая строка, то значения для группировок будут выбираться из предыдущей группировки. Возвращаемое значение: Тип: ВыборкаИзРезультатаЗапроса. Описание: Формирует выборку записей из результата запроса. Выборка = РезультатЗапроса.Выбрать(); Да уж читала! |
|||
24
Aprobator
09.11.12
✎
14:53
|
гы.
|
|||
25
Мисти
09.11.12
✎
14:58
|
РезультатЗапроса = Запрос86.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВЫборка.Следующий() Цикл Если Выборка.КорСчет= ПланыСчетов.Хозрасчетный.НайтиПоКоду("51") Тогда Так что ли? |
|||
26
Aprobator
09.11.12
✎
14:58
|
ээээ, сударыня вы в 1С как оказались вообще?
|
|||
27
Мисти
09.11.12
✎
15:00
|
Выборка= Запрос86.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Там в 1 строчке должна быть выборка, конечно. |
|||
28
Мисти
09.11.12
✎
15:01
|
(26) Да я скоро сама буду советы раздавать!
Вот доделаю еще пару отчетиков. |
|||
29
Aprobator
09.11.12
✎
15:02
|
(28) вот не дай бог.
|
|||
30
salvator
09.11.12
✎
15:04
|
Уберите группировки. Сделайте итоги по корсчету. Думаю, вам именно это надо.
|
|||
31
Мисти
09.11.12
✎
15:05
|
(30)
ВЫБРАТЬ | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.Субконто1, | ХозрасчетныйОбороты.Субконто2, | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОбороты.КорСчет КАК КорСчет, | ХозрасчетныйОбороты.Организация, | ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт, | ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты( | &НачГраница, | &КонГраница, | Период, | Счет = &Счет, | , | Организация = &Организация | И Субконто1 = &Субконто1 | И Субконто2 = &Субконто2 | И Субконто3 = &Субконто3, | , | ) КАК ХозрасчетныйОбороты |ИТОГИ | СУММА(СуммаОборотДт), | СУММА(СуммаОборотКт) |ПО | КорСчет |
|||
32
Мисти
09.11.12
✎
15:06
|
(30) Так?
Чем по смыслу отличается группировка от итогов? |
|||
33
Мисти
09.11.12
✎
15:21
|
И как теперь-то получить оборот по корсчету 51? Я когда-нибудь и сама догадаюсь, просто пока не могу проверить - писать еще много.
|
|||
34
salvator
09.11.12
✎
15:26
|
(33) Добавьте отбор по корсчету в параметры виртуальной таблицы.
|
|||
35
Мисти
09.11.12
✎
15:28
|
(34) Так мне по 3 нужно!
|
|||
36
salvator
09.11.12
✎
15:28
|
(35) --> (21)
|
|||
37
Мисти
09.11.12
✎
15:32
|
По каждому отдельно!
Может, их всего 3 и есть, я не вижу необходимости их задавать, как потом-то получить по каждому?? |
|||
38
Мисти
09.11.12
✎
15:36
|
А вот другая история, нужны обороты только по двум счетам:
МассивСчетов = Новый Структура; МассивСчетов.Вставить("Сч6201",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01")); МассивСчетов.Вставить("Сч6201",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.21")); - правильно? |
|||
39
Мисти
09.11.12
✎
15:37
|
МассивСчетов.Вставить("Сч6221",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.21")); - вторую строчку поправила
|
|||
40
GANR
09.11.12
✎
15:40
|
(0) Если хоть по каким-то полям запроса заданы агрегатные функции - остальные поля автоматически становятся группировками.
|
|||
41
GLazNik
09.11.12
✎
15:41
|
(38) "МассивСчетов = Новый Структура;"
Это еще что такое? Если уж на то пошло, то во: МассивСчетов = Новый Массив; МассивСчетов.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01")) Но лучше не по НайтиПоКоду |
|||
42
Мисти
09.11.12
✎
15:41
|
(40) Это я уже догадалась, не догадалась только, почему.
И вопрос из (32) беспокоит! |
|||
43
GLazNik
09.11.12
✎
15:42
|
(42) потому что поле может быть или в группировке или в агрегатной функции.
|
|||
44
Мисти
09.11.12
✎
15:43
|
(41) Так!! Чем массив отличается от структуры?
Ага, спасибо. И если не по коду, то как? по наименованию? И почему не по коду? (43) Ну это я тоже заметила, но в суть не вникну. Ну да ладно, это не самое важное сейчас. |
|||
45
GLazNik
09.11.12
✎
15:43
|
(42) Итоги - это результат в виде дерева
|
|||
46
GANR
09.11.12
✎
15:46
|
(42) А вы логически подумайте: куда деть поля, не включенные ни в группировки, ни в агрегатные функции ???
|
|||
47
hhhh
09.11.12
✎
15:46
|
(44) ИТОГИ - это группировка.
СГРУППИРОВАТЬ - это свёртка. Свернуть по каким-то полям. |
|||
48
GLazNik
09.11.12
✎
15:47
|
(44) СП продать? Не дорого
|
|||
49
GLazNik
09.11.12
✎
15:48
|
(47) "ИТОГИ - это группировка." ща в конец запутаешь ТС :)
|
|||
50
salvator
09.11.12
✎
15:48
|
(44) Ищите по предопределенному в конфигураторе значению.
|
|||
51
hhhh
09.11.12
✎
15:49
|
(47)+ СГРУППИРОВАТЬ вам не нужно, потому что РегистрБухгалтерии.Хозрасчетный.Обороты само сворачивает по всем счетам и субконто, которые в запросе перечислены.
|
|||
52
GLazNik
09.11.12
✎
15:50
|
(50) там не искать надо, а просто указать предопределенное значение.
|
|||
53
salvator
09.11.12
✎
15:52
|
(50) Ага. Неверно выразился.
|
|||
54
Мисти
09.11.12
✎
15:53
|
(45) В каком случае итоги, а в каком - группировка?
Когда что используется? |
|||
55
GLazNik
09.11.12
✎
15:54
|
(54) группировка - это линейная таблица, итоги - дерево значений.
|
|||
56
Мисти
09.11.12
✎
15:54
|
(52)ПланыСчетов.Хозрасчетный.СебестоимостьПродаж - вроде как так?
Мне по коду как-то привычнее, это что, существенно влияет на что-то? |
|||
57
GLazNik
09.11.12
✎
15:56
|
(56) да так.
быстрее, точнее |
|||
58
Мисти
09.11.12
✎
15:56
|
Ну всё более-менее поняла, не поняла, как теперь сумму по 1 счету получить (а в запросе - сразу по 2, которые в массиве счетов).
Слова какие?? |
|||
59
GLazNik
09.11.12
✎
15:58
|
(58) Оставьте только
"ВЫБРАТЬ | ХозрасчетныйОбороты.КорСчет, | СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт, | СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт |ИЗ .... и уберите нафиг сгруппировать |
|||
60
salvator
09.11.12
✎
16:00
|
(58) ВыборкаКорСчета = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаКорСчета.Следующий() Цикл Сообщить("По корсчету "+Выборка.КорСчет+" оборот Дт "+Выборка.СуммаОборотДт); КонецЦикла; |
|||
61
salvator
09.11.12
✎
16:00
|
Выборка = ВыборкаКорСчета
|
|||
62
salvator
09.11.12
✎
16:02
|
(59) Функция СУММА не нужна в таком случае.
|
|||
63
Мисти
09.11.12
✎
16:03
|
(60) Ура!
Я так и написала. |
|||
64
GLazNik
09.11.12
✎
16:04
|
(62) это не я, это копипаст :)
|
|||
65
samozvanec
09.11.12
✎
16:05
|
Люди! Что с вами такое! Где фотка?????
|
|||
66
Мисти
09.11.12
✎
16:06
|
(59) Так я убрала сгруппировать, остались итоги
Сгруппировать - тогда не суммируется, а только группируется, правильно? Т.е. потом надо было бы еще всё сложить, чтоб получить итоги, правильно? |
|||
67
salvator
09.11.12
✎
16:11
|
(65) Ты уверен?
|
|||
68
EvgenPS
09.11.12
✎
16:45
|
Мисти с фото дело быстрее пойдет))
|
|||
69
Мисти
09.11.12
✎
17:28
|
(68) Сегодня - просто распрекрасно! Обругали мало, а помогли - много. Обычно наоборот.
|
|||
70
samozvanec
09.11.12
✎
17:52
|
(67) в чем?
|
|||
71
Мисти
09.11.12
✎
17:57
|
(70) Ответь мне лучше в другой теме, а?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |