Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 июн 2021, 12:05

Выбор в Табличном поле

Автор Gae4ka, 03 авг 2016, 14:27

0 Пользователей и 1 гость просматривают эту тему.

Gae4ka

Добрый день, знатоки.
Есть Табличное поле с таблицей значений.
Колонки: Флажок, Название поля, Значение поля.
Описала процедуру РабочаяТаблицаПриОкончанииРедактирования.
Все работает.
Колонка "флажок" и "название поля" - только просмотр
колонка "Значение поля" доступно для редактирования.
Мне нужно, чтобы при двойном клике на колонку "флажок" или "название поля" снимался или устанавливался флажок.
Прописала процедуру РабочаяТаблицаВыбор
   Если Колонка.Имя = "Флажок" или Колонка.Имя = "Название поля" тогда
      Стар = ВыбраннаяСтрока.Флажок;
      ВыбраннаяСтрока.Флажок= Не Стар;
   КонецЕСли;
Теперь колонка "Значение поля" невозможно отредактировать.
В отладке сразу переходит в процедуру "РабочаяТаблицаПриОкончанииРедактирования".
Что я делаю неправильно, или может если прописана процедура выбора, то редактировать эту Таблицу нельзя?
Помогите пожалуйста!

LexaK

выложите весь код процедуры РабочаяТаблицаВыбор
похоже что там вы есть такой код

СтандартнаяОбработка = Ложь;

если так, то уберите его.
ответ Понравился? (в смысле пригодился?)

Gae4ka

Цитата: LexaK от 03 авг 2016, 15:14
выложите весь код процедуры РабочаяТаблицаВыбор
похоже что там вы есть такой код

СтандартнаяОбработка = Ложь;

если так, то уберите его.
Я выложила весь код.
СтандартнаяОбработка = ЛОЖь мне не нужно,
т.к. колонки "Флажок" и "Название поля" имеют галочку "Только просмотр"

LexaK

Цитировать
Прописала процедуру РабочаяТаблицаВыбор
   Если Колонка.Имя = "Флажок" или Колонка.Имя = "Название поля" тогда
      Стар = ВыбраннаяСтрока.Флажок;
      ВыбраннаяСтрока.Флажок= Не Стар;
   КонецЕСли;

- это не похоже на весь код процедуры :fdbsdfbsd:
ответ Понравился? (в смысле пригодился?)

Gae4ka

Процедура РабочаяТаблицаВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
   Если Колонка.Имя = "Флажок" или Колонка.Имя = "НазваниеПоля" тогда
      Стар = ВыбраннаяСтрока.Флажок;
      ВыбраннаяСтрока.Флажок= Не Стар;
   КонецЕСли;
   
КонецПроцедуры

LexaK

Вроде все правильно. Пока других идей нет!
Можете весь .cf выложить? может что-то в настройках полей на форме?
ответ Понравился? (в смысле пригодился?)

Gae4ka

*.cf выложить, к сожалению, не могу.
Тоже думала про настройки полей, но странная вещь, если закомментировать всю процедуру, будто ее и нет, то все работает нормально.
Если закомментировать все, что в процедуре, а ее упоминание в модуле формы оставить, т.е. в процедуре ничего не выполняется, но она есть, то получаю такой глюк.
Причем колонка "Значение поля" видно, что переходит в режим редактирования на доли секунды и потом я попадаю в процедуру ПриОкончанииРедактирования.:( Просто беда какая-то.

LexaK

1.проверьте все события этой табличной части и какие процедуры связаны с ними. иногда бывает на разные события вызывается не та процедура.
2.попробуйте поочередно поотключать другие события.
3.попробуйте все события отлючить и по одному подключайте.
постарайтесь отловить момент когда сбивается режим работы.
это у вас неуправляемые формы, я у себя на неуправляемой форме попробовал добавить обработку события Выбор (пустую) все работает, ни чего не сломалось.
ответ Понравился? (в смысле пригодился?)

Gae4ka

Косяк крылся в процедуре ОбновлениеОтображение():o
А у меня там как раз извращение WshShell = Новый COMОбъект("Wscript.Shell");
Чтобы макет, который прорисовывается в соответствии с полями, которые выделены галочкой увеличивались в масштабе и были читабельны
Спасибо большое за помощь.

Теги:

Похожие темы (5)

59325

Ответов: 6
Просмотров: 1274

27535

Ответов: 2
Просмотров: 4420

43239

Ответов: 13
Просмотров: 6357

Рейтинг@Mail.ru Rambler's Top100

Поиск