7.7 Редактирование ячеек таблицы программно

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

  1. TopicStarter Overlay
    littlefrankie
    Offline

    littlefrankie

    Регистрация:
    14 дек 2006
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Допустим вывел я таблицу: таб.Показать();
    теперь мне надо отредактировать значение какой либо ячейки при двойном щелчке на неё (отредактировать программно, например, чтобы при двойном щелчке минус менялся на плюс, и параллльно выполнялся кое какой код).
    Это делается через ОбработкаЯчейкиТаблицы(<?>,,,) вроде бы...
    Но непойму как именно! :unsure:
  2. PrizrakR
    Offline

    PrizrakR

    Регистрация:
    11 окт 2006
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    читаем в хелпе по указанной процедуре

  3. TopicStarter Overlay
    littlefrankie
    Offline

    littlefrankie

    Регистрация:
    14 дек 2006
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    гений блин. вопрос внимательнее читай!!!
    вроде нашел как выйти из положения: перевести таблицу в т. н. режим ввода данных. При открытой вкладке "Таблица" жмем действия->свойства формы. Там отмечаем: использовать таблицу->для ввода данных. Она появится прямо на форме. Дальше щас буду трахаться, то есть разбираться...
  4. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Можно и так, но таблица в режиме ввода данных не всегда подходит. Решение проблемы:

    ОБ=Секция.Область("R22C2");
    ОБ.Текст=спрНом.ТекущийЭлемент();
    ОБ.ЦветФона(255,255,0);

    //обработчик события двойного щелчка по ячейке
    Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица,Адрес)
    ОБ=Таблица.Область(Адрес);
    ОБ.Текст="+";
    КонецПроцедуры // ОбработкаЯчейкиТаблицы
  5. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    И, насколько я помню, надо еще раз показать таблицу (для отображения изменений)
  6. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Форма.Обновить();

    и еще чтобы получить секцию:
    Секция = Таб.ПолучитьСекцию("Основная");
  7. abaz
    Offline

    abaz Опытный в 1С

    Регистрация:
    13 май 2007
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Метод Обновить() для объекта "Форма" обновляет отчет?
    Просто сам не пробовал еще :unsure:
  8. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Немного напутал однако, Обновить() работает в режиме ввода данных, а в отчете нужно использовать метод Очистить() и заново заполнить.
  9. abaz
    Offline

    abaz Опытный в 1С

    Регистрация:
    13 май 2007
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Если знаешь, расскажи пжлста в новой Теме (называется "Обновление и настройка отчетов" )

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