Имя: Пароль:
1C
 
хранение тз в реквизите формы
0 2dolist
 
27.03.17
13:23
Добрый день. Решаю задачу вывода таблицы на форму с динамически создаваемыми колонками. В заголовках колонок наименования Партнеров.

1 вопрос. Т.к. может потребоваться переформирование таблицы с пересозданием колонок, решил хранить структуру создаваемых колонок в таблице значений(ПутьКДанным, Партнер, Заголовок). В "ПутиКДанным" название колонки, по которому потом будет производиться запись данных в колонки, в "Партнере" - справочник ссылка партнер, по нему из данной таблицы находится ПутьКДанным, Заголовок - заголовок колонки, выводимой на форму.

На форме добавлен реквизит - ТаблицаСоздаваемыхКолонок с типом значения ТаблицаЗначений и описанными выше колонками.

Значение сохраняется туда посредством:
ЗначениеВРеквизитФормы(НоваяТаблицаСоздаваемыхКолонок, "ТаблицаСоздаваемыхКолонок")

Пытаюсь получить ТЗ из уже имеющейся таблицы реквизита формы
ЗначТаблицаСоздаваемыхКолонок = РеквизитФормыВЗначение("ТаблицаСоздаваемыхКолонок", Тип("ТаблицаЗначений"));

Но проблема в том, что я не могу достать данные из строк полученной ТЗ. Как мне правильно организовать хранение таблицы значений для записи в неё созданных колонок и последующем переборе строк?

И второй вопрос.
Как организовать перенос заголовка колонок? В свойствах таблицы высоту  заголовка и шапки указал = 4. В создаваемых колонках указал:
        НоваяКолонка.Ширина = 8;
        НоваяКолонка.РастягиватьПоГоризонтали = Ложь;
И всё равно они в одну строку выводятся и растягиваются.
1 Волшебник
 
модератор
27.03.17
13:24
Будьте добры на каждый вопрос создавать отдельную ветку.
2 2dolist
 
27.03.17
13:25
тогда эта ветка остаётся для 1-го вопроса?
3 FIXXXL
 
27.03.17
13:26
зачем так делать?
делай просто:
НоваяСтрока = ТаблицаРеквизит.Добавить();
НоваяСтрока.ИмяКолонки = ЗначениеСохраняемое
4 Zhuravlik
 
27.03.17
13:36
(0) Крайне не рекомендую так делать. Намучаетесь сопровождать такое. Плюс не будет работать контроль ссылочной целостности.
Если нужен сложный интерфейс с динамическими колонками - его можно реализовать средствами СКД (например) и редактировать табличный документ.
Данные храните в табличной части.
5 2dolist
 
27.03.17
13:38
(4) это делается для обработки формирования заказов поставщикам - можно, конечно, табличным документом делать, но как есть уже практически готово - осталось только разобраться как сохранить таблицу значений для дальнейшего чтения - переделываю пока как (3) посоветовал
6 2dolist
 
27.03.17
13:40
(3) так просто не видит колонки
7 DrShad
 
27.03.17
13:44
и не увидит ибо у тебя не колонки ТЧ
8 2dolist
 
27.03.17
13:44
(3) а не, пардон, видит. Сейчас ещё покручу.
9 Zhuravlik
 
27.03.17
13:46
(5) Да интерфейс реализуйте как хотите)) Я про само хранение данных - лучше используйте табличную часть
10 DrShad
 
27.03.17
13:47
посоветовал бы ТС посмотреть как реализован документ Установка цен Номенклатуры
11 2dolist
 
27.03.17
13:49
(9) ну там суть в том, что колонки всегда создаются динамически и хранить их вне контекста формы смысла нет. Но мб и правильней как вы говорите.
12 2dolist
 
27.03.17
13:49
(10) хорошая мысля приходит опосля ©
13 FIXXXL
 
27.03.17
13:49
(4) нет там ничего мучительного, если делать по уму