Имя: Пароль:
1C
1С v8
Работа с табличным полем
0 NordMad
 
05.08.15
10:12
Есть такое задание
Необходимо реализовать вывод «шахматной доски» в табличное поле (не путать с табличным документом), расположенное на форме обработки. Реализовывать эту часть задания необходимо в той же обработке, в которой выполнялось первая часть. Направление вывода «шахматной доски» пользователь должен выбирать при помощи переключателя.

Выделение ячеек шахматной доски в этом варианте возможно не только цветом, но и рисунками, цветом текста, рамками (их толщиной, цветом и наличием/отсутствием) и тд. Главное условие при выборе способа выделения – «шахматная доска» должна быть заметна с первого взгляда – без дополнительных усилий.

создал в обработке реквизит табличное поле, кинул на форму. Но никак не получается задать размер путем программного добавления столбцов и строк. Подскажите через что можно сделать через Элементы (формы), через Объект, или же создать ТЗ и выгрузить в табличную часть? (хотя это тоже пробовал, выгрузить получается почему то только строки а столбцы не добавляются)
1 ДенисЧ
 
05.08.15
10:14
.СоздатьКолонки() коворил?
2 Chameleon1980
 
05.08.15
10:14
А ЭлементыФормя.НашаТП.создатьКолонки() есть?
3 NordMad
 
05.08.15
10:18
(2) "ЭлементыФормя" я так понимаю в 8.3 управляемые формы - можно обращаться только к Элементы. ЭлементыФормы не понимает
4 NordMad
 
05.08.15
10:19
(1) .СоздатьКолонки() это чей метод?
5 ДенисЧ
 
05.08.15
10:36
(4) Ctrl-F1
6 NordMad
 
05.08.15
10:40
(5) нет такого в хэлпе, видимо это всё таки из более ранних версий. вроде как в 8.2 такое было
7 hhhh
 
05.08.15
11:03
(6) вы включите в хелпе все версии. Зачем вы хелп урезаете?
8 NordMad
 
05.08.15
11:05
(7) я с ним ничего не делал, какой был в бесплатной версии такой и включил. вы можете привести пример как задать нужную размерность в табличном поле?
9 hhhh
 
05.08.15
11:09
"создал в обработке реквизит табличное поле" - создайте колонки еще у этого реквизита.
10 NordMad
 
05.08.15
11:11
(9) :)) я бы в таком случае не спрашивал. пользователь должен задать количество строк и столбцов. как сделать это программно?
11 hhhh
 
05.08.15
11:15
асКол = Новый Массив;
Для Каждого КолТаб Из ТекТаб.Колонки Цикл
    
    РеквКол = Новый РеквизитФормы(КолТаб.Имя, КолТаб.ТипЗначения, НаимТаблицы, КолТаб.Имя);
    МасКол.Добавить(РеквКол);
КонецЦикла;

ИзменитьРеквизиты(МасКол);
12 NordMad
 
05.08.15
11:24
(11) я пробовал более коротким способом
НоваяКолонка = Элементы.Добавить("ТвояКолонка", Тип("число"),элементы.таблица1);
но ругается на неверное значение реквизитов...
13 NordMad
 
05.08.15
11:25
{Форма.Форма.Форма(27)}: Ошибка при вызове метода контекста (Добавить)
    НоваяКолонка = Элементы.Добавить("ТвояКолонка", Тип("число"),элементы.таблица1);
по причине:
Недопустимое значение параметров
14 hhhh
 
05.08.15
11:26
(12) Элементы - это элементы, а реквизиты - это реквизиты. Вообще из другой оперы. Причем вообще Элементы здесь?
15 NordMad
 
05.08.15
11:27
(14) ну дело в том что у меня данные то никакие там не хранятся, мне чисто визуально нужно создать табличное поле в виде шахматной доски по размерам заданным пользователем. без добавления реквизитов никак не сделать?
16 NordMad
 
05.08.15
11:31
(14) Для Каждого КолТаб Из ТекТаб.Колонки Цикл
не даст он мне так обратиться к таблице. я так понял что можно или через Объект. или через Элементы. правда это совершенно разные обращения
17 hhhh
 
05.08.15
11:35
(16) объект - это реквизит формы, а мы говорим еще рядом с объект создать реквизит типа таблица значений, и в ней создать реквизиты колонки.
18 hhhh
 
05.08.15
11:36
(16) в Объекте там жестко указаны реквизиты и табчасти обработки. В него нельзя ничего добавить.
19 NordMad
 
05.08.15
11:38
(18) ТекТаб.Колонки ну вот таким вот образом он мне не даст обратиться, выдаст ошибку на неизвестный идентификатор. могу обработку скинуть саму
20 hhhh
 
05.08.15
12:05
ТекТаб - это моя рабочая табличка с именами колонок. Вы тоже всерьез "ТекТаб" фигачите? Это я пример кинул из своей программы.
21 NordMad
 
05.08.15
12:06
(20) нет конечно, это  я так понял что это типа имя табличного поля формы!
22 hhhh
 
05.08.15
12:07
нет это не имя - это вообще левая переменная какая-то.
23 NordMad
 
05.08.15
12:13
(22) а можно тогда увидеть как бы выглядела бы целая процедура? например есть 2 поля забиваются пользователем, получаем оттуда значения реквизитов: длина, ширина, есть табличное поле: шахматы. что будет содержаться  в процедуре:
процедура выводТаблицы() ?
24 hhhh
 
05.08.15
12:39
не, процедуру некогда писать.
25 NordMad
 
05.08.15
13:02
(24) окей. может потом. там по идеи всего то ничего строк должно быть
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший