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
| Значит пора в отпуск... | |
| Интернет-форум Краснодарского края и Краснодара |