|
Отображение а-ля лога в 1С в режиме реального времени | ☑ | ||
---|---|---|---|---|
0
Stepinrn
20.08.18
✎
11:34
|
Доброго времени суток, коллеги. Помогите, пожалуйста, решить одну проблему.
Есть УТ11 на управляемых формах, необходимо в форме списка справочника реализовать отображение "лога" действий системы. Суть примерно такая: в фоновом режиме с сайта грузятся определенные данные и нужно отображать эти данные в виде что-то типа лога в форме списка, например "Пришли данные 1", перенос строки, "Пришли данные 2". Я пытаюсь реализовать это через объект Форматированный документ ЧатЗаявок.Добавить("", Тип("ПереводСтрокиФорматированногоДокумента")); ЧатЗаявок.Добавить("Запись " + Формат(ТекущаяДата(), "ДЛФ=DDT"), Тип("ТекстФорматированногоДокумента")); Все это работает через обработчик ожидания и обновляется. Собственно сама проблема: при обновлении данных мне необходимо, чтобы фокус всегда был на последней записи, а он все время сбрасывается на начало. Можно ли как-то обойти эту проблему? Или может вообще как-то по-другому можно реализовать такую задачу? |
|||
1
Fedor-1971
20.08.18
✎
11:58
|
(0) У тебя хранятся полученные данные? Например, в РС
Вытащи их через ДС или таблицу значений (и то и другое позволяет сделать активной последнюю строку, как в принципе и заполнить оные в обратной последовательности) К стати, заполнение по убыванию даты решит твою проблему: последняя добавленная строка всегда будет первой |
|||
2
Stepinrn
20.08.18
✎
12:40
|
Да, данные хранятся и через таблицу значений самый очевидный вариант, но хотелось сделать красиво, чтобы как реалтайм лог ))
Через объект Форматированный документ не получилось сделать заполнение по дате убывания, а вот через текстовый документ получилось. Наверное этого будет достаточно )) |
|||
3
Cyberhawk
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
|
старый лог будет "вниз" уходить
|
|||
7
Vladal
20.08.18
✎
14:03
|
(0) "Собственно сама проблема: при обновлении данных мне необходимо, чтобы фокус всегда был на последней записи, а он все время сбрасывается на начало. Можно ли как-то обойти эту проблему? Или может вообще как-то по-другому можно реализовать такую задачу?"
Сделать как в новомодных блогах, каментах и фейсбуках - сверху последние записи. То есть сортировка по времени в обратном порядке. |
|||
8
Stepinrn
20.08.18
✎
15:58
|
(4) Не нашел как добавить поле HTML на управляемой форме
|
|||
9
Stepinrn
20.08.18
✎
15:59
|
(7) да, собственно так и сделал, с сортировкой в обратном порядке. Всем спасибо
|
|||
10
Сияющий в темноте
20.08.18
✎
22:00
|
В web программировании для этого есть insertAdjacentHTML,позволяющая вставлять содержимое в тело документа,а также можно использовать scrollIntoView,а вот в 1с придется извращаться с таблицей значений,хотя,если ее всегда позиционировать на последнюю строку,если она до этого стояла на последней строке,то все будет хорошо
вопрос только,как сделать,чтобы не гонять всю таблицу с клиента на сервер и обратно. |
|||
11
palsergeich
20.08.18
✎
22:23
|
Не надо так делать, что то мне говорит что это реализовано на ОбработчикеОжидания, не так давно в одной конфе 70% от общей нагрузки было от похожего механизма (200 юзеров раз в минуту дружно висели в лаге, когда шел запрос по РС), а самое главное, что он никому после показа был не нужен.
Уж если хочется чего то модного - сделайте через сервер взаимодействия, там вроде можно 1свским воспользоваться. |
|||
12
palsergeich
20.08.18
✎
22:24
|
(8) Реквизит формы - строка.
Тап элемента формы - связанного с этим реквизитом - Поле HTML Документа |
|||
13
Cyberhawk
20.08.18
✎
23:08
|
(11) Лаг из-за одновременного и конечно же неблокирующего чтения из БД? Что-то странно как-то
|
|||
14
Сияющий в темноте
21.08.18
✎
08:32
|
Если файловая опубликована на внбсервере,то будет просто жуть.А так,трудности будут у того,кто пишет в регистр.
но,можно же читать только измененные,то есть индекс по дате,и все,что больше и равно читать,тогда будет быстрее. в 1с нет блочного чтения файлов,так что на файлах не получится. |
|||
15
Мыш
21.08.18
✎
08:47
|
(14) > в 1с нет блочного чтения файлов,так что на файлах не получится
В последних релизах есть же. |
|||
16
Stepinrn
22.08.18
✎
11:45
|
(14) Чтение идет "только измененных", с индексом по дате.
Да, реализовано на обработчике ожидания, но раз в минуту считывается от 1 до максимум 5 записей, соответственно о тормозах тут речи нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |