Имя: Пароль:
1C
1С v8
Подскажите как настроить поле колонки на форме списка (толстый 8,2)
, ,
0 Pendalff
 
21.05.13
14:16
упп на 8.2.17.157
Есть форма списка регистра, там есть измерение Номенклатура.
на форму списка добавлена колонка (поле ввода, строка неогр. дл.)
при выводе строки списка в ячейку этой колонки устанавливается текст:

Процедура РегистрСведенийСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

       ОформлениеСтроки.Ячейки.МояКолонка.ОтображатьТекст=Истина;
       ОформлениеСтроки.Ячейки.МояКолонка.Текст =  ОформлениеСтроки.Ячейки.Номенклатура.Значение.Наименование;
       ОформлениеСтроки.Ячейки.МояКолонка.Значение = ОформлениеСтроки.Ячейки.Номенклатура.Значение.Наименование;
               
КонецПроцедуры


В результате вывода, текст в колонке появляется, но когда начинаю редактировать значение в ячейке ее содержимое исчезает, выхожу из режима редактирования текст ячейки возвращается на место.
Как настроить режим редактирования ячейки текстовой колонки, чтобы можно было выделить-скопировать это значение присвоенное при выводе строки?!?!?!
извиняюсь за столь подробный дурацкий вопрос, мозг уже сломал об это поле ввода...
1 Pendalff
 
21.05.13
14:20
Все свойства поля ввода и ячейки пересмотрел, может что пропустил, вроде нигде это свойство не учитывается :(
2 ДенисЧ
 
21.05.13
14:25
вот тут один чудик таким озадачивался...
v8: Табличное поле и доп. колонки
3 kosts
 
21.05.13
14:31
(0)
ОформлениеСтроки строки может быть равно Неопределено - получишь ошибку.
Для твоей колонки установи свойство Данные.
4 Pendalff
 
21.05.13
14:35
(3) а что написать в данные? тип "Строка" или имя колонки?
5 kosts
 
21.05.13
14:36
(4) Имя реквизита который хочешь редактировать.
6 Pendalff
 
21.05.13
14:38
программно?
дело в том что среди реквизитов только предопределенные измерения/ресурсы регистра, а это динамическая колонка-Строка. ее имя удастся воткнуть в данные?
7 kosts
 
21.05.13
14:40
(6) Определи сперва для себя куда должны попасть "средактированые" тобой значения в новой колонке.
8 Pendalff
 
21.05.13
14:42
(7) с этим нет никаких проблем.
мне нужно чтобы была возможность редактировать присвоенный при выводе строки текст в ячейке.
Когда я пытаюсь это делать этот текст исчезает...
9 kosts
 
21.05.13
14:43
(8) > присвоенный при выводе строки
Где этот текст должен сохраниться после того как ты нажмешь Ентер?
10 Pendalff
 
21.05.13
14:46
в свойство Данные можно установить только имя предопределенного реквизита...

(9) В этом случае для поля ввода колонки сработает событие "ПриИзменении" и там я уже поймаю введенное значение.

Пролема в том как выделить/скопировать текст ячейки присвоенный здесь:

Процедура РегистрСведенийСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

       ОформлениеСтроки.Ячейки.МояКолонка.Значение = ОформлениеСтроки.Ячейки.Номенклатура.Значение.Наименование;
               
КонецПроцедуры
11 hhhh
 
21.05.13
14:47
(10) а тебе никогда не приходило в голову, что процедура в (0) выполняется ежесекундно много раз и мгновенно затирает все твои изменения. Купи хорошую видеокамеру, тогда если пускать в замедленном режиме, увидишь, свои изменения. Но потом стартует твоя эта суперпроцедура и снова запишет в ячейку ОформлениеСтроки.Ячейки.Номенклатура.Значение.Наименование
12 Pendalff
 
21.05.13
14:49
(11) Согласен, и это правильно, мне вовсе не нужно чтобы там осталось введенное значение.
Мне нужно войдя в режим редактирования ячейки, выделить/скопировать ее текст.
13 Pendalff
 
21.05.13
14:52
как мне объяснить пользователю что если есть ячейка со значением и ее можно редактировать - а скопировать или выделить ее текст нельзя?
можно только ввести новый :)
14 Pendalff
 
21.05.13
14:56
или придется дерево рисовать на форме из-за такой ерунды :((
15 kosts
 
21.05.13
14:59
(13) > скопировать или выделить ее текст нельзя
В смысле?

Возможно не нужно элемент управления прицеплять.
16 kosts
 
21.05.13
15:00
Для вывода текста этого достаточно:

ОформлениеСтроки.Ячейки.МояКолонка.УстановитьТекст("Привет Мир!");
17 Pendalff
 
21.05.13
16:31
(16) Спасибо, но ничего не изменилось.
введенный ранее текст исчезает в режиме редактирования :(
18 kosts
 
22.05.13
06:37
(17) Ты уже определись копировать нужно или редактировать.

Вот так вполне можно скопировать выведенный текст.

Процедура РегистрСведенийСписокПриПолученииДанных(Элемент, ОформленияСтрок)
   
   Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
       ОформлениеСтроки.Ячейки.МояКолонка.УстановитьТекст("Привет Мир!");
   КонецЦикла;
   
КонецПроцедуры

Колонка = ЭлементыФормы.РегистрСведенийСписок.Колонки.Вставить(1, "=");
Колонка.Имя = "МояКолонка";
Колонка.Ширина = 50;
Колонка.ИзменятьПозицию = Ложь;
Колонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;
Колонка.ИзменятьВидимость = Ложь;
Колонка.ИзменятьНастройку = Ложь;