![]() |
![]() |
![]() |
|
правильная ли выборка из регистра накопления | ☑ | ||
---|---|---|---|---|
0
LivingStar
03.04.13
✎
14:28
|
Нужно получить оборот за день
| Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | РозничнаяВыручкаОбороты.Период, | РозничнаяВыручкаОбороты.РозничнаяТочка КАК РозничнаяТочка, | РозничнаяВыручкаОбороты.СуммаОборот КАК СуммаОборот |ИЗ | РегистрНакопления.РозничнаяВыручка.Обороты(&НачДата, &КонДата, День, ) КАК РозничнаяВыручкаОбороты |ГДЕ | РозничнаяВыручкаОбороты.РозничнаяТочка = &Магазин |ИТОГИ | СУММА(СуммаОборот) |ПО | РозничнаяТочка"; Запрос.УстановитьПараметр("&НачДата", НачалоДня(Дата)); Запрос.УстановитьПараметр("&КонДата", КонецДня(Дата)); Запрос.УстановитьПараметр("&Магазин", Склад; |
|||
1
exwill
03.04.13
✎
14:29
|
(0) Вобщем правильно, но без ГДЕ кошернее.
|
|||
2
LivingStar
03.04.13
✎
14:30
|
Функцией хочу получить результат:
| Функция ВыручкаПоМагазинуЗаДень() Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | РозничнаяВыручкаОбороты.Период, | РозничнаяВыручкаОбороты.РозничнаяТочка КАК РозничнаяТочка, | РозничнаяВыручкаОбороты.СуммаОборот КАК СуммаОборот |ИЗ | РегистрНакопления.РозничнаяВыручка.Обороты(&НачДата, &КонДата, День, ) КАК РозничнаяВыручкаОбороты |ГДЕ | РозничнаяВыручкаОбороты.РозничнаяТочка = &Магазин |ИТОГИ | СУММА(СуммаОборот) |ПО | РозничнаяТочка"; Запрос.УстановитьПараметр("&НачДата", НачалоДня(Дата)); Запрос.УстановитьПараметр("&КонДата", КонецДня(Дата)); Запрос.УстановитьПараметр("&Магазин", Склад; Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Выборка.Следующий(); Результат = Выборка.СуммаОборот; КонецЕсли; Возврат Результат; КонецФункции |
|||
3
SherifSP
03.04.13
✎
14:30
|
(0) Ну да
|
|||
4
LivingStar
03.04.13
✎
14:30
|
(1) Nfr f ult 'nj ;t jn,jh gj vfufpbye? bkb ye;yj d htubcnht gfhfvtnh gthtlfdfnm&
|
|||
5
LivingStar
03.04.13
✎
14:31
|
(1) так Где это же фильтр по магазину, или нужно в регистр параметр передавать!
|
|||
6
Wobland
03.04.13
✎
14:31
|
запрашиваешь три поля, а используешь одно
|
|||
7
exwill
03.04.13
✎
14:31
|
(0) А не посмотрел. ИТОГИ то убери. Зачем они тебе?
|
|||
8
SherifSP
03.04.13
✎
14:31
|
(5) В параметрах регистра условие делай
|
|||
9
azernot
03.04.13
✎
14:31
|
Нет.
1. Условие перенсти в параметры виртуальной таблицы (поле полсле третьей запятой) 2. Если в парметрах одна и та же дата, то периодичность "День" не имеет смысла. Ставь "Период" 3. Итоги по розничной точке не нужны, т.к. она одна. |
|||
10
SherifSP
03.04.13
✎
14:32
|
(2) Зачем так? оО
Если Не Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Выборка.Следующий(); Результат = Выборка.СуммаОборот; КонецЕсли; |
|||
11
SherifSP
03.04.13
✎
14:34
|
+(10) Почему сразу не выгрузить, и не манипулировать с тз?
|
|||
12
LivingStar
03.04.13
✎
14:34
|
(7) а если там несколько записей будет?
(10) а как? надеюсь что там одна строка и получаю её |
|||
13
LivingStar
03.04.13
✎
14:34
|
(11) так а в запросе нельзя все сделать и вернуть одну строку?
|
|||
14
SherifSP
03.04.13
✎
14:36
|
(12) Рез = Запрос.Выполнить().Выгрузить();
Если Рез.Количество() > 0 Тогда Возврат Рез[0].СуммаОборот; КонецЕсли; На тебе быдло кодинг) |
|||
15
exwill
03.04.13
✎
14:37
|
(12) Не будет там несколько записей. Ты ж к виртуальной таблице обращаешься.
|
|||
16
salvator
03.04.13
✎
14:38
|
(12) Для этого есть группировка, но никак не итоги.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |