|
Фоновое обновление данных на клиенте, без любого зависания формы
|
Я
|
|
Max Braun 25.12.17 - 20:53 | Есть сервис-биржа, предоставляет котировки. С помощью предоставленного API данные в 1С (запись в регистр сведений в фоновом задании) поступают каждые 2 секунды. Необходимо отображать таблицу на форме и отражать изменения в таблице на форме, без каких либо прогрузок и подвисаний.
Текущий вариант это через ПодключитьОбработчикОжидания() + фоновое задание для записи данных с сервиса + обновление дин списка где
данные из того регистра. Но тоже самое обновление дин списка на короткое время вешает форму. Проблема обострилась после того как помимо котировок таким же образом было добавлено онлайн обновление сделок на бирже.
Вопрос:
Есть ли какие то варианты обновления данных таблицы(дин списка), таблицы(ТЗ) на форме без каких либо подвисаний, что то типа ajax на web страницах?
Какие могут быть варианты реализации? Есть ли что-то вроде обновления клиентской формы в другом сеансе\потоке? |
nordbox 1 - 25.12.17 - 20:58 | ( 0) ИМХО, спрыгнуть с 1с, она для биржи и вообще такого не предназначена. |
Max Braun 2 - 25.12.17 - 21:01 | ( 1) Так и не прийдя к нормальному решению, я начинаю склоняться к этому. Просто задача относительно примитивная. Хотел вести учёт данных и тп. а нормальный клиентский вариант средстваи 1С сделать не получается. |
nordbox 3 - 25.12.17 - 21:13 | (2) просто 1с не для таких фокусов )
ну выпендриться можно конечно ))
писать для этого отдельную конфу, которая бы пасла биржу, а из нее, данные поступали бы например по Com в другую базу |
Юрий Лазаренко 4 - 25.12.17 - 21:15 | Выводи в поле html документа. Можно тем же Аяксом.
|
Сияющий в темноте 5 - 25.12.17 - 21:24 | Если вместо динамического списка сделать таблицу значений,то ее можно обновлять построчно,исключая подвисания,но они будут в момент первоначального заполнения таблицы
кроме того,в таблице на форме не работают индексы
|
Max Braun 6 - 25.12.17 - 21:24 | ( 4) Хотелось ещё со строками таблицы котировок сделать некоторое взаимодействие, типа установки ордеров. А через поле HTML это будет устроить сложнее. Как сказано выше
>> ну выпендриться можно конечно ))
, но это не тот путь. ( |
Max Braun 7 - 25.12.17 - 21:27 | ( 5) Я так понимаю обновляться таблица будет так же через ПодключитьОбработчикОжидания. При первоначальном заполнении - да. В таблице ~ 46 валютных пар и для того же обновления уже имеющихся строк потребуется время... что скорее всего так же будет вызывать подвисание клиентской формы. |
Max Braun 8 - 25.12.17 - 21:30 | Идеально обновление данных это без ПодключитьОбработчикОжидания - ИМХО. Но такое кажется невозможно, при этом что б не было зависаний.
|
H A D G E H O G s 9 - 25.12.17 - 21:32 | ( 8) Ну вы хотя бы посмотрите, попадает ли запрос в индекс. |
H A D G E H O G s 10 - 25.12.17 - 21:33 | Или в РС всего 46 записей всегда?
Рекламное место пустует |
Max Braun 11 - 25.12.17 - 21:34 | ( 10) Если биржа введет новые валюты, то количество изменится. |
DmitrO 12 - 25.12.17 - 21:49 | Боже мой. 46 записей, что там может подвисать.
И зачем там дин. список. ТЗ надо делать.
|
Max Braun 13 - 25.12.17 - 22:03 | ( 12) Помимо котировок, теперь там ещё последнии 100(записей - другой дин список) сделок и ещё ордера где то по 50(записей - 2 других списка). Я разнёс всё по вкладкам(что б списки обновлялись только если вкладка определенная открыта) - это снизило зависания. Это работает - но не без тормозов формы.
Приходит 100 последних сделок(каждые 2 секунды обновляется список) и в этот момент надо быстро поставить ордер на продажу, а форма каждые 2 сек вызывает притормаживание - и это сильно мешает.
+ Когда эта форма(с котировками) открыта, вызовы ПодключитьОбработчикОжидания и я так понимаю обновление списка вызывает изменение курсора при работе на любой форме конфигурации. |
DGorgoN 14 - 25.12.17 - 23:33 | Толстый или тонкий клиент?
|
DGorgoN 15 - 25.12.17 - 23:35 | Может так?
http://catalog.mista.ru/public/182139/
Получаем фоном потоком сведения и далее перебирая изменяем на форме. |
Asmody 16 - 25.12.17 - 23:52 | Напомните, пожалуйста, HTTPСоединение доступно на клиенте?
|
Max Braun 17 - 26.12.17 - 08:26 | |
Max Braun 18 - 26.12.17 - 08:26 | |
lodger 19 - 26.12.17 - 08:46 | ( 17) еще и на обычных формах, небось? |
lodger 20 - 26.12.17 - 08:47 | |
Max Braun 21 - 26.12.17 - 09:55 | ( 20) Управляемые формы. Сейчас файловая. Позже будет перенесена на сервер. |
Asmody 22 - 27.12.17 - 11:55 | ( 18) Тогда тебе бредовая идея на раздумье: обновлять данные на форме и данные в регистре отдельно. Т.е. при открытии форма читает данные из регистра. Открытая форма обновляет данные напрямую из источника. Параллельно в фоне обновляются данные регистра. Естественно, динамический список уже не пойдет. |