Имя: Пароль:
1C
1С v8
Вопрос по ПривестиЗначение() в 8.1
0 DSSS
 
03.03.12
16:34
Доброго дня.
Есть ТЧ документа, один из реквизитов которой имеет составной тип: строка(100) и СправочникСсылка.Номенклатура
Есть форма этого документа, в которой находится эта ТЧ. Нужно, чтобы при интерактивном редактировании этого реквизита тип не выбирался, а всегда вводился в виде строки.
Сейчас работает так:
В обработчике НачалоВыбора этой колонки:

Элемент.ОграничениеТипа = Новый ОписаниеТипов("Строка");
   Значение = Элемент.Значение;
   Элемент.Значение = Элемент.ОграничениеТипа.ПривестиЗначение(Значение);
   Элемент.ВыбиратьТип = Ложь;

Все нормально работает, если перед редактированием нажать на пиктограмку выбора(...)
Если этот же код поместить в обработчик ПриАктивацииЯчейки табличного поля, то поле вввода колонки нельзя редактировать пока не нажата кнопка выбора(...)
Вопрос: как избавится от необходимости нажатия на пиктограмму выбора?! Может можно сделать как-то по другому? нужно чтобы при интерактивном редактировании всегда вводилась строка.
Спасибо.
1 DSSS
 
03.03.12
17:11
Никто не сталкивался?
2 kosts
 
03.03.12
17:13
(0) Элемент.Значение = ""; Так вроде можно
3 DSSS
 
03.03.12
17:17
(2) Тоже самое.
Редактирование текста начинается только после нажатия на кнопку выбора(...)
4 Kreont
 
03.03.12
17:26
СтандартнаяОбработка = Ложь;
5 acsent
 
03.03.12
17:31
при активизации ячейки еще нет элемента
6 DSSS
 
03.03.12
17:31
(4) А в каком обработчике?
7 Kreont
 
03.03.12
17:33
....НачалоВыбора(Элемент, СтандартнаяОбработка)
8 DSSS
 
03.03.12
17:35
(7) Начало выбора сработает когда я нажму (...), мне как раз от этого нужно избавиться
9 kosts
 
03.03.12
17:37
Вот

Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
   
   т = ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока;
   Если НоваяСтрока Тогда
       т.Реквизит1 = "";
   КонецЕсли;

КонецПроцедуры
10 DSSS
 
03.03.12
17:40
(9) Спасибо тебе!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.