v7: что-то не так с запросом - объясните
☑
0
RizONE
14.01.12
✎
09:15
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Свод)
|Период с ДатаАктуальности по ДатаАктуальности;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|Подразделение = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
|ТекущийДокумент = ЖурналРасчетов.Зарплата.ТекущийДокумент;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Функция Сумма = Сумма(Результат);
| Группировка Сотрудник Без Групп;
|Условие(ТекущийДокумент = ВыбДокумент);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
глСтатусСтрока(Контекст,"");
Возврат;
КонецЕсли;
ВремТаблица = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ВремТаблица,,0);
ВремТаблица.Выбратьстроку();
Если заремить строку:
|Подразделение = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
то запрос по некоторым сотрудникам вытаскивает задвоенные суммы!
Что сие значит? Как поймать причину задвоения?
Делал тестирование и исправление базы - не помогло. база SQL ось WS2003
1
RizONE
14.01.12
✎
09:16
(0) тьфу, если заремить то суммы верные, а если оставить то задваиваются
2
2S
14.01.12
✎
09:20
в качестве предположения - а если не использовать ОсновнойЭлемент?
3
2S
14.01.12
✎
09:21
и вообще группировка только по сотруднику, накуя подразделение?
используй всегда основнойэлемент, возможно задвоения по совместителям
4
Kavar
14.01.12
✎
09:21
Чем эти сотрудники ото всех остальных?
5
RizONE
14.01.12
✎
09:21
(2) тоже самое - задвоение
6
RizONE
14.01.12
✎
09:22
(4) да ничем, сотрудники и сотрудники...
7
RizONE
14.01.12
✎
09:24
(3) у них нет совместительства
проверял запрос через ЖЗ.ВыбратьЗаписиПоДокументу() - выводит все правильно
8
RizONE
16.01.12
✎
11:57
ап!
сегодня выяснилось что стандартные "расчетные листки" дают задвоение на некоторых людях. Лечится заремиванием строки
Подразделение = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
2 + 2 = 3.9999999999999999999999999999999...