Каталог решений - Переход к редактированию значения в цифровой колонке при нажатии на цифровую клавишу

Переход к редактированию значения в цифровой колонке при нажатии на цифровую клавишу

Переход к редактированию значения в цифровой колонке при нажатии на цифровую клавишу

В наличии

Переход к редактированию значения в цифровой колонке при нажатии на цифровую клавишу

Категория:

Описание

По анонсу все понятно, для работы нужен FormEX.DLL, интегрируется в модуль формы документа, в приведенном примере редактируем значение в колонке «Количество», как прикрутить к своей думаю прозрачно — разглагольствовать не буду

Перем РедКоличество;

//*****************************************************************************
Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши, Alt, Shift, Ctrl, Символ, ФСО)
    Если РедКоличество=1 Тогда
        Возврат;
    КонецЕсли;

    Если Форма.ТекущаяКолонка()=«Количество» Тогда
        Если (КодКлавиши>=96) И (КодКлавиши<=105) Тогда
            КодКлавиши=КодКлавиши—48;
        КонецЕсли;

        Если (КодКлавиши>=48) И (КодКлавиши<=57) Тогда
            РедКоличество=1;

            Сервис = СоздатьОбъект(«Сервис»);
            Сервис.SendKeys(«{ENTER}{DEL}»,1);
            Сервис.SendKeys(Симв(КодКлавиши));

            ФСО=0;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

//******************************************************************************
Процедура ПриНачалеРедактированияСтроки()

    Если Форма.ТекущаяКолонка() = «Количество» Тогда
        РедКоличество=1;
    КонецЕсли;

КонецПроцедуры //ПриНачалеРедактированияСтроки()

//*****************************************************************************
Процедура ПриОкончанииРедактированияСтроки(НовСтр)
    РедКоличество=0;
КонецПроцедуры

//*****************************************************************************
РедКоличество = 0;

при использовании такой реализации ф-ции ПриОкончанииРедактированияСтроки:

//*****************************************************************************
Процедура ПриОкончанииРедактированияСтроки(НовСтр)
    РедКоличество=0;

    Если (Форма.ТекущаяКолонка()<>«Количество») ИЛИ (НовСтр=1) Тогда
        Возврат;
    КонецЕсли;

    Сервис = СоздатьОбъект(«Сервис»);
    Сервис.SendKeys(«{DOWN}»);
КонецПроцедуры

получим еще и переход на следующую строку по завершающему редактирование ENTER-у

has been added to your cart:
Оформление заказа