Имя: Пароль:
1C
1С v8
Запретить редактирование части ячеек в поле табличного документа от изменения
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
чё-нить типа такого извращаться