"Частичное" обновление формы списка

17.09.09

Разработка - Работа с интерфейсом

Уменьшаем время обновления перегруженной расчетными колонками формы списка, используя "кэш" и анализируя вид обновления: "действие пользователя" и "общее обновление формы"

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Частичное обновление формы
.1253002338 28,08Kb
38
38 Скачать (1 SM) Купить за 1 850 руб.

Конфигурация 1С:7.7,  демонстрирует реализацию
частичного обновления формы списка. Частичное обновление
может быть необходимо, если на форме списка размещено много
дополнительных текстовых расчетных колонок, значение в каждой
из которых рассчитывается для каждой видимой строки в форме и
может занимать довольно продолжительное время. Прилагательное
"частичное" условно, - форма обновляется целиком, однако, полный
расчет производится не для всех значений. Часть  значений берется
из сохраненного "кэша" - объекты "Таблица" + "DBF", часть значений
не отображается вообще, если превышено заданное время обновления
формы.
Текущая запись, на которую переходит пользователь, обновляется
без условий. Полное обновление формы, происходящее, например, при
смене родителя, увеличении размера формы, распознается по
порядку обновления (выполняется перед обновлением текста на форме),
обрабатывается с использованием "кэша" и ограничивается по времени.

Особенности исполнения:
Все расчетные значения в колонках обращаются к одной общей функции
ОбновлениеФормы(<НомерКолонки>), которая делегирует сам расчет в
функцию РасчитатьКолонку(<НомерКолонки>). Эту функцию нужно изменить
под Вашу форму списка (см. также "заремаренный" вариант).

В скачиваемом файле - конфигурация-пример с формой списка справочника,
в которой 10 расчетных колонок с задаваемым временем пересчета одной
 записи и  значением-ограничителем общего времени обновления формы.

См. также

Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Создание и использование на формах в среде 1С 7.7 прогрессбара, индикатора, как в 1С 8.Х для контроля над длительными процессами. Реализовано средствами языка программирования 1С 7.7.

1 стартмани

06.06.2024    707    1    user1416274    17    

2

Работа с интерфейсом Логистика, склад и ТМЦ Системный администратор Программист Пользователь Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

5000 руб.

18.10.2022    5849    1    45    

4

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v7.7 Абонемент ($m)

Обработка с фрагментами кода для программного использования набора цветов из коллекции WebЦвета 1с версии 8+ в 1с версии 77. Требуется предварительное подключение сторонней библиотеки FormEх. Будет полезно программистам 1с 77, 1с 8. Да и вообще при программировании на любом языке при потребности использовать коллекцию цветов WebЦвета.

1 стартмани

30.03.2022    4964    2    igor7777    4    

6

Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Публикация имеет цель обратить внимание на возможность улучшения интерфейса.

15.12.2021    4837    71    Cерый    13    

7

Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020    7419    4    vap_pig    5    

4

Учет рабочего времени Работа с интерфейсом Программист Бухгалтер Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработка производственного календаря с возможностью импорта и экспорта xls для 1С 7.7 (7.70.027) без изменения конфигурации.

1 стартмани

18.09.2019    12996    6    Jill    8    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2709 15.09.09 12:41 Сейчас в теме
Михаил, пощади! :) Мне отчитываться, я ничего не понял, а чувствуется, что-то содеРждательное есть. Поясни в личку, о чем речь, войди в положение.
2. Shaman100M 1151 15.09.09 12:43 Сейчас в теме
3. Ёпрст 1065 15.09.09 13:32 Сейчас в теме
16. Shaman100M 1151 15.09.09 15:02 Сейчас в теме
Ёпрст, приветствую. Я очень уважительно отношусь к твоим разработкам, попытаюсь ответить на большинство вопросов.
(3) "Мегатормоз" - Так и задумано было сделать "тормознутую" форму, чтобы на ней потренироваться. Наверно, стоит сделать "прямой", некешированный режим обновления, чтобы сравнить.
(4) "не видны значения..." - это результат работы ограничения времени обновления формы
(7), (14) "разные значения" - так задумано, чтобы видеть какие записи обновляются полным пересчетом, а какие - кешируются (значения не меняются)
4. Ёпрст 1065 15.09.09 13:36 Сейчас в теме
+Не видны значения ...только если мышой тыкнуть..
В общем,решение однозначно в топку.


5. Ёпрст 1065 15.09.09 13:38 Сейчас в теме
В разы быстрее - ТабличноеПоле+ поставщиком прямой запрос.
6. Арчибальд 2709 15.09.09 13:39 Сейчас в теме
(3-5)
А поподробней? Я тебе верю, но не безоговорочно ;)
7. Ёпрст 1065 15.09.09 13:49 Сейчас в теме
(6) Скачай да посмотри сам..
:)
Да еще:

Смотрим на скриншот, на значения "Элемент 6 - 13"..
Или остальных...

Это нормально??????

http://i081.radikal.ru/0909/44/8c1f4e862105.jpg
9. Арчибальд 2709 15.09.09 13:52 Сейчас в теме
(7)
Уфф...
Все сам, да сам... :(
11. JohnyDeath 302 15.09.09 13:56 Сейчас в теме
(9) посмотри на класс ПоставщикДанных от vandalsvq http://www.1cpp.ru/forum/YaBB.pl?num=1248941896
Там красиво, через ТП, но за универсальность тоже немножко платить.
8. Ёпрст 1065 15.09.09 13:52 Сейчас в теме
А когда юзверь при открытии справочника видит ЭТО
http://i050.radikal.ru/0909/e7/a7358b52a2ae.jpg
(половины значений нет)
он с ума не сойдет ?
При условии, что значения появляются только при клике мыши.. да и то, всегда разные!

:))
13. Арчибальд 2709 15.09.09 14:18 Сейчас в теме
(8) Разные значения - к делу не относится.
(12) Скачал. Кликал, кликал. Ну и что?
Фичу мы как-то уже обсуждали. Какая связь?
Может, оффтоп, тогда в личку объясни бестолковому, пожалуйста :(
14. Ёпрст 1065 15.09.09 14:30 Сейчас в теме
(13) Разные значения к делу не относятся ????????????
Это как ?
У (0) всегда разные значения в вычисляемых колонках, что при клике мыши. что при работе стрелочками.

>>>Какая связь?

Прямая.. Вызов формулы в вычисляемых текстовых колонок зависит от наличия идентификатора в ней.
15. Арчибальд 2709 15.09.09 14:35 Сейчас в теме
(14) Вот последнюю фразу я понял...
А разные значения автор ведь сам устраивает, для иллюстрации (скажем, работы других юзеров)
10. Ёпрст 1065 15.09.09 13:53 Сейчас в теме
+8 и тормозит всё это..не по-детски..

:)
12. Ёпрст 1065 15.09.09 14:03 Сейчас в теме
(0)
Да... еще.
По-поводу вызова формулы в текстовом реквизите..есть одна фича.
Можешь сам догадаться, скачав это и понажимая на кнопарь "Кто видимый?"
Там - штатная "ловля" только видимых на экране элементов формы списка...
Можешь порастягивать форму и понажимать на эту кнопку.

http://webfile.ru/3921964
17. Shaman100M 1151 15.09.09 15:09 Сейчас в теме
(12) у меня так и сделано, только значения кидаются не в список, а в ТЗ + DBF (типа, индекса к ТЗ)

(15) именно так и есть.

Вопрос к Ёпрст. Вот, что у меня так и не получилось сделать, - это найти текущий элемент в списке значений при общем обновлении формы. Функция обновления значения вызывается <Кол-во колонок> х <Кол-во видимых элементов> раз, причем, слева-направо, сверху-вниз. Фича - текущий элемент формы списка обновляется последним. Хотелось бы его как-то обновить за первый проход, но определить, что это и есть текущий - не получается. Приходится определять его в обработке ожидания и обновлять форму еще раз через Форма.Обновить(), ловить его в функции обновления и обновлять без использования кеша. Может, есть какой другой способ?
18. Арчибальд 2709 15.09.09 15:13 Сейчас в теме
(17) Вот это как раз по адресу вопросец :)) И я ответ хочу :))
25. Shaman100M 1151 16.09.09 10:07 Сейчас в теме
(18) кстати, про обновление текущего элемента, есть вариант: порядок обновления элементов - "видимый", т.е. его можно программно спрогнозировать, - узнать текущий порядок сортировки, наличие отборов, размещение групп, иерархию, уровень. И текущий элемент (если он не в конце списка) прекрасным образом выпадает из этого порядка, его можно сразу.... Ну, а если порядок не нарушался, вызывать обработку ожидания.
19. Ёпрст 1065 15.09.09 15:16 Сейчас в теме
(17) проще забить :)
Как правило, все вычисляемые колонки имеют идентификатор, чтоб была возможность рулить видимостью колонки..
Лучше всё же прямой запрос.
Там и отборы и сортировка.. и не тормозит :)

20. Shaman100M 1151 15.09.09 15:28 Сейчас в теме
(19) используя спецсимвол "забой" ? ))) (FF)

Так, а в чем разница между обновлением колонки с идентификатором и без него? По конфе из (12) , - задание идентификатора колонке (в форме справочника) с ф-цией ДобавитьВСписок() ничего, вроде бы не меняет, - выдается тот же список видимых записей.
21. Ёпрст 1065 15.09.09 15:51 Сейчас в теме
(20)
Каюсь... попутал с табличной частью документа..
Там, если есть текстовая колонка в таб. части дока, то:
если писать Форма.Обновить()

Если есть идентификатор у колонки - вычисляться будут ВСЕ строки
если нет - только видимые...
Shaman100M; Арчибальд; +2 Ответить
22. Арчибальд 2709 15.09.09 15:56 Сейчас в теме
(21) Ёпрст, как приятно (и полезно) пообщаться :))
23. Shaman100M 1151 15.09.09 15:56 Сейчас в теме
(0) обновил. Обновленные записи показываются красным (подсмотрел у Ёпрст), возможно отключение кэширования формы.
24. Арчибальд 2709 15.09.09 15:58 Сейчас в теме
(23) У него чего только не подсмотришь :D
26. Shaman100M 1151 16.09.09 14:13 Сейчас в теме
(0) обновил. Обновление текущего элемента теперь работает без лишних движений
27. n949eo 09.11.11 12:09 Сейчас в теме
Оставьте свое сообщение