Имя: Пароль:
1C
1С v8
Запрос выполняется не как в консоли
0 Neznayka_5
 
17.08.12
08:37
Пишу запрос с группировкой и итогами по нескольким полям.
Запрос по регистру ОстаткиИОбороты.
Итоги выбираю:
   |    СУММА(НачальныйОстаток),
   |    СУММА(Приход),
   |    СУММА(Расход),
   |    СУММА(КонечныйОстаток)
Когда в консоли запросов смотрю, все нормально, а когда Вывожу в ТабДок цифры Начального и Конечного остатка совсем не те.
Получается например вот так:
В запросе:
Подразделение  ФИО    Дата  Номенклатура  Регистр  ЕдИзм     ОстНач + - ОстКон
Подразделение1                                               0      1 0 1
Подразделение1 Иванов Дата1 Номенклатура1 Регистр1 Ед.Измер1 1      0 0 1
Подразделение1 Иванов Дата1 Номенклатура1 Регистр1 Ед.Измер1 0      1 0 1

При выполнении:
Подразделение  ФИО    Дата  Номенклатура  Регистр  ЕдИзм     ОстНач + - ОстКон
Подразделение1                                               1      1 0 2
Подразделение1 Иванов Дата1 Номенклатура1 Регистр1 Ед.Измер1 1      0 0 1
Подразделение1 Иванов Дата1 Номенклатура1 Регистр1 Ед.Измер1 0      1 0 1
1 Neznayka_5
 
17.08.12
08:39
Ой, во второй строчке везде Дата2
2 DrShad
 
17.08.12
08:39
а весь запрос с установкой араметров слабо?
3 Neznayka_5
 
17.08.12
08:39
и регстра нет
4 Neznayka_5
 
17.08.12
08:39
сейчас
5 Neznayka_5
 
17.08.12
08:40
ВЫБРАТЬ
   МатериалыВЭксплуатацииОстаткиИОбороты.Подразделение.Наименование КАК Подразделение,
   МатериалыВЭксплуатацииОстаткиИОбороты.ФизЛицо.Наименование КАК Сотрудник,
   МатериалыВЭксплуатацииОстаткиИОбороты.Период КАК Период,
   МатериалыВЭксплуатацииОстаткиИОбороты.Номенклатура.Наименование КАК Номенклатура,
   МатериалыВЭксплуатацииОстаткиИОбороты.Регистратор КАК Регистратор,
   МатериалыВЭксплуатацииОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
   СУММА(МатериалыВЭксплуатацииОстаткиИОбороты.КоличествоНачальныйОстаток) КАК НачальныйОстаток,
   СУММА(МатериалыВЭксплуатацииОстаткиИОбороты.КоличествоПриход) КАК Приход,
   СУММА(МатериалыВЭксплуатацииОстаткиИОбороты.КоличествоРасход) КАК Расход,
   СУММА(МатериалыВЭксплуатацииОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КонечныйОстаток
ИЗ
   РегистрНакопления.МатериалыВЭксплуатации.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ), КОНЕЦПЕРИОДА(&Дата1, ДЕНЬ), Регистратор, , ) КАК МатериалыВЭксплуатацииОстаткиИОбороты
ГДЕ
   МатериалыВЭксплуатацииОстаткиИОбороты.Подразделение = &Подразделение
   И МатериалыВЭксплуатацииОстаткиИОбороты.ФизЛицо = &физЛицо

СГРУППИРОВАТЬ ПО
   МатериалыВЭксплуатацииОстаткиИОбороты.ФизЛицо,
   МатериалыВЭксплуатацииОстаткиИОбороты.Номенклатура,
   МатериалыВЭксплуатацииОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков,
   МатериалыВЭксплуатацииОстаткиИОбороты.Подразделение,
   МатериалыВЭксплуатацииОстаткиИОбороты.Подразделение.Наименование,
   МатериалыВЭксплуатацииОстаткиИОбороты.ФизЛицо.Наименование,
   МатериалыВЭксплуатацииОстаткиИОбороты.Номенклатура.Наименование,
   МатериалыВЭксплуатацииОстаткиИОбороты.Регистратор,
   МатериалыВЭксплуатацииОстаткиИОбороты.Период
ИТОГИ
   СУММА(НачальныйОстаток),
   СУММА(Приход),
   СУММА(Расход),
   СУММА(КонечныйОстаток)
6 Neznayka_5
 
17.08.12
08:41
три строчки что не вошли КОД с суммой (почему-то не отобразилось тут)
7 Neznayka_5
 
17.08.12
08:50
(2) ну что?
8 hhhh
 
17.08.12
09:24
вот так лучше

ВЫБРАТЬ
   МатериалыВЭксплуатацииОстаткиИОбороты.Подразделение КАК Подразделение,
   МатериалыВЭксплуатацииОстаткиИОбороты.ФизЛицо КАК Сотрудник,
9 Neznayka_5
 
17.08.12
09:50
(8) ну запрос то не стал лучше работать)
10 Анцеранана
 
17.08.12
10:04
(0) чудес не бывает, наверняка с параметрами накосячил, в консоли дата одна, а при выводе в ТД - другая. (скорее всего какая-то граница не попадает)

Вообще лучше параметры дат устанавливать классическим способом:

       Запрос.УстановитьПараметр("ДатаНач", НачалоДня(Стр.ДатаНачалаПериода));
       Запрос.УстановитьПараметр("ДатаКон", Новый Граница(КонецДня(Стр.ДатаКонцаПериода),ВидГраницы.Включая));

а в запросе &ДатаНач и &ДатаКон ,может заработает?
11 Neznayka_5
 
17.08.12
11:06
Нашла в чем причина. У меня запрос выполняется на сервере, и результатом функции передается на клиент. При передаче видимо что-то происходит, и, хотя сервер выполняет запрос правильно, на клиенте он принимается уже не таким, какой должен быть. Наверное это уже не в эту тему, но может кто знает, как избежать этого?