Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Фоновое обновление данных на клиенте, без любого зависания формы

Фоновое обновление данных на клиенте, без любого зависания формы
Я
   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
(14) Толстый.
   Max Braun
 
18 - 26.12.17 - 08:26
(16) Доступно.
   lodger
 
19 - 26.12.17 - 08:46
(17) еще и на обычных формах, небось?
   lodger
 
20 - 26.12.17 - 08:47
+ (19) файловая база?
   Max Braun
 
21 - 26.12.17 - 09:55
(20) Управляемые формы. Сейчас файловая. Позже будет перенесена на сервер.
   Asmody
 
22 - 27.12.17 - 11:55
(18) Тогда тебе бредовая идея на раздумье: обновлять данные на форме и данные в регистре отдельно. Т.е. при открытии форма читает данные из регистра. Открытая форма обновляет данные напрямую из источника. Параллельно в фоне обновляются данные регистра. Естественно, динамический список уже не пойдет.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует