![]() |
![]() |
![]() |
|
8.1 Динамическая таблица | ☑ | ||
---|---|---|---|---|
0
breezee
12.09.15
✎
16:38
|
Нужно на обычной форме создать таблицу, количество колонок которой выбирает сам пользователь, т.е.там есть несколько стандартных колонок и еще несколько колонок добавляемых пользователем. Табилцу создал, но указании типа данных справочник - кнопка выбора не появляется у строки колонки, туда можно писать строку, в общем - что то не так.
|
|||
1
Брегорьян
12.09.15
✎
16:39
|
а ну и чо?
|
|||
2
breezee
12.09.15
✎
16:41
|
(1) Как сделать тип у колонок справочника? При описании типов справочник стоит, в отладке у колонки тип "Номенклатура" - наименование справочника, тип значения - описание типов.
|
|||
3
Брегорьян
12.09.15
✎
16:50
|
(2) не тип колонок сделать, а кнопку выбора у элемента управления
|
|||
4
breezee
12.09.15
✎
16:57
|
(3) Кнопку выбора добавил, возможности выбора все равно нет, за совет - спасибо!
|
|||
5
breezee
12.09.15
✎
17:00
|
(3) Спасибо большое! Для поля тоже тип поставил - все заработало.
|
|||
6
breezee
12.09.15
✎
17:05
|
А можно как-то панель управления как у табличной части к таблице значений привязать(добавить, удалить строки)?
|
|||
7
breezee
12.09.15
✎
17:06
|
И вообще хрень выходит - если для одной строки колонки выбираю 1 элемент справочника - он подставляется для всей колонки. Как это исправить?
|
|||
8
Брегорьян
12.09.15
✎
17:07
|
(6) разрешаю
(7) больше такого не писать |
|||
9
breezee
12.09.15
✎
17:08
|
(8) Почему не писать?
|
|||
10
Брегорьян
12.09.15
✎
17:09
|
(9) ну хрень же сделал
|
|||
11
breezee
12.09.15
✎
17:11
|
(10) А как правильно сделать, подскажите, пожалуйста? Вот код добавления колонок
КоличествоКолонок = ЭлементыФормы.ТабличноеПоле1.Колонки.Количество()-1; Если НЕ ЗначениеЗаполнено(КоличествоКолонок) Тогда КоличествоКолонок = 0; КонецЕсли; Пока КоличествоКолонок>=0 цикл ЭлементыФормы.ТабличноеПоле1.Колонки.Удалить(КоличествоКолонок); КоличествоКолонок = КоличествоКолонок -1; КонецЦикла; КоличествоКолонок = ТабличноеПоле1.Колонки.Количество()-1; Если НЕ ЗначениеЗаполнено(КоличествоКолонок) Тогда КоличествоКолонок = 0; КонецЕсли; Пока КоличествоКолонок>=0 цикл ТабличноеПоле1.Колонки.Удалить(КоличествоКолонок); КоличествоКолонок = КоличествоКолонок -1; КонецЦикла; Для Итератор=1 По КолСеместров цикл ТабличноеПоле1.Колонки.Вставить(Итератор-1,"строка" + Строка(Итератор), Новый ОписаниеТипов("СправочникСсылка.Числа")); Колонка =ЭлементыФормы.ТабличноеПоле1.Колонки.Вставить(Итератор-1,"строка" + Строка(Итератор), Новый ОписаниеТипов("СправочникСсылка.Числа")); Колонка.элементУправления.КнопкаВыбора = Истина; Колонка.элементУправления.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Числа"); КонецЦикла; |
|||
12
Брегорьян
12.09.15
✎
17:15
|
брр... зачем два раза вставляешь?
|
|||
13
Брегорьян
12.09.15
✎
17:15
|
>СправочникСсылка.Числа
есть подозрение на ересь |
|||
14
breezee
12.09.15
✎
17:18
|
(12) Первый раз для табличного поля а второй раз для элемента формы? Или для элемента формы достаточно(пытался сделать чтобы работало)
(13)Первое попавшееся название, которое пришло в голову. Потом буду это исправлять, сейчас нужно чтобы просто работало то что описал в 1 посте |
|||
15
RomanYS
12.09.15
✎
17:20
|
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
|
|||
16
Брегорьян
12.09.15
✎
17:21
|
(14) да я не про название
|
|||
17
breezee
12.09.15
✎
17:24
|
(15) Т.е. мне нужно запонить таблицу значений, потом присвоить её табличному полю и вызвать метод создатьколонки()? Спасибо, сейчас попробую.
|
|||
18
breezee
12.09.15
✎
17:34
|
Колонки создались, кнопка выбора автоматически не появилась. Может потому что тип не справочник,а описание типов? http://i.imgur.com/GfIe91o.png
Код создание тз и заполнение колонок Тз = новый ТаблицаЗначений; Для Итератор=1 По КолСеместров цикл Тз.Колонки.Вставить(Итератор-1,"строка" + Строка(Итератор), Новый ОписаниеТипов("СправочникСсылка.Числа")); КонецЦикла; ЭлементыФормы.ТабличноеПоле1.Значение = Тз; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); |
|||
19
Брегорьян
12.09.15
✎
17:39
|
ЭлементыФормы.ТабличноеПоле1.Значение = Тз;
данные же |
|||
20
breezee
12.09.15
✎
17:42
|
(19) Данные - это эелементы конфигурации - табличные части, реквизиты и т.д.? Не знаю где в синтаксис помощнике посмотреть, гугл то же не то выдает, так что извините, если ошибся. Как тогда таблицу динамической сделать, если я укажу табличную часть в конфигураторе, которая не может быть динамической?
|
|||
21
breezee
12.09.15
✎
17:45
|
(20) если я укажу для данных табличную часть в конфигураторе
Простите, описался |
|||
22
Брегорьян
12.09.15
✎
17:45
|
(20) данные - это свойство такое. строковое, кстати, а то ты ещё минут 40 долбиться в него будешь
|
|||
23
Брегорьян
12.09.15
✎
17:46
|
(22) и наверняка ж делается без кода
|
|||
24
breezee
12.09.15
✎
17:57
|
(22)Спасибо, но я все равно ничерта не понимаю. В синтаксис помощнике написано что выставляется только для элементов изменяющих данные, у меня табличное поле данные документа не изменяет. Да и это строковый тип данных, как Вы написали. Как мне присвоить таблицу значений элементу формы и создать колонки для элемента формы? (23) Как без кода? Я совсем запутался.
|
|||
25
Брегорьян
12.09.15
✎
18:02
|
твоё ТП изменяет реквизит формы типа ТЗ. ну или должно бы так делать
|
|||
26
Брегорьян
12.09.15
✎
18:03
|
я ваще ни разу не помню за собой никаких вопросов в первый раз с динамической таблицей на форме. там всё просто же
|
|||
27
breezee
12.09.15
✎
18:07
|
(26) Ну выводить их легко, просто присвоить ТЗ ТП, а чтобы можно было работать с ними пользователю как с табличной частью - тут хрень начинается(хотя если четно - я кривой). + На обычных формах 2 раз что-то делаю
|
|||
28
Брегорьян
12.09.15
✎
18:11
|
не надо ничего никуда присваивать. оно всё само делается при добавлении ТП на форму
|
|||
29
breezee
12.09.15
✎
18:17
|
(28) Я пытался присвоить ТЗ элементу формы, а нужно было самому ТП. Спасибо большое за советы!
Вопрос не по теме - такую простую хрень я решал очень много времени - может программирование в 1с не моё? Или я просто не имею достаточного опыта? |
|||
30
Брегорьян
12.09.15
✎
18:24
|
конечно не твоё, если ты сорокалетен и бородат ;)
|
|||
31
breezee
12.09.15
✎
18:29
|
(30) Ну с бородат ты угадал)) Еще раз спасибо большое за помощь!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |