Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/245: Рейтинг темы: голосов - 245, средняя оценка - 4.73
kotod
0 / 0 / 0
Регистрация: 25.06.2007
Сообщений: 21
1

Динамическое добавление колонок в 1С8

10.07.2007, 13:47. Просмотров 44461. Ответов 7
Метки нет (Все метки)

Появилась проблема: необходимо создать документ, в табличных частях которого колонки не постоянны и могут изменятся, причём пользователь может добавлять новые колонки прямо из формы документа.
Колонки можно добавить через элементы формы. Например так: ЭлементыФормы.ТабличнаяЧасть.Колонки.Добавить(Название), однако, в этом случае данные, находящиеся в колонке не подлежат изменению.
Как с этим бороться?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2007, 13:47
Ответы с готовыми решениями:

1С8 динамическое обновление базы на Sql
Раньше, когда юзал файловую версию - изменю че-нить мелкое в конфигураторе и не выгоняя юзверей...

Динамическое добавление колонок в отчет
Добрый день. Никак не могу сообразить, как собрать программно отчет, в котором динамически будут...

Добавление колонок в цикле
добавление колонок в цикле Для х=0 По сч-1 Цикл Колонка = "к"+х; ...

Динамическое добавление колонок
Помогите пожалуйста разобраться. Первая таблица добавляет колонку второй таблице, но колона не...

Динамическое добавление колонок в DataGrid
Здравствуйте уважаемые форумчане. Как из кода добавить, скажем, два столбца в DataGrid? Есть вот...

7
Zob
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
10.07.2007, 16:30 2
ухты, а можно узнать зачем? я бы рекомендовал всетки развернуть табличку на 90градусов. т.е. вниз, чтоб строчки росли почитай про реляционные базы. все описывается вполне табличками с фиксированным количеством столбцов
0
kotod
0 / 0 / 0
Регистрация: 25.06.2007
Сообщений: 21
14.07.2007, 01:11 3
Друг мой! Если бы в данной ситуации можно было бы сделать так, то обязательно бы так и сделал. Задача поставлена именно так, что необходимо создавать и колонки и строчки. Суть такая: бухгалтерия. Есть стоимостные показатели, по которым составляется бюджет этапа. Этап состоит из периодов. Периодов, как сам понимаешь может быть сколько угодно, а заказчику понадобилось ещё и показатели добавлять, к тому же смотреть данные по этапу в этих двух разрезах с возможностью правки и, соответственно, пересчёта. Таким образом отчёты не подходят, а табличку с динамически изменяемым количеством столбцов сделать, насколько я понял, в 1с не реально. Пришлось изворачиваться.
Конечно, можно сделать всё только строками (типа сложный ключ (P.S. теорию я нормально знаю)), но это будет не очень наглядно, заказчику не понравится, придётся переделывать, сроки жмут... Всё как обычно...
0
Zob
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
15.07.2007, 15:59 4
Друг мой, почему ты решил, что не реально? В модуле формы документа выполни следующий код:

Код
ЭлементыФормы.ТабличнаяЧасть1.Колонки.Вставить(позиция, Наименование);
Где: позиция - номер колонки, после которой будет добавлена нужная
Наименование - Как колонка назовется
ТабличнаяЧасть1 - название твоей табличной части.
и посмотри, что произойдет.
Но я бы, всетки, на твоем месте, заставил заказчика пересмотреть ТЗ. А не пытался ему "понравиться" Ты профи в своем деле и к твоему мнению должны прислушиваться. А то на голову сядут (
0
kotod
0 / 0 / 0
Регистрация: 25.06.2007
Сообщений: 21
19.07.2007, 11:22 5
В таком случае возникает 2 вопроса:
1) не могу вставить данные в добавленную колонку;
2) колонка при записи документа не сохраняется, а это критично в моём случае.
0
b00tsh
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 170
19.07.2007, 19:15 6
1) после добавления колонки установи ей элемент управления, например:
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
проверь свойства к0лонки ТолькоПросмотр и Доступность
поковыряйся с0 свойствами самого поля ввода НоваяКолонка.ЭлементУправления

2) и не сохраницц0... иб0 состав реквизитов меняецц0 только в режиме Конфигуратора...
вариантЪ : добавь реквизит ХранилищеЗначения и загоняй в нег0 при записи ТЗ, являющуюся ист0чником данных для Таб. поля формы...
Контейнер = Новый ХранилищеЗначения(ТЗданныеФормы);

с00твеЦтвенно, ПриОткрытии вытаскивай обратн0...
ТекТаб = Контейнер.Получить();
ТЗданныеФормы = ТекТаб.Скопировать();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
ЭлементыФормы.ТабличноеПоле.ОбновитьСтроки();

т0ка запрос по полям этой ТЗ ты пАстроить, соотвеЦтвенно, не сможешь...
0
kotod
0 / 0 / 0
Регистрация: 25.06.2007
Сообщений: 21
20.07.2007, 00:27 7
Благодарствую.
0
Zob
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
20.07.2007, 01:08 8
и всетки лучще чем хранилище, всетки развернуть таблицу в строки... хотя бы внутренне. (Юзерам покажешь как они хотят.) Бо ссылочная целостность! Можно при помощи доп табличных частей.
0
20.07.2007, 01:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2007, 01:08

Динамическое добавление колонок в JTable Swing
Всем привет) Использовал таблицы и раньше, но сейчас задача требует создания динамических...

Добавление колонок
Здравствуйте! Понадобилось добавить колонки в таблицу. Вроде подправил код. Перестала работать...

Добавление колонок
У меня есть таблица с 3 полями(колонками). Мне надо динамически,т.е. кодом, добавить колонку в базу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru