Имя: Пароль:
1C
1С v8
бухРегистр, вирт таблицы Остатки, ОстаткиИОбороты
0 perkos
 
28.11.11
12:05
ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт,
   ХозрасчетныйОстатки.СуммаОстатокДт,
   ХозрасчетныйОстатки.СуммаОстатокКт
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НП, &КП, , , ПОДСТРОКА(Счет.Код, 1, 2) = "68" ИЛИ ПОДСТРОКА(Счет.Код, 1, 2) = "69", , ) КАК ХозрасчетныйОстаткиИОбороты,
   РегистрБухгалтерии.Хозрасчетный.Остатки(&КП, ПОДСТРОКА(Счет.Код, 1, 2) = "68" ИЛИ ПОДСТРОКА(Счет.Код, 1, 2) = "69", , ) КАК ХозрасчетныйОстатки

как я понимаю одинаковые суммы должны возвращаться, а у меня не получаеться

объясните почему
1 Maxus43
 
28.11.11
12:07
>>ПОДСТРОКА(Счет.Код, 1, 2) = "68"
может ну её нафиг эту 1с?
2 Vovan1975
 
28.11.11
12:09
бугагага
3 Vovan1975
 
28.11.11
12:09
херово ты понимаешь, ага
4 Maxus43
 
28.11.11
12:11
2 отдельных запроса сделай, и их сравнивай. а не как в (0), увидиш разницу и проникнешся тайными знаниями. и постигнеш смысл жизни в конце концов
5 dimaldinho
 
28.11.11
12:19
(0) еще поди &КП - это дата, конец дня.
6 perkos
 
28.11.11
12:31
(5) в этом какраз косяк, ставлю 23.59.59 данные разные в результате этих запросов
7 perkos
 
28.11.11
12:32
причем ОСВ показывает данные такие же как ОстаткиИОбороты на 23.59.59
8 perkos
 
28.11.11
12:33
(4) разницы нет отдельными или нет делать
9 Defender aka LINN
 
28.11.11
12:34
(6) Продолжайте наблюдения
10 DrShad
 
28.11.11
12:35
отгрой для себя Граница()
11 perkos
 
28.11.11
12:36
(10) по карточке счета на 12 часов последние движения, причем здесь 23.59.59 и 23.59.58
12 unregistered
 
28.11.11
12:37
Для таблицы Остатки для расчета остатков по значение периода его необходимо задавать объектом Граница с включением граничного значения.


ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт,
   ХозрасчетныйОстатки.СуммаОстатокДт,
   ХозрасчетныйОстатки.СуммаОстатокКт
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НП, &КП, , , ПОДСТРОКА(Счет.Код, 1, 2) = "68" ИЛИ ПОДСТРОКА(Счет.Код, 1, 2) = "69", , ) КАК ХозрасчетныйОстаткиИОбороты,
   РегистрБухгалтерии.Хозрасчетный.Остатки(&КПОстатки, ПОДСТРОКА(Счет.Код, 1, 2) = "68" ИЛИ ПОДСТРОКА(Счет.Код, 1, 2) = "69", , ) КАК ХозрасчетныйОстатки

Запрос.УстановитьПараметр("КПОстатки", Новый Граница(КП, ВидГраницы.Включая));
13 DrShad
 
28.11.11
12:37
(11) писать нужно правильно всегда, а не от случая к случаю
14 perkos
 
28.11.11
12:40
просто я в консоли смотрю, ОстаткиИОбороты на 23.59.58 и 23.59.59 сильно отличаются по счету, хотя в конце дня движений небыло
15 Kashemir
 
28.11.11
12:41
Все может быть гораздо проще - слетели итоги.
16 perkos
 
28.11.11
12:42
итоги пересчитал
17 Kashemir
 
28.11.11
12:46
Из-за систематических слетов итогов даже пришлось автопроверку лепить, дабы более менее оперативно устранять бока

Функция ПривПроверитьКорректностьИтогов(ПроверитьНаДату = Неопределено) Экспорт
   Если ПроверитьНаДату = Неопределено Тогда
       ПроверитьНаДату = КонецДня(ТекущаяДата());
   КонецЕсли;
   
   // простой тестовый запрос
   Запрос = Новый Запрос("ВЫБРАТЬ
                         |    ВложенныйЗапрос.СуммаКонечныйОстаток
                         |ИЗ
                         |    (ВЫБРАТЬ
                         |        ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток
                         |    ИЗ
                         |        РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, &ПроверитьНаДату, , , , , ) КАК ХозрасчетныйОстаткиИОбороты
                         |    
                         |    СГРУППИРОВАТЬ ПО
                         |        ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток
                         |    
                         |    ОБЪЕДИНИТЬ ВСЕ
                         |    
                         |    ВЫБРАТЬ
                         |        ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток
                         |    ИЗ
                         |        РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ПроверитьНаДату, &ПроверитьНаДату, , , , , ) КАК ХозрасчетныйОстаткиИОбороты) КАК ВложенныйЗапрос
                         |
                         |СГРУППИРОВАТЬ ПО
                         |    ВложенныйЗапрос.СуммаКонечныйОстаток");
   
   Запрос.УстановитьПараметр("ПроверитьНаДату", ПроверитьНаДату);
   
   Выборка = Запрос.Выполнить().Выбрать();
   Возврат НЕ Выборка.Количество() > 1;
КонецФункции
18 DrShad
 
28.11.11
12:49
(14) а в консоли нельзя установить границу!?
19 maxx079
 
28.11.11
12:51
(18) зачем тебе граница?
таблица Остатки возвращает данные на начало секунды, а Обороты и ОстаткиИОбороты - на конец секунды
от этого и прыгать
20 perkos
 
28.11.11
12:52
(19) но какая разница если движений небыло уже после 12АМ часов....
21 DrShad
 
28.11.11
12:53
(19) Описание:

Получает остатки по регистру бухгалтерии на заданный момент.
22 perkos
 
28.11.11
12:53
(= после 23 часов небыло никаких вдижений, какая разница между 23.59.58 и 23.59.59 для таблицы остатковИОборотов
23 DrShad
 
28.11.11
12:54
(22) читай (13)
24 perkos
 
28.11.11
12:55
(23) ну что ты одно да потому, зачем мне граница если не было движений рядом?
25 perkos
 
28.11.11
13:21
каюсь не углядел были движения в 23.59.59)=
26 DrShad
 
28.11.11
13:43
(25) дай угадаю - закрытие месяца
Независимо от того, куда вы едете — это в гору и против ветра!