Как быстро получить движения через Com соединение?

1. Coole 15.02.19 08:47 Сейчас в теме
Подскажите, пожалуйста. Как быстро получить движения через ком-соединение с базой.
ЗапросТЧ = Соединение.NewObject("Запрос");
	ЗапросТЧ.Текст =
	"ВЫБРАТЬ
	|*
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач,&ДатаКон, Регистратор, , , , , ) КАК ХозрасчетныйОбороты
	|ГДЕ
	|	ХозрасчетныйОбороты.Регистратор = &Ссылка";					    						
	ЗапросТЧ.УстановитьПараметр("Ссылка", Выборка.Ссылка);
	ЗапросТЧ.УстановитьПараметр("ДатаНач", ДатаНач);
	ЗапросТЧ.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
Показать

Вот так - очень медлено...((
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SedovSU@mail.ru 297 15.02.19 08:51 Сейчас в теме
попробуйте сделать не запросом, а на прямую к документу

Объект = Документ.ПолучитьОбъект();
Объект.Движения.Хозрасчетный.Выгрузить();
//или
Объект.Движения.Хозрасчетный.Прочитать();
6. Coole 15.02.19 09:55 Сейчас в теме
(2) ВыборкаТЧ = Выборка.Ссылка.ПолучитьОбъект().Движения.Хозрасчетный.Выгрузить();
Для Каждого СтрокаВыборки Из ВыборкаТЧ Цикл
не. типа пусто.
16. starik-2005 3039 15.02.19 10:23 Сейчас в теме
(6)
  Движения = Выборка.Ссылка.ПолучитьОбъект().Движения.Хозрасчетный;
  Движения.Прочитать();
  Для каждого Строка ИЗ Движения.Выгрузить() Цикл
.... // разного рода творческие изыскания и говнокод...
  КонецЦикла;
17. Coole 15.02.19 10:32 Сейчас в теме
(16)
Движения = Выборка.Ссылка.ПолучитьОбъект().Движения.Хозрасчетный;
Движения.Прочитать();
Для каждого Строка ИЗ Движения.Выгрузить() Цикл
.... // разного рода творческие изыскания и говнокод...
КонецЦикла;


Рабочий пример))) пишу дальше свой говнокод)))
18. starik-2005 3039 15.02.19 10:34 Сейчас в теме
(17) Фирма 1С предлагает отказаться от СОМ, ибо это уже нигде в серьезном мире не юзается - все взрослые мужики юзают HTTP-сервисы, на худой конец SOAP. Веб-сервер поднять - "как два пальца об асфальт" (с), так что я бы на Вашем месте забил бы на СОМ, и попросил бы бородатых админов поклацать клешнями чуток в сторону апача или, на очень худой их конец, IISы.
20. Coole 15.02.19 10:38 Сейчас в теме
22. starik-2005 3039 15.02.19 10:40 Сейчас в теме
(20) скоро не будет венды - будет планшет с андройдом или айосом, на которых нет СОМ-соединения. Что будете делать? Это как со смартфонами - вчера ни у кого нет, а сегодня у всех по два.
14. AlX0id 15.02.19 10:19 Сейчас в теме
(2)
Тогда уж лучше
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаРегистратор);
НаборЗаписей.Прочитать();

Зачем объект-то получать..
15. SedovSU@mail.ru 297 15.02.19 10:20 Сейчас в теме
(14) соглашусь, можно так. Даже лучше. Объект не надо делать
3. SedovSU@mail.ru 297 15.02.19 08:58 Сейчас в теме
Сам процесс создания объекта а потом его выполнения это как открыть новый сеанс, подгрузить все библиотеки и т.д. представьте это очень долго. Может быстрее будет на прямую считать записи из регистра по документу. Но не факт
4. Aitbay 15.02.19 09:05 Сейчас в теме
ком соединение всегда будет медленным почитайте про oData сам не пробовал но думаю будет самый быстрый вариант без изменения конфиги
а так сам давно перешел на htpp сервисы
starik-2005; +1 Ответить
5. AlX0id 15.02.19 09:55 Сейчас в теме
Если на каждый запрос будет создаваться ком-соединение - быстро не будет никогда.
Если устраивает один раз создать ком-соединение и делать запросы через него, но сам запрос медленный - попробуйте взять таблицу не оборотную, а просто таблицу регистра.
7. Coole 15.02.19 09:57 Сейчас в теме
(5) где вы видите, что создается новое ком-соединение?
ЗапросТЧ = Соединение.NewObject("Запрос"); - я ведь раз соединилась с базой?
Запрос не медленный, он такой как написано в (0)
8. SedovSU@mail.ru 297 15.02.19 10:08 Сейчас в теме
(7) Соединение?? это разве не ком объект???
11. SedovSU@mail.ru 297 15.02.19 10:17 Сейчас в теме
(8) так - да нового у вас нет соединения! неправильно я посмотрел.
10. AlX0id 15.02.19 10:14 Сейчас в теме
(7)
где вы видите, что создается новое ком-соединение?

Не вижу, но не знаю того, что не создается - потому стараюсь исключить. Самый тормозной момент в ком-соединении - инициализация.


(7)
ЗапросТЧ = Соединение.NewObject("Запрос"); - я ведь раз соединилась с базой?

Конкретно в этой строчке вообще всего лишь создан программный объект запроса - соединение с базой будет в момент выполнения.


(7)
Запрос не медленный

Тогда я может не понимаю вопроса - у вас два куска кода приведено в начальном посте - тормозит какой-то из них или оба?
12. Coole 15.02.19 10:18 Сейчас в теме
(10) удалила лишнее.
и еще открыт вопрос,
потому что кмк Выборка.Ссылка.ПолучитьОбъект().Движения.Хозрасчетный.Выгрузить();
Выборка - это ком документ и кмк я могу читать только простые типы - строка, дата, число и булево
9. login1020 133 15.02.19 10:09 Сейчас в теме
HTPP запросы наше всё, и быстрее и надежнее чем по Com Получать.
SedovSU@mail.ru; +1 Ответить
13. Coole 15.02.19 10:19 Сейчас в теме
(9) будьте добры рабочий пример?
и надо ли "публиковать" базу?
19. login1020 133 15.02.19 10:37 Сейчас в теме
(13) Публиковать Http Сервис, отвечающий за обмен
21. Coole 15.02.19 10:38 Сейчас в теме
23. login1020 133 15.02.19 10:44 Сейчас в теме
24. starik-2005 3039 15.02.19 10:46 Сейчас в теме
(21) компы слишком тяжелы. Останутся сервера в облаках.
25. Coole 15.02.19 10:47 Сейчас в теме
26. starik-2005 3039 15.02.19 10:48 Сейчас в теме
(25) А Вы присвойте его себе - он же ничейный и задаром )))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот