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

17.09.09

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

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

Скачать файлы

Наименование Файл Версия Размер
Частичное обновление формы
.1253002338 28,08Kb
37
.1253002338 28,08Kb 37 Скачать

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

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

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

См. также

1С:Фото номенклатуры 7.7 - решение для работы с фотографиями номенклатуры в 1С:7.7 (включая формат PNG)

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

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

5000 руб.

18.10.2022    5162    1    45    

3

WebЦвета для 1с77 FormEx

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

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

1 стартмани

30.03.2022    4543    2    igor7777    4    

5

К привязкам элементов форм (1С 7.7, FormEx)

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

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

15.12.2021    4467    62    Cерый    13    

6

Выбор цвета для 1С 7.7

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

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

1 стартмани

09.06.2020    7025    3    vap_pig    5    

3

Производственный календарь для 1С 7.7

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

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

1 стартмани

18.09.2019    12580    6    Jill    8    

3

Альтернативная обработка "Выбор периода"

Работа с интерфейсом Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Альтернативная обработка ввода периода для 1С 7.7.

1 стартмани

27.03.2019    6588    3    v.a.n-    11    

2

Несколько табличных частей в 1С:7.7 - это просто

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

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    22421    27    Gkmy    11    

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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