Имя: Пароль:
1C
1С v8
Регистр сведений и эмуляция нажатия клавиши
, ,
0 Diamond905
 
15.05.14
14:13
Хочу чтобы при переходе на другую строку в регистре сведений удалял предыдущую если она не заполнена. Платформа же не дает сойти со строки пока не заполнишь ее хоть чем то. Как реализовать?
Пробовал так:

Процедура ТабличноеПоле1ПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
    Менеджер = Элемент.ТекущиеДанные;    
    Если НЕ ЗначениеЗаполнено(Менеджер.Номенклатура) Тогда
        Shell = Новый COMОбъект("WScript.Shell");
        Shell.SendKeys("{ESC}");
    КонецЕсли;
КонецПроцедуры

С надеждой что нажатие ESC решит проблему, но такое ощущение что вообще не прожимается..
1 vde69
 
модератор
15.05.14
14:15
мда...

а как ты переходишь на другую строку???
2 vde69
 
модератор
15.05.14
14:18
Процедура ТабличноеПоле1ПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)

если УдалятьНеНадо() Тогда
возврат;
конецесли

ОтменаРедактирования = истина;

если не новаястрока тогда
удалитьТекущуюСтроку()
Конецесли
КонецПроцедуры
3 Diamond905
 
15.05.14
14:20
(2) так а как текущую строку удалить?? Это обычные формы
4 SSSSS_AAAAA
 
15.05.14
14:21
(0) А какой смысл в создании новой пустой строки и удалении уже имеющейся точно такой же пустой строки? А просто перейти на первое поле этой уже имеющейся пустой строки чем не подходит?
5 vde69
 
модератор
15.05.14
14:22
Элемент.ТекущиеДанные смотри... разница есть чего у тебя за данные
6 Diamond905
 
15.05.14
14:26
(5) там регистрсведенийменеджерзаписи. Пробовал его метод удалить, данные очищает, но толку то..
7 Diamond905
 
15.05.14
14:28
(4) может вы не поняли.. Это табличное поле с данными регистрсведенийсписок. И Список этот редактируется интерактивно.. Т.е. при нажатии добавить появляется строка в которой можно что то ввести. А так как поле обязательное(измерение), если его не выбрать, он не дает сойти со строки. Сойти можно нажав Esc. Но хотелось бы чтобы просто мышью прожималось..
8 Kalambur
 
15.05.14
14:35
(7) ну это программировать надо
9 Diamond905
 
15.05.14
14:39
(8) спс кэп. Куда копать то? уже всяко разно пробовал.. Единственное что сделать таблицу значений, в нее грузить регистр, и с ней работать а по кнопке в регистр вписывать.. Хотелось бы избежать этого.
10 vde69
 
модератор
15.05.14
14:44
(7) мой код попробуй :) для новой строки нужно тупо
ОтменаРедактирования = истина;


и все....
11 Diamond905
 
15.05.14
14:53
(10) Попробовал. Вообще, это было первое что пробовал.. Нет, не дает сойти со строки
12 Diamond905
 
15.05.14
16:08
Еще варианты есть?
13 Diamond905
 
16.05.14
11:05
Эксперты, ау!