К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Запрос к итогам по OLE

Гость
0 - 07.08.2012 - 20:55
собираю по OLE выписки за день из разных бухгалтерских баз. И вот косяк. Выбираются не все проводки, в конкретном примере 15 из 22.
Запрос в "родной" базе работает:
Ит = CreateObject("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.БанковскиеСче та,,1);
Ит.ВыполнитьЗапрос(НачДата, КонДата, "51,52",,, 1, "Проводка", "С");
Ит.ВыбратьСубконто();
Пока Ит.ПолучитьСубконто(1) = 1 Цикл

Счет = Ит.Субконто(1).Номер;
Сообщить(Счет);

Сч = 0;
Ит.ВыбратьПериоды(0);
Пока Ит.ПолучитьПериод() = 1 Цикл

Сч = Сч + 1;
Сообщить(Сч);
Сообщить(Ит.Операция.СодержаниеПроводки);
Дт = Ит.ВыбранаПоДт();
Кт = Ит.ВыбранаПоКт();
Опер = Ит.Операция;

СчетДт = Опер.Дебет.Счет;
СчетКт = Опер.Кредит.Счет;

КонецЦикла;
КонецЦикла;

а вот по OLE выбирает не все проводки выписки:
Ит = БазаOLE.CreateObject("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(БазаOLE.ВидыСубконто.Банко вскиеСчета,,1);
Ит.ВыполнитьЗапрос(НачДата, КонДата, "51,52",,, 1, "Проводка", "С");
Ит.ВыбратьСубконто();
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
......
что за заморочка. Заменены всего 2 строчки алгоритма



Гость
1 - 07.08.2012 - 23:12
Посмотрел, что не выбирает? С датами ничего не связано? Процедура OLE твою форму не видит... Как собственно, все окружение клиента.
Гость
2 - 07.08.2012 - 23:24
И вообще, если оле-сервер затягивает с ответом (при долгой выборке, например), клиент может потерять соединение с сервером. Где этот таймаут регулируется - мне неведомо.
Итог: не используй втуне.
3 - 08.08.2012 - 00:59
используй евал в фильтре по субконто.
.
Ит = Оле.CreateObject("БухгалтерскиеИтоги");

ОлеФ=Оле.CreateObject("Справочник.Фирмы");
ОлеК=Оле.CreateObject("Справочник.Контрагенты");
ОлеД=Оле.CreateObject("Справочник.Договоры");

ОлеФ.ВыбратьЭлементы();
Пока ОлеФ.ПолучитьЭлемент()=1
Цикл
Сообщить(СимволТабуляции+ТекущееВремя()+": выполняется запрос на извлечение бух.данных по "+ОлеФ.Наименование);
Ит.ИспользоватьСубконто(Оле.EvalExpr("ВидыСубконто .Контрагенты"));
Ит.ИспользоватьСубконто(Оле.EvalExpr("ВидыСубконто .Договоры"));
Ит.ИспользоватьРазделительУчета(ОлеФ.ТекущийЭлемен т());
Гость
4 - 08.08.2012 - 05:51
(1,2)По скорости работает нормально, но по OLE выборка обрывается на 15-ой проводке (сч=15). В родной базе - все ОК. Выбираю за 1 день
(3) щас попробую
Гость
5 - 08.08.2012 - 05:56
(3)c Eval выбирает, но точно также неправильно. Что за лажа такая
Гость
6 - 08.08.2012 - 06:30
вот щас просто скопировал выписку за другой день, то есть в одном дне 2 одинаковых. Родная база видит все проводки, по OLE только одну выписку
Гость
7 - 08.08.2012 - 07:11
морочил всем голову, все работает, смотрел в разных базах. ПипеЦ!! Приношу извинения ))
8 - 08.08.2012 - 07:52
Цитата:
Сообщение от USSR Посмотреть сообщение
ПипеЦ!! Приношу извинения ))
Значит пора в отпуск...


К списку вопросов






Copyright ©, Все права защищены