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

1С:Предприятие ::

Метки: 

Отображение а-ля лога в 1С в режиме реального времени

Я
   Stepinrn
 
20.08.18 - 11:34
Доброго времени суток, коллеги. Помогите, пожалуйста, решить одну проблему.

Есть УТ11 на управляемых формах, необходимо в форме списка справочника реализовать отображение "лога" действий системы. Суть примерно такая: в фоновом режиме с сайта грузятся определенные данные и нужно отображать эти данные в виде что-то типа лога в форме списка, например "Пришли данные 1", перенос строки, "Пришли данные 2".

Я пытаюсь реализовать это через объект Форматированный документ

ЧатЗаявок.Добавить("", Тип("ПереводСтрокиФорматированногоДокумента"));
    ЧатЗаявок.Добавить("Запись " + Формат(ТекущаяДата(), "ДЛФ=DDT"), Тип("ТекстФорматированногоДокумента"));

Все это работает через обработчик ожидания и обновляется.

Собственно сама проблема: при обновлении данных мне необходимо, чтобы фокус всегда был на последней записи, а он все время сбрасывается на начало. Можно ли как-то обойти эту проблему? Или может вообще как-то по-другому можно реализовать такую задачу?
 
 
   Fedor-1971
 
1 - 20.08.18 - 11:58
(0) У тебя хранятся полученные данные? Например, в РС
Вытащи их через ДС или таблицу значений (и то и другое позволяет сделать активной последнюю строку, как в принципе и заполнить оные в обратной последовательности)

К стати, заполнение по убыванию даты решит твою проблему: последняя добавленная строка всегда будет первой
   Stepinrn
 
2 - 20.08.18 - 12:40
Да, данные хранятся и через таблицу значений самый очевидный вариант, но хотелось сделать красиво, чтобы как реалтайм лог ))

Через объект Форматированный документ не получилось сделать заполнение по дате убывания, а вот через текстовый документ получилось. Наверное этого будет достаточно ))
   Cyberhawk
 
3 - 20.08.18 - 13:37
Покажи на картинке
   Вафель
 
4 - 20.08.18 - 13:37
делай на html
   Адинэснег
 
5 - 20.08.18 - 13:45
(0) обратную сортировку сделай, чтоб вверху были последние события
   Адинэснег
 
6 - 20.08.18 - 13:45
старый лог будет "вниз" уходить
   Vladal
 
7 - 20.08.18 - 14:03
(0) "Собственно сама проблема: при обновлении данных мне необходимо, чтобы фокус всегда был на последней записи, а он все время сбрасывается на начало. Можно ли как-то обойти эту проблему? Или может вообще как-то по-другому можно реализовать такую задачу?"

Сделать как в новомодных блогах, каментах и фейсбуках - сверху последние записи. То есть сортировка по времени в обратном порядке.
   Stepinrn
 
8 - 20.08.18 - 15:58
(4) Не нашел как добавить поле HTML на управляемой форме
   Stepinrn
 
9 - 20.08.18 - 15:59
(7) да, собственно так и сделал, с сортировкой в обратном порядке. Всем спасибо
   Сияющий в темноте
 
10 - 20.08.18 - 22:00
В web программировании для этого есть insertAdjacentHTML,позволяющая вставлять содержимое в тело документа,а также можно использовать scrollIntoView,а вот в 1с придется извращаться с таблицей значений,хотя,если ее всегда позиционировать на последнюю строку,если она до этого стояла на последней строке,то все будет хорошо
вопрос только,как сделать,чтобы не гонять всю таблицу с клиента на сервер и обратно.
 
 Рекламное место пустует
   palsergeich
 
11 - 20.08.18 - 22:23
Не надо так делать, что то мне говорит что это реализовано на ОбработчикеОжидания, не так давно в одной конфе 70% от общей нагрузки было от похожего механизма (200 юзеров раз в минуту дружно висели в лаге, когда шел запрос по РС), а самое главное, что он никому после показа был не нужен.
Уж если хочется чего то модного - сделайте через сервер взаимодействия, там вроде можно 1свским воспользоваться.
   palsergeich
 
12 - 20.08.18 - 22:24
(8) Реквизит формы - строка.
Тап элемента формы - связанного с этим реквизитом - Поле HTML Документа
   Cyberhawk
 
13 - 20.08.18 - 23:08
(11) Лаг из-за одновременного и конечно же неблокирующего чтения из БД? Что-то странно как-то
   Сияющий в темноте
 
14 - 21.08.18 - 08:32
Если файловая опубликована на внбсервере,то будет просто жуть.А так,трудности будут у того,кто пишет в регистр.
но,можно же читать только измененные,то есть индекс по дате,и все,что больше и равно читать,тогда будет быстрее.
в 1с нет блочного чтения файлов,так что на файлах не получится.
   Мыш
 
15 - 21.08.18 - 08:47
(14) > в 1с нет блочного чтения файлов,так что на файлах не получится

В последних релизах есть же.
   Stepinrn
 
16 - 22.08.18 - 11:45
(14) Чтение идет "только измененных", с индексом по дате.

Да, реализовано на обработчике ожидания, но раз в минуту считывается от 1 до максимум 5 записей, соответственно о тормозах тут речи нет.


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