Вход | Регистрация
    1  2
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Программное изменение размеров окна формы 1с 7.7 - подскажите решение

v7: Программное изменение размеров окна формы 1с 7.7 - подскажите решение
Я
   jah1111
 
16.08.20 - 15:24
Если оно существует
   jah1111
 
101 - 23.08.20 - 15:14
(95) что по этому поводу можете подсказать?
как перехватить активную ячейку ТЧ?
   jah1111
 
102 - 23.08.20 - 15:17
(101) точнее редактируемую ячейку ТЧ
   Mikeware
 
103 - 24.08.20 - 08:02
(101) что значит "перехватить"?
   jah1111
 
104 - 24.08.20 - 09:43
(103) двойной клик по ячейке (мигает курсор в ячейке) - как перехватить событие и обратится к ячейке?
   Mikeware
 
105 - 24.08.20 - 10:10
(104) Не Начало редактирования, а именно двойной клик?
тогда формексом.
   jah1111
 
106 - 24.08.20 - 10:47
(105) можно и НачалоРедактирования, но не ПриНачалеРедактированияСтроки так как событие касается всей строки, а начало редактирования конкретного элемента (ячейки ТЧ, к примеру).

пишу:
Перем ФокусКлв;

Процедура ПриНачалеРедактированияСтроки()
    ФокусКлв = Форма.АктивныйЭлемент();  // пытаюсь зафиксировать в глобальной переменной элемент ТЧ для редактирования 

        Шар = "Клава";                         
        Форма.ИспользоватьСлой("Основний,"+Шар,2);// появление на форме вирт. цифр. клавиатуры

    
КонецЕсли; 

Функция ПриВыбореЗначения(Об="")
    // Определение объекта фокуса ввода

    Если 
        Об  = "" Тогда 
        Об = Форма.АктивныйЭлемент(); 
    КонецЕсли; 
           //Клавиатура 

    Если (СтрДлина(Об)=3)и(Найти("0123456789",Сред(Об,3,1))>0) Тогда// клавиши (0..9)

        Поле=СокрЛП(Поле)+Сред(Об,3,1);                  //Поле ввода на форме куда вводится значение 

        Активизировать("Поле");                          
 
    ИначеЕсли Об="кнЕнт" Тогда                // кнопка Энтер

        ФокусКлв=СокрЛП(Поле);
        Поле = 0;
        Активизировать("ФокусКлв");
        Шар = "Кнопки";
        Форма.ИспользоватьСлой("Основний,"+Шар,2);    
    КонецЕсли
КонецФункции

такой код не работает, а как написать правильно - хз.
   Mikeware
 
107 - 24.08.20 - 11:19
(106) ПриНачалеВыбораЗначения - разве не работает?
извиняюсь, сам прловерить не могу - клюшек работоспособных под рукой просто нет.
   jah1111
 
108 - 24.08.20 - 11:29
(107) нет, кажется такой предопределенной процедуры у клюшек в аресенале не имеется
   trdm
 
109 - 24.08.20 - 11:39
(108) ПриНачалеВыбораЗначения - там есть
   obs191
 
110 - 24.08.20 - 11:39
Есть. См."Модуль формы - Предопределенные"
   jah1111
 
111 - 24.08.20 - 14:45
(110) есть, работает только при нажатии на кнопку выбора
   jah1111
 
112 - 24.08.20 - 16:50
алгоритм такой: если я начинаю редактировать  элемент "А" тогда выполняется то и сё, получается некоторое значение и присваивается элементу А
   Злопчинский
 
113 - 24.08.20 - 20:58
определи формально понятие "я начинаю редактировать"
   Duke1C
 
114 - 24.08.20 - 21:23
(111) Ну а как ты хотел? На то оно и ПриНачалеВыбораЗначения - ВЫБОРА, не ВВОДА
   jah1111
 
115 - 24.08.20 - 21:23
(113) если это ячейка в ТЧ, то это перевод ячейки в то состояние, которое возникае после дабл-клика на ней или enter  
ну смотрите... есть ТЧ, в ТЧ есть ячейки со значениями. Я хочу чтобы при двойном щелчке на ячейке открывалось модальная форма, где можна было б ввести (или исчислить) новое значение и по ОК присвоить его редактируемой ячейке. Также и с полями ввода.
Если я использую ПриначалеРедактированияСтроки, то не могу конкретно описатьв процедуре какому именно элементу надо присвоить значение.
Вот такое бы пригодилось, но не нахожу: ПриНачалеРедактирования(<елементпокоторомущелкаюмышей2раза>)

Процедура ПриНачалеРедактирования(елементпокоторомущелкаюмышей2раза)

Если елементпокоторомущелкаюмышей2раза = Вася Тогда
      Вася = значениекотороемненадоприсвоить;
КонецЕсли;

КонецПроцедуры
   jah1111
 
116 - 24.08.20 - 21:26
(114) ну начит яя хоттел приначалеввода, редактирования, изменения... с возможностью поймать елемент который начинают редактировать, изменять или в него вводить :) в семерке это нереализуемо?
   Duke1C
 
117 - 24.08.20 - 21:27
(115) Форма.АктивныйЭлемент() тебе в помощь
   jah1111
 
118 - 24.08.20 - 21:30
(117) посмотрите в код в (106) и подскажите что я делаю не так
   Duke1C
 
119 - 24.08.20 - 21:31
Типа:

Процедура ПриНачалеРедактированияСтроки()
    АктивЭлемем=Форма.АктивныйЭлемент();
    Если НомерСтроки>0 Тогда// На всякий случай

        Если АктивЭлемем="ТвойРеквизит" Тогда
                    СтатусВозврата(0);
                    ...Тут делаешь что тебе надо...
        КонецЕсли;
        КонецЕсли;
Конецпроцедуры
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.