7.7 Как считать курсор, установленный интерактивно в ТЗ?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем dim3740, 25 мар 2010.

  1. TopicStarter Overlay
    dim3740
    Offline

    dim3740 Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    93
    Симпатии:
    0
    Баллы:
    26
    1. ТабЗначений сформировали и вывели в диалог обработки. Мышкой кликнули ячейку или ячейка "засинилась" по поиску контекста . Нажали "Кнопку" диалога и запустили процедуру "Обнаружить синее". Какой код (метод) этой процедуры?
    2. Можно аналогично первому, но таблица выводится в печатную форму? (Может быть проще, а может, наоборот....).
  2. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Иcпользуя FormEX
    Код:
    ПолучитьКоординатыТекущейЯчейки(<?>,,,,)
    
    
    Вам нужно просто для получения значения текущей ячейки?
  3. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Есть атрибут:
    и методы:
    Код:
    ТекущаяСтрока(<Строка>)
    Назначение:
    Установить/определить текущую строку таблицы в элементе диалога типа ''ТаблицаЗначений''. Возвращает число, соответствующее индексу текущей строки поля диалога (до его изменения), или 0, если текущей строки нет.
    

    По второму пункту - только через расшифровку ячейки (первый вариант реализовать проще)
  4. TopicStarter Overlay
    dim3740
    Offline

    dim3740 Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    93
    Симпатии:
    0
    Баллы:
    26
    Да, если под "текущей" ячейкой (строкой, колонкой) понимаем не элемент ТЗ на котором позиционируемся в ходе исполнения кода модуля, а именно КУРСОР как "засиненая" ячейка. И, мне кажется, что тогда действительно применение ВК необходимо. Но есть и следующий после Вашего ответ, противоречащий этому. Не понятно....

    Спасибо. Нет ли у нас расхождения в понимании понятия "текущей строки"?

    В целом мне надо поисково-отборочный алгоритм: по контекстному (подстрока) поиску (интерктивному - системное поле с "биноклем") находим ячейку на форме, а далее выполняем процедуру сортировки (отбора и т.п.) используя полное значение реквизита ячейки.
  5. dedalx7
    Offline

    dedalx7 Опытный в 1С

    Регистрация:
    20 май 2009
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    26
    Хм. Надеюсь я правильно понял...

    Кроме .ТекущаяСтрока() есть еще и .ТекущаяКолонка(), возвращающая строковое представление колонки.

    Например...

    Запишем в поле "Формула" элемента ТабЗначений "ОбработкаТабЗначений()", и в теле можно написать что-то вроде этого:
    Код:
    Процедура ОбработкаТабЗначений()
    
    Если ТабЗначений.ТекущаяКолонка() = "СуммаБезНДС" Тогда         
    ТабЗначений.Сортировать(ТабЗначений.ТекущаяКолонка());
    
    КонецЕсли;
    КонецПроцедуры
    
    
    То-есть если пользователь дважды кликнул по полю Сумма без НДС, вся таблица отсортируется по значению этого поля. Естественно, можно убрать проверку на наименование колонки и тогда сортировка пойдет по тому полю по которому ткнул юзер.

    Кроме того есть метод .ПолучитьЗначение(<строка>,<колонка>), который можно использовать так:

    Код:
    Процедура ОбработкаТабЗначений()
    
    Перем ИскомоеЗначение;
    
    ИскомоеЗначение = ТабЗначений.ПолучитьЗначение(ТабЗначений.ТекущаяСтрока(),ТабЗначений.ТекущаяКолонка()) ;
    
    //делаем с искомым значением все что нам заблагорассудиться      
    
    КонецПроцедуры
    
    
    

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