Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 11:39

Изменение стандартной функции клавиши "Del" в документе

Автор APMEH19, 24 янв 2011, 11:51

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

APMEH19

Здравствуйте,
Помогомогите решить проблему.
При заполнении табличной части документа, нажатие клавиши "Del" приводит к удалению всей строки. Я хотел бы, чтобы при нажатии этой клавиши удалялось содержимое выделенной ячейки табличной части. Возможно ли провести перенастройку этой клавиши?
Никакая задача не покажеться невыполнимой, если разбить ее на маленькие части

Klyacksa

Конечно можно.
В процедуре "ПередУдалением" пишем что-то вроде:

Процедура ТабЧастьПередУдалением(Элемент, Отказ)
        ТекущаяСтрока=ЭлементыФормы.Табчасть.ТекущаяСтрока;
Если ТекущаяСтрока<>неопределено тогда
Отказ=Истина;
Попытка // на случай, если нельзя очищать поле. Например, поле "НомерСтроки"
ТекущаяСтрока[ЭлементыФормы.ТабЧасть.ТекущаяКолонка.Имя]=ПустоеЗначениеНужногоТипа;
исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецПроцедуры

ПустоеЗначениеНужногоТипа=Справочники.ИмяСправочника.ПустаяСсылка();

xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

APMEH19

Спасибо за ответ, но это не то.
Описанный Вами способ подразумевает замену операции удаления на другую операцию. При этом не важно, каким способом проделана операция удаления. Я же хочу только перепрограммировать клавишу "Del" на клавиатуре при работе в форме конкретного документа. То есть нажатие кнопки "Del" на клавиатуре должна привести к удалению значения в ячейке, нажатие кнопки "Удалить" на командной панели табличной части - к удалению всей строки.
Никакая задача не покажеться невыполнимой, если разбить ее на маленькие части

Klyacksa

Ну тогда так:
1. Переопределяем процедуру по кнопке "Удалить" в

Процедура КоманднаяПанель3Действие(Кнопка)
ТекущаяСтрока=ЭлементыФормы.ТабЧасть.ТекущаяСтрока;
Если ТекущаяСтрока<>Неопределено тогда
ДанныеРассылки.Удалить(ТекущаяСтрока);
КонецЕсли;
КонецПроцедуры

2. И оставляем процедуру ТабЧастьПередУдалением (из моего прошлого поста)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

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

Рейтинг@Mail.ru

Поиск