|
Запретить редактирование части ячеек в поле табличного документа от изменения | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
17.02.15
✎
15:06
|
Доброго дня всем. Запутался в свойствах табличного документа и его поля в целом и в свойствах ячеек в частности. Мне надо, чтобы часть ячеек не могла быть отредактирована и реагировала на попытки расшифровки, а часть - подлежала редактированию для последующего использования внесенных пользователем значений.
На данный момент данные выводятся в табличный документ в цикле процессором вывода (это отчет на СКД), но думаю, тут тоже что-то надо менять, т.к. значения в ячейках получаются текстовые, и наверное, лучше бы они были ссылочные. Кучу разжеванного и разложенного по полочкам кода не прошу. Просто подскажите, в итоге для оптимального достижения результата каковы должны быть свойства реквизита "Результат" и поля на форме "Элементы.Результат" ? Сейчас они такие: Результат.ТолькоПросмотр = Истина Результат.Защита = Ложь Элементы.Результат.Доступность = Истина Элементы.результат.ТолькоПросмотр = Ложь Ну и в свойствах ячеек в макете СКД стоит везде "Защита" кроме тех ячеек, редактирование которых должно быть доступно пользователю. В итоге при таких делах сейчас пользователь может изменить в моем отчете любую ячейку; и попытки превратить нужные ячейки в ссылки безуспешны. (Но еще будет заполнение параметров расшифровки или смена вывода в цикле на использование СкомпоноватьРезультат() ). Как выводятся отчеты на форму в типовых - смотрел. Полезную информацию в инете - читал. СП - изучал. Все равно картинка в мозгу не сложилась :( |
|||
1
Ёпрст
17.02.15
✎
15:08
|
в мокселе всегда всё в тексте
|
|||
2
PiotrLoginov
17.02.15
✎
15:18
|
(1) в смысле к экселе? а мне эксель без надобности. Мне бы просто вывести табдок на форму так, чтобы пользователь мог не только расшифровывать некоторые ячейки, но и часть других ячеек редактировать . В принципе, будет ли ячейка заполняться текстом или же ссылочным значением - наверное не так уж важно (?)
|
|||
3
PiotrLoginov
17.02.15
✎
15:20
|
Уточню: управляемые формы.
|
|||
4
PiotrLoginov
17.02.15
✎
23:17
|
ап
|
|||
5
MaXpaT
18.02.15
✎
01:38
|
Процедура ТабличныйДокументПриАктивизацииОбласти(Элемент)
Если Области.КОличество()=1 Тогда ТекущаяОбласть = Области[0]; Если (ТекущаяОбласть<>Неопределено) Тогда Если (ТекущаяОбласть.Лево>6) И (ТекущаяОбласть.Верх>7) Тогда Массив = Новый Массив; Если ЭтаФорма.ВыделятьСтрокуЦеликом Тогда //Массив.Добавить(ТабДок.Область(ТекущаяОбласть.Верх,ТекущаяОбласть.Лево,ТекущаяОбласть.Верх,ТекущаяОбласть.Лево)); Массив.Добавить(ТабДок.Область(ТекущаяОбласть.Верх,1,ТекущаяОбласть.Верх,ТабДок.ШиринаТаблицы)); Массив.Добавить(ТабДок.Область(1,ТекущаяОбласть.Лево,ТабДОк.ВысотаТаблицы,ТекущаяОбласть.Лево)); Иначе //Массив.Добавить(ТабДок.Область(ТекущаяОбласть.Верх,ТекущаяОбласть.Лево,ТекущаяОбласть.Верх,ТекущаяОбласть.Лево)); Массив.Добавить(ТабДок.Область(5,ТекущаяОбласть.Лево,5,ТекущаяОбласть.Лево)); Массив.Добавить(ТабДок.Область(ТекущаяОбласть.Верх,5,ТекущаяОбласть.Верх,5)); КонецЕсли; Для Каждого ТекОбласть из Массив Цикл ТекОбласть.Узор = ТипУзораТабличногоДОкумента.Узор8; КонецЦикла; ВыделеннаяОбласть = Массив; //Элемент.УстановитьВыделенныеОбласти(Массив); //ТабличныйДокумент.ТекущаяОбласть = ТекущаяОбласть; //Элемент.ТекущаяОбласть = ТекущаяОбласть; ЭтаФорма.Элементы.ПолеТабличногоДокумента.Редактирование = ЭтаФорма.БыстрыйВвод; Иначе ЭтаФорма.Элементы.ПолеТабличногоДокумента.Редактирование = Ложь; //СтандартнаяОбработка = Истина; //ТабличныйДокументОбработкаРасшифровки(Элемент, ТекущаяОбласть.Расшифровка, СтандартнаяОбработка); КонецЕсли; КонецЕсли; КонецЕсли; |
|||
6
MaXpaT
18.02.15
✎
01:38
|
чё-нить типа такого извращаться
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |