7.7 Как в ОбработкаЯчейкиТаблицы() узнать активную область

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

  1. TopicStarter Overlay
    Schtass
    Offline

    Schtass

    Регистрация:
    25 апр 2007
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Как в процедуре ОбработкаЯчейкиТаблицы() определить область выделенных ячеек. Параметр Адрес возращает адрес левой верхней ячейки в выделеной области.
  2. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    АктивнаяОбласть(<?>);
    Синтаксис:
    АктивнаяОбласть(<Адрес>)
    Назначение:
    Активизировать область таблицы. Возвращает строковое значение имени активной области или адрес в формате ''R1C1:R2C2'' до начала выполнения метода.
    Параметры:
    <Адрес> - необязательный параметр. Строковое выражение, задающее имя области или адрес в формате ''R1C1:R2C2''.
  3. TopicStarter Overlay
    Schtass
    Offline

    Schtass

    Регистрация:
    25 апр 2007
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Ругается на то, что такого метода нет. Пробывал обращаться к таблице напрямую и к параметру процедуры ОбработкаЯчейкиТаблицы(), в которое хранится таблица.
  4. TopicStarter Overlay
    Schtass
    Offline

    Schtass

    Регистрация:
    25 апр 2007
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Чъёорт! Неужто никто не знает? :unsure: Может есть какая-нить внешняя компонента, которая может это реализовать?
  5. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Ну включи мозги-то! У тебя твоя таблица как называется? "Таблица"? Вот и пиши: Таблица.АктивнаяОбласть().
  6. TopicStarter Overlay
    Schtass
    Offline

    Schtass

    Регистрация:
    25 апр 2007
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Имя таблицы Таб. Ниже фргамент процедуры
    Процедура ОбработкаЯчейкиТаблицы(Расшифровка,СтандартнаяОбработка,Табл,Адрес)
    СтандартнаяОбработка=0;
    Предупреждение(Таб.АктивнаяОбласть()); // Здесь использую переменную Таб - таблицу
    КонецПроцедуры


    Выходит ошибка:
    Предупреждение(Таб.АктивнаяОбласть());
    {D:\BASE\AVTOSALON\EXTFORMS\РЕЗЕР РАБОЧЕГО ВРЕМЕНИРАРУС.ERT(939)}: Поле агрегатного объекта не обнаружено (АктивнаяОбласть)


    Пробую писать следующий код:
    Процедура ОбработкаЯчейкиТаблицы(Расшифровка,СтандартнаяОбработка,Табл,Адрес)
    СтандартнаяОбработка=0;
    Предупреждение(Табл.АктивнаяОбласть()); // использую параметр Табл
    КонецПроцедуры


    Выпадает ошибка:
    Предупреждение(Табл.АктивнаяОбласть());
    {D:\BASE\AVTOSALON\EXTFORMS\РЕЗЕР РАБОЧЕГО ВРЕМЕНИРАРУС.ERT(939)}: Поле агрегатного объекта не обнаружено (АктивнаяОбласть)


    Что не так? В чем моя ошибка?
  7. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Твоя ошибка в том, что ты пытаешься использовать метод для обычной сформированной таблицы (о чем ты умолчал), а он работает только с таблицей в режиме ввода данных. А как ты хочешь определить активную область, если чтобы вызвать какое-либо действие надо кликнуть на конкретной ячейке (адрес которой передается в четвертом параметре используемой предопределенной процедуры)
  8. TopicStarter Overlay
    Schtass
    Offline

    Schtass

    Регистрация:
    25 апр 2007
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Прошу прощение за неправильно сформулированный вопрос. Объясню, как оно есть. Есть сформированная таблица, показывающая занятость цехов в разрезе интревалов рабочего времени. Нужно сделать так, чтобы менеджер выделял участок времени (область в сформированной таблице), нажимал кнопу Enter и автоматом сформировался документ с заполенным реквизитами "ВремяНачала" и "ВремяОкончания".

    Если нажимать Enter, выделенная область ячеек остается выделенной. При щелчке мышки выделяется та ячейка, которая попалась под мышку. Так вот мне нужно определить сколько интервалов времени (ячеек) выделил этот менеджер и нажал кнопку Enter.

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