Имя: Пароль:
1C
 
Разница в таблицах Остатки и Остатки и Обороты
0 Mashap
 
08.04.11
10:27
Добрый день, коллеги!

Имеется два запроса:
Запрос1:

ВЫБРАТЬ
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента КАК Договор,
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК Валюта,
   СУММА(ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовКонечныйОстаток) КАК СуммаОстаток,
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.Владелец КАК Контрагент
ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(,&ДатаКонца,,, ДоговорКонтрагента.ВидДоговора = &ВидДоговора И ДоговорКонтрагента.Владелец = &Контрагент ) КАК ВзаиморасчетыСКонтрагентамиОстатки

СГРУППИРОВАТЬ ПО
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента

УПОРЯДОЧИТЬ ПО
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.Владелец.Наименование

Запрос2:
ВЫБРАТЬ
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента КАК Договор,
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК Валюта,
   СУММА(ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток) КАК СуммаОстаток,
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.Владелец КАК Контрагент
ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКонца, ДоговорКонтрагента.ВидДоговора = &ВидДоговора И ДоговорКонтрагента.Владелец = &Контрагент ) КАК ВзаиморасчетыСКонтрагентамиОстатки

СГРУППИРОВАТЬ ПО
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента

УПОРЯДОЧИТЬ ПО
   ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.Владелец.Наименование

Запросы выдают разные цифры. Вопрос - почему?.. Ведь и в первом и во втором запросе я получаю конечный остаток на конкретную дату по контрагенту, договору.
Спасибо.
1 Ненавижу 1С
 
гуру
08.04.11
10:35
у меня совпадают
2 Mashap
 
08.04.11
10:37
а у меня шок:) потому что не совпадают) Один отчет строится по одной таблице, а два других - по другой. Найдите 10 отличий..
3 Defender aka LINN
 
08.04.11
10:38
(1) Это частный случай.
(0) Потому что ты не читаешь, что возвращают эти таблицы.
4 Ненавижу 1С
 
гуру
08.04.11
10:39
(3) это КАК?
5 IronDemon
 
08.04.11
10:40
(0) Книжки читал? СП глядел?
6 Ненавижу 1С
 
гуру
08.04.11
10:40
(3) ну вот взял и выполнил оба и они совпали!
7 PVV65
 
08.04.11
10:41
(3)(5) Поясните пожалуйста.
8 БибиГон
 
08.04.11
10:42
может итоги не рассчитаны?
9 IronDemon
 
08.04.11
10:42
Остатки - на время, остатки и обороты - по время. Кажись :)
10 Irbis
 
08.04.11
10:43
По умолчанию одна таблица включает границу, а вторая нет, так кажись.
11 IronDemon
 
08.04.11
10:45
Чтобы было правильные остатки нужна или граница времени или добавь 1 секунду.
12 Dmitrii
 
гуру
08.04.11
10:45
Для таблицы остатков:

Период (необязательный)

Тип параметра: Дата; МоментВремени; Граница. Указывается период, НА ЗНАЧЕНИЕ которого рассчитываются остатки. Для расчета остатков ПО ЗНАЧЕНИЕ периода его НЕОБХОДИМО ЗАДАВАТЬ ОБЪЕКТОМ ГРАНИЦА С ВКЛЮЧЕНИЕМ ГРАНИЧНОГО ЗНАЧЕНИЯ.
Значение по умолчанию: Если параметр не задан, итоги рассчитываются по самую последнюю запись.

Для таблицы оборотов:

Конец периода (необязательный)

Тип параметра: Дата; МоментВремени; Граница. Указывается конец периода расчета итогов. зНАЧЕНИЕ КОНЦА ПЕРИОДА по умолчанию ВКЛЮЧАЕТСЯ В ПЕРИОД РАСЧЕТА ИТОГОВ. Для исключения значения из периода его следует задавать объектом Граница с исключением граничного значения.
13 Mashap
 
08.04.11
10:45
как написать, чтобы совпадали?..
14 Ненавижу 1С
 
гуру
08.04.11
10:46
(9)(10) то есть вы хотите сказать, что если я передам границу конца дня включая, то одна из таблиц даст неверный результат?
15 Defender aka LINN
 
08.04.11
10:46
(6) А теперь сделай движение с временем равным &ДатаКонца и выполни еще раз :)
16 Defender aka LINN
 
08.04.11
10:47
(14) Кто сказал, что он будет неверный?
З.Ы. Если передавать Границу - будет совпадать в любом случае.
17 PVV65
 
08.04.11
10:47
(9) Действительно так. Спасибо.
18 IronDemon
 
08.04.11
10:48
(14) Не, именно тогда и будет правильно.
19 mdocs
 
08.04.11
10:48
+1 секунду в таблице остатков
20 Dmitrii
 
гуру
08.04.11
10:49
+ к (12)
(11) +1 Для получения остатков на конец дня 31.03.11 необходимо либо задать параметр в таблице остатков, используя Граница Включая 31.03.11 23:59:59, либо получать остатки на 01.04.11 00:00:00 (прибавив секунду к 31.03.11).
21 Mashap
 
08.04.11
10:50
я вас всех разочарую, но результаты все равно разные, даже если добавить секунду.
22 Ненавижу 1С
 
гуру
08.04.11
10:53
(15) кто ж даты передает то?
в виртуальные таблицы передаются только границы
23 Ненавижу 1С
 
гуру
08.04.11
10:53
(21) не надо секунды прибавлять, надо границу передать
24 Dmitrii
 
гуру
08.04.11
10:53
(21) Хммммм....

А куда добавлял?

А что покажет с использование границы?
25 Mashap
 
08.04.11
11:03
добавила в запросе по остаткам границу исключая, тоже самое - цифра больше, чем через обороты.
26 Ненавижу 1С
 
гуру
08.04.11
11:07
(25) не надо никаких добавлений секунд, добавь в обоих случаях границу включая
27 Mashap
 
08.04.11
11:12
Вставила в таблицу остатков границу включая - совпало с оборотами.

Ребята, я вас всех люблю!:)))
28 Ненавижу 1С
 
гуру
08.04.11
11:13
(27) где фото с раскрытием темы?
29 Mashap
 
08.04.11
11:16
это отвлекающий момент в работе, лучше без фото:)
30 Ненавижу 1С
 
гуру
08.04.11
12:02
(29) Маша, как же так?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.