8.х Как передвигать курсор в табличном поле

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем RazeR, 21 апр 2009.

  1. TopicStarter Overlay
    RazeR
    Offline

    RazeR Опытный в 1С

    Регистрация:
    21 апр 2009
    Сообщения:
    250
    Симпатии:
    0
    Баллы:
    26
    Ситуация такая:

    Речь идет об Управлении торговлей релиз 10.3.6.8.
    Есть форма обработки Пакетный ввод документов, на которой присутствует табличное поле. В нем производится ввод данных о количестве товаров. Столбцы, в которые эти данные вводятся добавляются динамически. В типовом варианте после ввода числа в ячейку табличного поля курсор остается в этой ячейке. Для ускорения работы оператора необходимо в зависимости от выбранной настройки по окончании ввода передвинуть курсор на соседнюю ячейку либо вправо, либо вниз.



    Вопрос:

    Как определить текущее местоположение курсора (типа его координат) и сдвинуть его по строке или колонке? Я вижу, что у табличного поля есть Текущая строка и Текущая колонка и предполагаю, что если их указать, то курсор установится на их пересечении. Тогда остается только понять каким образом я могу получить ссылку на соседнюю строку или колонку, по отношению к текущим.
  2. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    по индексу строки/колонки
  3. TopicStarter Overlay
    RazeR
    Offline

    RazeR Опытный в 1С

    Регистрация:
    21 апр 2009
    Сообщения:
    250
    Симпатии:
    0
    Баллы:
    26
    В том то и дело что индексов я там не вижу... или может не знаю как к ним обратиться
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Смотри события ячеек ТП
  5. TopicStarter Overlay
    RazeR
    Offline

    RazeR Опытный в 1С

    Регистрация:
    21 апр 2009
    Сообщения:
    250
    Симпатии:
    0
    Баллы:
    26
    ну вот собственно кусок программы, который должен отрабатывать:

    Код:
    Индекс = ТаблицаДанных.Индекс(ЭлементыФормы.ТабличноеПолеДанных.ТекущаяСтрока);
    Если Индекс = - 1 Тогда 
    Возврат
    КонецЕсли;
    Индекс = ?(ТаблицаДанных.Количество() - 1 < Индекс + 1, Индекс, Индекс + 1);
    ЭлементыФормы.ТабличноеПолеДанных.ТекущаяСтрока = ТаблицаДанных[Индекс];
    
    при этом работает все, кроме выделенного присвоения..... хотя "ТаблицаДанных[Индекс]" находит следующую строку

    в чем может быть дело?

Поделиться этой страницей