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

20.11.09

Разработка - Универсальные функции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

Универсальные функции Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    631    8    user706545_kseg1971    0    

4

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1802    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    4371    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13259    4    alsen    3    

3

Формирование строки json в 1С: 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10045    malovandrey    1    

17

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18658    2    HAMMER_59    6    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Noy 1076 20.11.09 17:18 Сейчас в теме
Зачетно!
Вот только при такой схеме поиск пропадает (да, иногда приходится искать и по полю Количество!) :(
2. Berrimor 198 23.11.09 07:26 Сейчас в теме
(1) Ctrl+F3 никто не отменял
3. vip 23.11.09 08:02 Сейчас в теме
Сервис = СоздатьОбъект("Сервис");


Некрасиво создавать объект в каждой процедуре.
Достаточно один раз в модуле.
А еще лучше в глобальнике.
4. GSoft 2235 25.11.09 10:31 Сейчас в теме
интереснее было бы это была глобальная процедура, которая получала идентификаторы колонок программно в каждой форме и привязывала по порядку к цифровым клавишам
5. Berrimor 198 21.02.10 14:45 Сейчас в теме
(4) без применения класса Перехватчик 1СРР не получится, а ее использовать только ради этого не хотел. А в моем случае и вовсе - нужно всего в одном документе
6. xxi 01.10.12 22:05 Сейчас в теме
+/-
о=СоздатьОбъект("Сервис");о.ДобавитьГлобальныйМодуль("Процедура ПриНажатииКнопкиКлавиатуры(г,к,ф,п,а,б,с)Если(к=107)ИЛИ(к=109)Тогда Попытка г.ТекущийДокумент(); ф=г.Форма;Если ф.АктивныйЭлемент()=""Количество"" Тогда г.Количество=г.Количество+?(к=107,1,-1);ф.Обновить();с=0;КонецЕсли;Исключение КонецПопытки;КонецЕсли;КонецПроцедуры");
Оставьте свое сообщение