Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Не пинайте ногами изучаю 1С недавно. Использую процедуру ПриВыводеСтроки(<Оформление строки>, <Данные строки>) для подстановки в значени в колонку (например, артикул для номенклатуры в табличном поле). Решил проверить когда возникает это событие и вставил команду Сообщить("Выводим") и увидел такие странности: 1. В табличной части одна строка, а ПриВыводеСтроки вызываетс 3 раза. Никаких ссылок на эту процедуру в тексте модуля нет. 2. Эта процедура вызывается не только во время прорисовки строк, но и при движении мышкой и при нажатии клавиш. Например все строки выведены и эта процедура уже не вызывается, но если переместить мышку или нажать клавиши в других элементах окна происходит вызов этой процедуры. Как же так? Получается обновление строк происходит постоянно и соответсвенно постоянно пересчет процедур (и возможно перечитывание данных из БД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 16:47 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Событие вызывается при перерисовке формы. Вместо "ПриВыводеСтроки" лучше использовать "ПриПолученииДанных" табличного поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 17:01 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Дак вся проблема в том, что я использовал и эту процедуру (ПриПолученииДанных) и там точно такая же фигня! Можете проверить. Вставьте в обработчик ПриПолученииДанных табличной части документа команду Сообщить("Входим"). Потом откройте документ, после того как отработает процедура и остановится, попробуйте мышку поведите вниз или вверх за пределы окна документа, а потом тоже верните её движением вверх или вниз на документ. Происходит вызов процедуры ПриПолученииДанных. У меня 1С 8.1.13.41 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 17:40 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
проблема в чем? медленно? Кэшируй в ТЗ, читай оттуда не дергая БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 17:52 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Да я понимаю, что можно решить через ТЗ, но блин о какой производительности (как рекламирует 1С) может идти речь при таком раскладе? При каждом движении мышки происходит поиск в ТЗ. Причем еще нужно отслеживать все изменения в табличной части чтобы кешировать (например добавление строки)... Офигеть. Я изменяю стандартную конфу 1С 8.1 Управление торговлей для Украины. Там практически в каждом документе есть обработка табличной части по обработчику ПриВыводеСтроки... Нда. Весело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 17:58 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
обычно на вывод строки ничего тяжелого не вешают... доп. поля выводят какие-нибудь не сложные и т.п. Никаких расчетов не делают. Ибо смысл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 18:06 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Мне, например, нужно выводить (требование отдела закупки) возле номенклатуры артикул поставщика. Артикул поставщика хранится в регистре сведений. Т.е. мне прийдется писать выборку в кеш и отслеживание изенений строк. И так по многим документам закупки. Ну что ж раз другого решения нет и 1С в очередной раз подсунула свинью, будем выкручиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 09:32 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Юрец, Вам же написали - пользуйтесь событием "ПриПолученииДанных" вместо "ПриВыводеСтроки", тогда все вопросы кэширования будут разруливаться системой по необходимости. Если в вашей типовой конфе "ПриВыводеСтроки" повсеместно используются - это бардак, меняйте. Иначе с производительностью действительно будут напряги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 10:55 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Я писал Дак вся проблема в том, что я использовал и эту процедуру (ПриПолученииДанных) и там точно такая же фигня! Можете проверить. Вставьте в обработчик ПриПолученииДанных табличной части документа команду Сообщить("Входим"). Потом откройте документ, после того как отработает процедура и остановится, попробуйте мышку поведите вниз или вверх за пределы окна документа, а потом тоже верните её движением вверх или вниз на документ. Происходит вызов процедуры ПриПолученииДанных. У меня 1С 8.1.13.41 Эта процедура ПриПолученииДанных делает тоже самое. Не верите проверьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 15:44 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
В "ПриПолученииДанных" вам возвращается набор строк, которые будут выведены в табличное поле. Их все можно обработать за один проход. По сравнению с "ПриВыводеСтроки" выигрыш очевиден. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:45 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
>>В "ПриПолученииДанных" вам возвращается набор строк, которые будут выведены в табличное поле. Их все можно обработать за один проход. нельзя. обрабатывается только то что выводится "на экран" + небольшой кэш. соответственно чем меньше ТЧ на форме и больше ТЧ в объекте - чем чаще будет срабатывать при скроллинге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:52 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
то что строка уже выводилась 1С "не помнит" и считает по новой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:53 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
Народ да просто проверьте в вышеуказанных процедурах добавьте команду Сообщить("Выводим") чтобы было легче отследить и посмотрите в каких случаях срабатывают эти обработчики. Они срабатывают НЕ ТОЛЬКО ПРИ ПОЛУЧЕНИИ ДАННЫХ но и при движении мышкой вверх/вниз за пределы окна документа. Т.е. получае6тся 1С постоянно получает данные при движении мыши? Это жесть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 13:05 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
ЮрецНарод да просто проверьте в вышеуказанных процедурах добавьте команду Сообщить("Выводим") чтобы было легче отследить и посмотрите в каких случаях срабатывают эти обработчики. Они срабатывают НЕ ТОЛЬКО ПРИ ПОЛУЧЕНИИ ДАННЫХ но и при движении мышкой вверх/вниз за пределы окна документа. Т.е. получае6тся 1С постоянно получает данные при движении мыши? Это жесть. раньше не было такого точно, ПриПолучениеДанных срабатывала, только при скроллинге ... сейчас проверять лень ибо скорее врете Вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 15:00 |
|
||
|
Как работает ПриВыводеСтроки?
|
|||
|---|---|---|---|
|
#18+
ЮрецНарод да просто проверьте в вышеуказанных процедурах добавьте команду Сообщить("Выводим") чтобы было легче отследить и посмотрите в каких случаях срабатывают эти обработчики. Они срабатывают НЕ ТОЛЬКО ПРИ ПОЛУЧЕНИИ ДАННЫХ но и при движении мышкой вверх/вниз за пределы окна документа. Т.е. получае6тся 1С постоянно получает данные при движении мыши? Это жесть. Если колесико крутить, да - будет скроллинг, будут данные подгружаться, будет "ПриПолученииДанных" срабатывать. Но только для новых строк, которые появляются при этом в поле списка . Обработчик "ПриВыводеСтроки" будет обрабатываться при отрисовке всех видимых строк. Поэтому будут лаги и траблы с производительностью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:34 |
|
||
|
|

start [/forum/topic.php?fid=28&gotonew=1&tid=1523939]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 291ms |

| 0 / 0 |
