helpf.pro
Регистрация

v8: Нужна Дата а не момент в запросе

Vedis70
20.09.2011 09:18Прочитано: 3277
Нужен запрос с итогами по датам.
Написал:

Код 1C v 8.2 УП
 	Запрос.Текст =
"ВЫБРАТЬ
| УчетЗарплаты.Период КАК Период,
| УчетЗарплаты.Регистратор,
| УчетЗарплаты.Регистратор.Дата КАК Дата,
| УчетЗарплаты.ВидДвижения,
| УчетЗарплаты.Пользователь,
| СУММА(УчетЗарплаты.СуммаКошелька) КАК СуммаКошелька,
| СУММА(УчетЗарплаты.СуммаБанка) КАК СуммаБанка
|ИЗ
| РегистрНакопления.УчетЗарплаты КАК УчетЗарплаты
|ГДЕ
| (Период > &НачалоПериода и Период < &КонецПериода) И
| (УчетЗарплаты.Пользователь = &Пользователь) И
| ((СуммаКошелька <> 0) ИЛИ (СуммаБанка <> 0))
|СГРУППИРОВАТЬ ПО
| УчетЗарплаты.Период,
| УчетЗарплаты.Регистратор,
| УчетЗарплаты.Регистратор.Дата,
| УчетЗарплаты.ВидДвижения,
| УчетЗарплаты.Пользователь
|УПОРЯДОЧИТЬ ПО ПЕРИОД
|ИТОГИ
| СУММА(СуммаКошелька),
| СУММА(СуммаБанка)
|ПО
| Дата
|";


Но дата все ровно имеет вид МоментаВремени и получаем итоги не за день а по каждому документу. Как исправить? И как покрасивее написать ((Период > &НачалоПериода и Период < &КонецПериода) или так и должно быть?
Изменено 20.09.11 09:21:37
Yandex
Возможно, вас также заинтересует
Реклама на портале
DJ_Serega
21.09.2011 10:12Ответ № 1
я УП не пользовался, но... если регистр периодический, то в настройках виртуальной таблицы (в запросе) можно добавить нач. периода и кон. периода.
typeharley
21.09.2011 10:21Ответ № 2
Попробуй сгруппировать по "День(УчетЗарплаты.Период)"
Vedis70
22.09.2011 09:51Ответ № 3
DJ_Serega - не переодический!

typeharley - Поробовал
Поправил запрос
|ПО
| День(УчетЗарплаты.Период)
получил совокупление по дням но за все годы. Картинка вложена
title

Как точно выйти на дату
DJ_Serega
22.09.2011 10:08Ответ № 4
Вместо
Код 1C v 8.2 УП
 
|ГДЕ
| (Период > &НачалоПериода и Период < &КонецПериода)

попробуй
Код 1C v 8.2 УП
 
|ГДЕ
| (Период > &НачалоПериода)
и (Период < &КонецПериода)

Изменено 22.09.11 10:12:10 по причине: что бы красиво было )
E_Migachev
22.09.2011 11:08Ответ № 5
(0) Vedis70, попробуй так:
Код 1C v 8.х
 Запрос.Текст =
"ВЫБРАТЬ
| УчетЗарплаты.Период КАК Период,
| УчетЗарплаты.Регистратор,
| УчетЗарплаты.Пользователь,
| СУММА(УчетЗарплаты.СуммаКошелька) КАК СуммаКошелька,
| СУММА(УчетЗарплаты.СуммаБанка) КАК СуммаБанка
|ИЗ
| РегистрНакопления.УчетЗарплаты КАК УчетЗарплаты
|ГДЕ
| (Период > &НачалоПериода и Период < &КонецПериода) И
| (УчетЗарплаты.Пользователь = &Пользователь) И
| ((СуммаКошелька <> 0) ИЛИ (СуммаБанка <> 0))
|СГРУППИРОВАТЬ ПО
| УчетЗарплаты.Период,
| УчетЗарплаты.Регистратор,
|УчетЗарплаты.Пользователь
|УПОРЯДОЧИТЬ ПО ПЕРИОД
|ИТОГИ
| СУММА(СуммаКошелька),
| СУММА(СуммаБанка)
|ПО
| Период
|";
Anton Kolimbetov
22.09.2011 20:00Ответ № 6
Покрасивее
Код 1C v 8.х
 (Период > &НачалоПериода и Период < &КонецПериода)   

будет
Код 1C v 8.х
 Период МЕЖДУ &НачалоПериода И &КонецПериода   
typeharley
23.09.2011 10:36Ответ № 7
Во-первых, выбирай период в виртуальной таблице, группировку виртуальной таблицы тоже указать "День", а также все условия (работать будет на порядок быстрее, хм... зачем выбирать лишние значения).
Во-вторых, нужно не только получить итоги по "День(УчетЗарплаты.Период)", но и сгруппировать по этому полю (точнее, выражению)!
Привожу пример:

Код 1C v 8.2 УП
   "ВЫБРАТЬ
| ДЕНЬ(УчетЗарплаты.Период) КАК ДеньДвиж
|ИЗ
| РегистрНакопления.УчетЗарплаты.Обороты(&НачалоПериода, &КонецПериода, День,
| Пользователь = &Пользователь
| И СуммаКошелька <> 0
| И СуммаБанка <> 0) КАК УчетЗарплаты
|
|СГРУППИРОВАТЬ ПО
| ДЕНЬ(УчетЗарплаты.Период)
|ИТОГИ ПО
| ДеньДвиж"

Изменено 23.09.11 10:38:19
ArtemKolos
24.09.2011 20:36Ответ № 8
А что мешает использовать "Между"?
Код 1C v 8.х
 |ГДЕ
| Период Между &НачалоПериода и &КонецПериода

Изменено 24.09.11 20:37:08
typeharley
26.09.2011 10:42Ответ № 9
Начего не мешает! Разница будет в том, что виртуальная таблица РегистрНакопления.УчетЗарплаты.Обороты() выгребет больше ненужных данных, а потом только будут отсеиваться строки по твоему условию.
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.