Имя: Пароль:
1C
1C 7.7
v7: Проблема с точкой акутальности
0 batmansoft
 
11.11.13
10:06
Добрый день.
Делаю так:
    ВремРегистры                     = СоздатьОбъект("Регистры");
    ВремОстаткиТМЦ                  = ВремРегистры.ОстаткиТМЦ;
    ВремОстаткиТМЦ.ВременныйРасчет(1);
    ВремРегистры.РассчитатьРегистрыПо(мДата);
Если ставлю дату, равную ТА, то говорит, что
"{C:\1CBASE\ШАРКАН\ТПФ\ОБРАБОТКИ\ВЫГРУЗКА НА САЙТ.ERT(330)}: Не могу рассчитать временные итоги после ТА!"
подскажите пожалуйста, как лечить?
1 Mikeware
 
11.11.13
10:07
ТА - это не только дата, но еще и время
2 dk
 
11.11.13
10:08
просто проверять,
если Мдата < ПолучитьДатуТА() Тогда
   ВремРегистры.РассчитатьРегистрыПо(мДата);
3 1dvd
 
11.11.13
10:11
Если ИтогиАктуальны()=1 Тогда
4 1dvd
 
11.11.13
10:12
а, стоп. обработка. тогда СравнитьТА()
5 1dvd
 
11.11.13
10:13
тьфу, (4) сторно.
Не читайте меня сегодня. Я с будуна
6 batmansoft
 
11.11.13
10:19
(2) В этом случае если дата равна или больше точки актуальности, никаких итогов вообще нету, пусто.
7 1dvd
 
11.11.13
10:20
(6)

Если Мдата < ПолучитьДатуТА() Тогда
    ВремОстаткиТМЦ.ВременныйРасчет(1);
    ВремРегистры.РассчитатьРегистрыПо(мДата);
8 batmansoft
 
11.11.13
10:36
Спасибо всем, сделал так:
    Если мДата < ПолучитьДатуТА()  Тогда
        ВремРегистры.РассчитатьРегистрыПо(мДата);
    иначе
        ВремРегистры.РассчитатьРегистрыПо(ПолучитьПозициюТА());
    КонецЕсли;
Работает
9 batmansoft
 
11.11.13
10:37
(7) спасибо, тоже. Это я так понимаю, что бы лишний раз не рассчитывало итоги?
10 Mikeware
 
11.11.13
10:39
(9) на ТА у тебя итоги уже есть.
11 Ёпрст
 
11.11.13
10:40
(8) код в топку.
12 Cthulhu
 
11.11.13
11:10
// (8): На ТА у тебя и так всё есть без ВР.
Если Если мДата <= ПолучитьДатуТА()
    ВремРегистры=СоздатьОбъект("Регистры");
    ВремОстаткиТМЦ=ВремРегистры.ОстаткиТМЦ;
    ВремОстаткиТМЦ.ВременныйРасчет(1);
    ВремРегистры.РассчитатьРегистрыПо(мДата);
КонецЕсли;
13 Cthulhu
 
11.11.13
11:11
// тьхублин
ВремРегистры=СоздатьОбъект("Регистры"); ВремОстаткиТМЦ=ВремРегистры.ОстаткиТМЦ;
Если Если мДата <= ПолучитьДатуТА()
Тогда ВремОстаткиТМЦ.ВременныйРасчет(1); ВремРегистры.РассчитатьРегистрыПо(мДата); КонецЕсли;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.