Имя: Пароль:
1C
1С v8
Не могу изменить ОбластьЯчеекТабличногоДокумента
0 Gromover
 
04.03.15
16:09
В области есть свойство текст я не могу его изменить.
А свойство СодержитЗначение пишет что Недоступно для чтения.
Очистить текст могу процедурой очистить текст а записать туда ничего не могу как быть?
1 D_E_S_131
 
04.03.15
16:12
После того как ты получаешь какую-то область из готового таб.документа и что-то в ней меняешь, нужно эту область обратно поместить/вывести.
2 Ёпрст
 
04.03.15
16:17
(1) не нужно
3 EasyRider
 
04.03.15
16:18
область не прямоугольная?
4 Gromover
 
04.03.15
16:28
Область прямоугольная, 1 строка 27 колонок, вставлять в область он не дает так как выдает ошибку когда я пытаюсь изменить текст
5 EasyRider
 
04.03.15
16:32
(4) ищи почему СодержитЗначение не булево у тебя. Как булево станет,тогда установишь этому свойству ЛОЖЬ и сможешь заменить текст.
6 Necessitudo
 
04.03.15
16:35
А если взять просто одну ячейку и поменять текст?
7 mikecool
 
04.03.15
16:36
(0) текст надо менять поячеечно
8 Gromover
 
04.03.15
16:38
Искал, но так и не нашел, стоят полные права, но все равно СодержитЗначение стоит Недоступно для чтения и ничего не могу с ним сделать
9 mikecool
 
04.03.15
16:38
(8) и не сделаешь
10 Ёпрст
 
04.03.15
16:39
(8) оно тебе не нужно, меняй текст каждой ячейки в области
11 Gromover
 
04.03.15
17:04
из за того что стоит СодержитЗначение стоит Недоступно для чтения я не могу ничего изменить
12 Ёпрст
 
04.03.15
17:17
(11) больше кода
13 Gromover
 
04.03.15
17:29
Регист=РегистрыСведений.ДополнительныеФайлы.СоздатьНаборЗаписей();
Регист.Отбор.Данные.Установить(Отчет);
Регист.Прочитать();
Для каждого Наборзап из Регист Цикл
ТабДокХранилище2 = Наборзап.Файл.Получить();
Область2=ТабДокХранилище2.Область("Строка_2");
//Имя записывает
Область2.Имя="Имя 1";
//Текст не записывает
Область2.Текст = "Текст1";;
ТабДокХранилище.ВставитьОбласть(Область,,ТипСмещенияТабличногоДокумента.ПоВертикали);
Наборзап.Файл =  Новый ХранилищеЗначения(ТабДокХранилище);
Регист.Записать();
КонецЦикла;
14 Ёпрст
 
04.03.15
17:34
(13) а есть уверенность, что в ТабДокХранилище2 есть поименованные области ?
15 Gromover
 
04.03.15
17:51
да есть
16 Ёпрст
 
04.03.15
17:57
(15) ну так, что ле...

     Для НомерСтроки = 1 По Область2.ВысотаТаблицы Цикл
            Для НомерКолонки = 1 По Область2.ШиринаТаблицы Цикл
                Ячейка = Область2.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
                Сообщить(Ячейка.Текст);
                          //дальше можешь пихать туда что хочешь.. через Ячейка.Текст = блаблабла
        КонецЦикла;
    КонецЦикла;
17 Gromover
 
04.03.15
18:03
Область2 это ОбластьЯчеекТабличногоДокумента и у нее нет высоты и ширины таблицы
18 Ёпрст
 
04.03.15
18:04
(17) та ты шо ?
Как проверил ?
19 Gromover
 
04.03.15
18:06
В СП Можно посмотреть
20 Ёпрст
 
04.03.15
18:16
ну так тогда

Верх = Область2.Верх;
Низ = Область2.Низ;
    
Для НомерКолонки = Область2.Лево По Область2.Право Цикл

   Для НомерСтроки = Область2.Верх По Область2.Низ Цикл

            
        Ячейка = ТабДокХранилище2.Область.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
                Сообщить(Ячейка.Текст);
                          //дальше можешь пихать туда что хочешь.. через Ячейка.Текст = блаблабла
   КонецЦикла;
КонецЦикла;
21 Ёпрст
 
04.03.15
18:17
пилять..копипаста :)

Ячейка = ТабДокХранилище2.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
22 Gromover
 
04.03.15
18:19
ТабДокХранилище = Наборзап.Файл.Получить();
Область=ТабДокХранилище.ПолучитьОбласть("Строка_2").Область("Строка_2");
Область.Имя="Строка_126";
Область.Текст="26";
Пробовал и так но все равно текст не доступен
23 Gromover
 
04.03.15
18:20
Почитайте СП По табличному документу, я там ничего не нашел как мне обойти эту ситуацию
24 Ёпрст
 
04.03.15
18:21
(23) я тебе его и так могу написать, по-памяти..
25 Ёпрст
 
04.03.15
18:21
как в (20) что ?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан