| 
    
        
     
     | 
    
  | 
Последняя строка ДокументСписок | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Popovnm    
     29.06.12 
            ✎
    09:21 
 | 
         
        Всем привет.
  
        Есть форма списка документов. На ней реквизит типа "ДокументСписок". Вопрос - можно ли как то программно поставить курсор на последнюю строку списка документов?  | 
|||
| 
    1
    
        Popovnm    
     29.06.12 
            ✎
    09:22 
 | 
         
        Ах да, забыл добавить - 1С 8.2 толстый клиент     
         | 
|||
| 
    2
    
        kosts    
     29.06.12 
            ✎
    09:26 
 | 
         
        (0) при открытии?     
         | 
|||
| 
    3
    
        golden-pack    
     29.06.12 
            ✎
    09:26 
 | 
         
        ТабличноеПоле.ТекущаяСтрока (TableBox.CurrentRow)
  
        ТабличноеПоле (TableBox) ТекущаяСтрока (CurrentRow) Использование: Чтение и запись. Описание: Содержит текущую строку табличного поля. Доступность: Толстый клиент. Примечание: Тип значения строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов. См. также: ТабличноеПоле, свойство ТекущаяКолонка  | 
|||
| 
    4
    
        golden-pack    
     29.06.12 
            ✎
    09:27 
 | 
         
        (2) естествено перед открытием     
         | 
|||
| 
    5
    
        ale-sarin    
     29.06.12 
            ✎
    09:27 
 | 
         
        (0) В пользовательских настройках можно это поставить. Не катит?     
         | 
|||
| 
    6
    
        Popovnm    
     29.06.12 
            ✎
    09:33 
 | 
         
        Спасибо за отзывы. при открытии стоит - позиционировать на последней строке. Но если пользователь изменяет отбор, курсор остается на середине списке. (я понимаю что есть клавиша end, но пользователям это не удобно и необходимо, чтобы при смене отбора курсор вставал на последнюю строку)     
         | 
|||
| 
    7
    
        golden-pack    
     29.06.12 
            ✎
    09:47 
 | 
         
        (6) че спасибо - СП читай.     
         | 
|||
| 
    8
    
        Popovnm    
     29.06.12 
            ✎
    09:51 
 | 
         
        Читаю, и что же я вижу:
  
        ДокументСписок.<Имя документа> (DocumentList.<Имя документа>) Свойства: Колонки (Columns) Отбор (Filter) Порядок (Order) Методы: Обновить (Refresh) Описание: Предназначен для управления списком документов, отображаемым в табличном поле. Доступность: Сервер, толстый клиент, внешнее соединение. Здесь нет методов для перебора строк. Поэтому и спрашиваю - можно ли как то установить курсор на последнюю строку? Да и вообще коллеги, сюда обращаются за помощью, а не за фразами "СП читай". Если нашел что-то в помощнике, будь добр выложи, облегчи решение задачи.  | 
|||
| 
    9
    
        Jaap Vduul    
     29.06.12 
            ✎
    10:01 
 | 
         
        (8) Есть два способа:
  
        1. Определить ссылку документа, который с учётом текущих настроек списка (сортировка, отборы) должен быть последним и применить к нему (3). 2. sendkeys  | 
|||
| 
    10
    
        ssh2006    
     29.06.12 
            ✎
    10:08 
 | 
         
        (8) Сделать все это можно, но имхо брось эту затею, костыль какой-то, а то еще будешь париться как определить смену отбора пользователем. Хотя если это какая-то спец форма и нужно чего-то там быстро делать, отбор повешен на свои кнопки, ну может быть...
  
        Можно, например, передать текущий отбор списка в построитель запроса, определить ссылку и применить (3)  | 
|||
| 
    11
    
        Popovnm    
     29.06.12 
            ✎
    10:19 
 | 
         
        "Определить ссылку документа, который с учётом текущих настроек списка (сортировка, отборы) должен быть последним и применить к нему (3). "
  
        Хм, я правильно понимаю, что при смене отбора, можно делать запрос на текущие условия отбора и сортировку, искать ссыль на документ и затем... Текущая строка - передается тек строка документа, как её вытащить? Отбор, вытаскиваем строку, ставим старый отбор и устанавливаем тек строку? По моему там "огород" будет, ляжет форма списка)) SendKeys - сейчас ищу инфу, попробую затестить. "ssh2006" - "отлов" смены отбора я реализовал, затык именно на установке последней строки.  | 
|||
| 
    12
    
        Popovnm    
     29.06.12 
            ✎
    11:04 
 | 
         
        В общем все получилось - спасибо (9).
  
        Появился такой код в форме: Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок) СтрокаОтбора = Строка(ДокументСписок.Отбор); Если Не (мГенераторКлавиш = Неопределено Или мТекущийОтбор = СтрокаОтбора) Тогда мТекущийОтбор = СтрокаОтбора; Этаформа.ТекущийЭлемент = ЭлементыФормы.ДокументСписок; мГенераторКлавиш.SendKeys("{END}"); КонецЕсли; КонецПроцедуры мГенераторКлавиш = Новый COMОбъект("Wscript.shell"); Переключается на ок. Отлов отбора может и "кривоват", но в моем случае отбор идет в большинстве по 2-м реквизитам, имена элементов у них уникальные.  | 
|||
| 
    13
    
        kosts    
     29.06.12 
            ✎
    12:14 
 | 
         
        (12) Да, событие явно подходящее. Всё время будет на последнюю строку скакать, по делу и без...     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |