Имя: Пароль:
1C
1C 7.7
v7: 1c++ и точка актуальности
0 dk
 
01.06.17
14:00
Исходные
База1 MS SQL 2008, 1c++ 3.2.1.0
База2 MS SQL 2008, 1c++ 3.2.1.0
-----
MD баз условно одинаковые - База1 это потомок База2
-----
База1 - точка актуальности 01/06/2017 00:00:00
База2 - точка актуальности 31/05/2017 23:57:45
-----
Подключаюсь из База1 в Базу2

        Каталог1С    = "\\server\*****\";
        СерверSQL    = "server";
        БазаSQL        = "base";
        userSQL        = "sa";
        pwdSQL        = "***";
        
        БазаПодкл = СоздатьОбъект("ODBCDatabase");
        СтрокаСоединения = "DRIVER=SQL Server;SERVER="+СокрЛП(СерверSQL)+";UID="+СокрЛП(userSQL)+";PWD="+СокрЛП(pwdSQL)+";DATABASE="+СокрЛП(БазаSQL)+";";
        Если БазаПодкл.Соединение(СтрокаСоединения) = 0 Тогда        
            Сообщить("Не удалось подключится к базе " + БазаSQL + " - проверьте параметры подключения!");
            флНовыеМагазины = 0;
            //Возврат;
        Иначе
            ЗапросТорг = СоздатьОбъект("ODBCRecordSet");
            ЗапросТорг.УстБД(БазаПодкл);
        КонецЕсли;            

Проблема
Если получаю остатки через $РегистрОстатки.ТоварыПоСкладам(:ДатаКон~,,
и передаю в ДатаКон 01/06/2017, то База2 остатки не возвращает - пустышку выдает, если передаю 31/05/2017, то остатки норм возвращает
1 dk
 
01.06.17
14:01
если я в база2 получаю остатки через
$РегистрОстатки.ТоварыПоСкладам(:ДатаКон~,,
где ДатаКон = 01/06/2017 то остатки правильно возвращает, хоть и смотрю за ТА
2 Дык ё
 
01.06.17
15:03
включи ЗапросТорг.Отладка(1) и увидь :-)
3 dk
 
01.06.17
15:17
where rg5420_vt.period={d '2017-06-01'}
----
я так понимаю что он ТА смотрит в база1 поэтому и период берет новый
----
Проблема понятна, вопрос как с этим бороться?
4 Дык ё
 
01.06.17
15:31
(3) получай та из _1ssystem
5 Ёпрст
 
гуру
01.06.17
16:05
для ТА вообще дату можешь не передавать, тупо берешь с таблички итогов, без ВТ.
AdBlock убивает бесплатный контент. 1Сергей