|   |   | 
| 
 | ПриВыводеСтроки - вешается комп и 1с | ☑ | ||
|---|---|---|---|---|
| 0
    
        Нуф-Нуф 11.11.11✎ 12:01 | 
        табличное поле в 3 колонки и в несколько строк
  если добавляю в процедуре ПриВыводеСтроки обработчик в котором меняю отображаемый текст в строке и меняю значение в таблице значений: // ОформлениеСтроки.Ячейки.СерияНоменклатуры.Текст = ""+ДанныеСтроки.СерияНоменклатуры.Номер+" "+Формат(ДанныеСтроки.СерияНоменклатуры.Дата,"ДФ=dd.MM.yyyy"); //ДанныеСтроки.НомерСтроки = ДанныеСтроки.Владелец().Индекс(ДанныеСтроки)+1; то работа вешается наглухо, начинаются дикие тормоза вплоть до того как 1с не закрою. кто сталкивался? | |||
| 1
    
        Maxus43 11.11.11✎ 12:02 | 
        //ДанныеСтроки.НомерСтроки    =  ДанныеСтроки.Владелец().Индекс(ДанныеСтроки)+1;
  вот это зачем? | |||
| 2
    
        Axel2009 11.11.11✎ 12:02 | 
        вывод строки зацикливается?     | |||
| 3
    
        Живой Ископаемый 11.11.11✎ 12:02 | 
        и этот человек называл копрокодом короткое имя переменной....     | |||
| 4
    
        Нуф-Нуф 11.11.11✎ 12:03 | 
        мне нужна нумерация строк в табличном поле
  (2) эээ походу точно. так как меняю таблицу значений - он снова ее пытается вывести? | |||
| 5
    
        Maxus43 11.11.11✎ 12:03 | 
        (4) номер тоже оформлением строки делай     | |||
| 6
    
        Нуф-Нуф 11.11.11✎ 12:03 | 
        (3) посыпаю голову пеплом... скопировал сей код с форума (кстати этого)     | |||
| 7
    
        Нуф-Нуф 11.11.11✎ 12:03 | 
        (5) ну да, так и сделаю. спасибо     | |||
| 8
    
        Нуф-Нуф 11.11.11✎ 12:04 | 
        (3) а короткое имя переменной - это копрокод     | |||
| 9
    
        guitar_player 11.11.11✎ 12:31 | 
        (8) пробелы в коде хоть поставь...     | |||
| 10
    
        hhhh 11.11.11✎ 12:35 | 
        (8) ну вот эта фигня
  ДанныеСтроки.СерияНоменклатуры.Номер это запрос в цикле. Хоть понимаешь? Обычно за такое сразу расстреливают. | |||
| 11
    
        Нуф-Нуф 11.11.11✎ 12:36 | 
        (10) о каком цикле идет речь?     | |||
| 12
    
        acsent 11.11.11✎ 12:38 | 
        (10) Если справочник состоит из пары полей, то ваще фигня     | |||
| 13
    
        Поручик 11.11.11✎ 12:40 | 
        (11) Процедура ПриВыводеСтроки вызывается фактически в цикле при отображении списка.
  И вообще ПриВыводеСтроки используют только лохи педальные. Пацаны ПриПолучении данных. | |||
| 14
    
        Нуф-Нуф 11.11.11✎ 12:44 | 
        (13) при получении данных ты предлагаешь обрабатывать всю табчасть?     | |||
| 15
    
        Нуф-Нуф 11.11.11✎ 12:44 | 
        т.е. офомление всех строк?     | |||
| 16
    
        Нуф-Нуф 11.11.11✎ 12:45 | 
        ктстати, выдержка из СП
  ТабличноеПоле.ПриПолученииДанных (TableBox.OnDataGet) Возникает при получении данных табличным полем, после обработки событий ПриВыводеСтроки. | |||
| 17
    
        Михаил Козлов 11.11.11✎ 12:49 | 
        Еще заметил (не знаю, прав ли), что ПриВыводеСтроки вызывается несколько раз. Похоже, что для каждой колонки, но до конца не разобрался.     | |||
| 18
    
        Нуф-Нуф 11.11.11✎ 12:49 | 
        ну где желающие поспорить?     | |||
| 19
    
        hhhh 11.11.11✎ 12:57 | 
        (17) при установке отбора вызывается. Поэтому если при открытии формы устанавливаешь отбор, то вызывается четко 2 раза для каждой строки.     | |||
| 20
    
        Axel2009 11.11.11✎ 13:14 | 
        (16) да никто не спорит. вопрос в том, что ДанныеСтроки.СерияНоменклатуры.Номер вызывается для каждой строки. а если в получении данных делать, тогда можешь получить для всех серий номера и присвоить     | |||
| 21
    
        Maxus43 11.11.11✎ 13:15 | 
        ПриВыводеСтроки вызывается при перерисовке строк в ТЧ, даже если размер окна поменяете - вывовется, чего гадать то     | |||
| 22
    
        Axel2009 11.11.11✎ 13:15 | 
        (19)+а еще если переключился между окнами, то при выводе строки вызывается еще раз =) в общем если в отладчике бацнуть бряк при выводе строки, то будет рекурсия     | |||
| 23
    
        Михаил Козлов 11.11.11✎ 13:22 | 
        (17) Видимо этот эффект был на старой платформе (может еще 8.0). Сейчас не заметил.
  Еще полезно завести кэш для уже выведенных строк, чтобы при скроллинге туда-сюда не лазить за данными. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |