Имя: Пароль:
1C
1С v8
Создание произвольной таблицы
0 Dendroid92
 
26.01.17
14:41
Здравствуйте!
Возникла проблема с созданием документа, в котором необходимо создать таблицу значений (или Табличную часть) с заранее неизвестным количеством столбцов. В создании самой таблицы проблем нет, вопрос заключается в том как сохранить эту таблицу в документе, чтобы при последующем открытии документа открывалось нужное количество столбцов? Вариант с создание максимального количества столбцов с последующим их скрытием не очень подходит, может все-таки есть варианты лучше?
1 Dendroid92
 
26.01.17
14:45
Дело в том, что уже есть документ с регистром, который заносит успеваемость студентов по одной дисциплине, но заносить информацию каждый раз по разным дисциплинам муторно, хотелось бы сделать таблицу, в которой была бы шапка (ФИО студента, Дисциплина 1, ... , Дисциплина N).
2 polosov
 
26.01.17
14:47
(0) Измени подход к хранению данных.
3 vicof
 
26.01.17
14:47
(1) Храни таблицу в хранилище значения
4 Dendroid92
 
26.01.17
14:52
(3) Тоже была такая идея, но я так и не понял что представляет из себя ХранилищеЗначений, понял что туда можно записывать все что угодно, но как с этим работать дальше?
5 osa1C
 
26.01.17
14:54
(1) Что такое успеваемость студентов? Оценка по предмету? Если да, то почему бы не создать в документе ТЧ в строках заносить нужные дисциплины. И также хранить в регистре
6 FIXXXL
 
26.01.17
14:58
(1) тебе по ходу что то типа кросстаблицы надо

я так понимаю, у тебя в регистре Студент-Дисциплина-Ресурс, ты хочешь видеть на форме
Студент-Дис01-Дис02-Дис03-ДисN и Ресурсы в строке

если так, рисуй кросстаблицу программно каждый раз при открытии формы по данным регистра
кнопка Добавить - добавляет колонку Дис, а не строку
7 shamannk
 
26.01.17
14:59
Опиши задачу.
8 KishMish
 
26.01.17
15:01
(0)
1. ТЧ с тремя колонками "ИмяКолонки" "МойНомерСтроки" "Значение"
2. ПРи открытии формируешь Табличное поле
3. При записи обрабтываешь ТабличноеПоле и записывешь в ТЧ
плюсы относительно ХранилищаЗначения
1. Можно искать запросами
2. Ссылочная целостность
9 Dendroid92
 
26.01.17
15:04
10 Dendroid92
 
26.01.17
15:05
11 Dendroid92
 
26.01.17
15:10
(5) Всего свыше 3 сотен дисциплин, дисциплины привязаны к учебному плану, в разном учебном плане разные дисциплины и разное их количество
12 polosov
 
26.01.17
15:13
(11) Нарисуй таблички на бумаге. Нормализуй https://ru.wikipedia.org/wiki/Нормальная_форма.

И потом реализуй средствами 1С.
13 Dendroid92
 
26.01.17
16:11
(6) Да, как-то так и нужно, но при добавлении оно же только визуально будет отображаться и нигде не будет хранится после проведения документа
14 FIXXXL
 
27.01.17
09:11
(13) ну почему не будет? в ТЧ по аналогии с регистром, строками, замечательно хранится
в общем тривиальный документ с ТЧ, ТЧ не показываешь, показываешь кросс-таблицу
немного кода повесить на добавление колонки(она же строка в ТЧ) и на изменение ресурсов
15 Dendroid92
 
27.01.17
13:33
(3) Прочитал про ХранилищеЗначений, понял, что это самый лучший вариант. Спасибо за наводку.
Инфа про временное хранилище:
http://1s-portal.ru/index.php/stati/common-questions/1-project/110-vremennoe-hranilishe-v-1s-82.html
16 FIXXXL
 
27.01.17
14:36
(15) не нужно тебе ХЗ
при групповом проведении доков, к примеру, будешь из ХЗ данные тягать? делай ТЧ и кросс-таблицу
17 HardBall
 
27.01.17
15:18
1С:Университет ПРОФ. Ню-ню.
18 Dendroid92
 
30.01.17
10:36
(16) У меня нет группового проведения документов. У меня в типовой конфигурации есть документ, который позволяет вбить только 1 дисциплину и отметки у студентов. Я пишу замену этому документу, чтобы была возможность забивать сразу несколько дисциплин нескольким студентам.
19 FIXXXL
 
30.01.17
11:38
(18) ну и отлично
разверни ТЧ в кросстаблицу, колонки - дисциплины, строки - студенты
при записи из формы сворачивай кросстаблицу и переписывай ТЧ
20 zvial
 
30.01.17
11:55
(18) А если будет? Или запросом данные вытянуть потребуется, для отчета например? Опять тему создавать? Делай сразу правильно, как написано в (19).
21 HardBall
 
30.01.17
11:57
(18) Не трогай документы.
Сделай внешнюю обработку в которой реализуй все хотелки.
Из нее генерируй типовые документы.
22 FIXXXL
 
30.01.17
12:10
(21) тоже хорошее решение, не надо движуху типовую курочить и на обновлении не скажется почти
23 Dendroid92
 
30.01.17
12:39
(21) Мне нужно записывать данные в регистр, а обработка не может быть регистратором.

В общем сделал так:
http://s018.radikal.ru/i524/1701/03/7896913146cf.jpg

Выбираю Рабочий план и семестр, жму кнопку и формируется все как на рисунке. Нижнюю таблицу, естественно, создаю программно и запихиваю ее в ХранилищеЗначений. В Модуле объекта пишу проведение документа.

(20) Из типового регистра и буду вытягивать, в чем проблема?
24 FIXXXL
 
30.01.17
12:57
(23) обработка не может, а типовой документ - запросто
обработка - групповое создание типовых документов
25 Dendroid92
 
31.01.17
13:40
(24) а как записать в ХранилищеЗначений таблицу, которую я формирую программно? Через РеквизитФормыВЗначение получаю тип ДанныеФормыКоллекции, а нужна ТаблицаЗначений. Получается перезаписывать ДанныеФормыКоллекции в ТаблицуЗначений нужно что ли? По логике же моя программно созданная таблица и есть ТаблицуЗначений.
26 Dendroid92
 
31.01.17
13:53
(25) Проблема решена, неправильно прописал путь к реквизиту "Объект.СводнаяТаблица", а надо было "СводнаяТаблица"
27 RomanYS
 
31.01.17
14:05
(1) Посмотри документ установка цен номенклатуры в типовых, там решена подобная проблема
28 mistеr
 
31.01.17
14:22
(27) Он небось типовые в глаза не видел.