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

Тема в разделе "1C и всё что с ней связано", создана пользователем Golod, 11 июл 2007.

Статус темы:
Закрыта.
  1. Golod

    Golod Гость

    Появилась проблема: необходимо создать документ, в табличных частях которого колонки не постоянны и могут изменятся, причём пользователь может добавлять новые колонки прямо из формы документа.
    Колонки можно добавить через элементы формы. Например так: ЭлементыФормы.ТабличнаяЧасть.Колонки.Добавить(Название), однако, в этом случае данные, находящиеся в колонке не подлежат изменению.
    Как с этим бороться?
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    ухты, а можно узнать зачем? я бы рекомендовал всетки развернуть табличку на 90градусов. т.е. вниз, чтоб строчки росли :) почитай про реляционные базы. все описывается вполне табличками с фиксированным количеством столбцов
     
  3. Golod

    Golod Гость

    Друг мой! Если бы в данной ситуации можно было бы сделать так, то обязательно бы так и сделал. Задача поставлена именно так, что необходимо создавать и колонки и строчки. Суть такая: бухгалтерия. Есть стоимостные показатели, по которым составляется бюджет этапа. Этап состоит из периодов. Периодов, как сам понимаешь может быть сколько угодно, а заказчику понадобилось ещё и показатели добавлять, к тому же смотреть данные по этапу в этих двух разрезах с возможностью правки и, соответственно, пересчёта. Таким образом отчёты не подходят, а табличку с динамически изменяемым количеством столбцов сделать, насколько я понял, в 1с не реально. Пришлось изворачиваться.
    Конечно, можно сделать всё только строками (типа сложный ключ (P.S. теорию я нормально знаю)), но это будет не очень наглядно, заказчику не понравится, придётся переделывать, сроки жмут... Всё как обычно...
     
  4. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Друг мой, почему ты решил, что не реально? В модуле формы документа выполни следующий код:
    Код (Text):
    ЭлементыФормы.ТабличнаяЧасть1.Колонки.Вставить(позиция, Наименование);
    Где: позиция - номер колонки, после которой будет добавлена нужная
    Наименование - Как колонка назовется
    ТабличнаяЧасть1 - название твоей табличной части.
    и посмотри, что произойдет.
    Но я бы, всетки, на твоем месте, заставил заказчика пересмотреть ТЗ. А не пытался ему "понравиться" Ты профи в своем деле и к твоему мнению должны прислушиваться. А то на голову сядут (
     
  5. Golod

    Golod Гость

    В таком случае возникает 2 вопроса:
    1) не могу вставить данные в добавленную колонку;
    2) колонка при записи документа не сохраняется, а это критично в моём случае.
     
  6. b00tch

    b00tch Гость

    1) после добавления колонки установи ей элемент управления, например:
    НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
    проверь свойства к0лонки ТолькоПросмотр и Доступность
    поковыряйся с0 свойствами самого поля ввода НоваяКолонка.ЭлементУправления

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

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

    т0ка запрос по полям этой ТЗ ты пАстроить, соотвеЦтвенно, не сможешь...
     
  7. Golod

    Golod Гость

    Благодарствую.
     
  8. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    и всетки лучще чем хранилище, всетки развернуть таблицу в строки... хотя бы внутренне. (Юзерам покажешь как они хотят.) Бо ссылочная целостность! Можно при помощи доп табличных частей.
     
Загрузка...
Похожие Темы - Динамическое добавление колонок
  1. iosif88
    Ответов:
    32
    Просмотров:
    9.911
  2. iosif88
    Ответов:
    21
    Просмотров:
    7.336
  3. JohnLemon
    Ответов:
    4
    Просмотров:
    1.166
  4. Katyha1706
    Ответов:
    1
    Просмотров:
    1.460
  5. Katyha1706
    Ответов:
    0
    Просмотров:
    1.113
Статус темы:
Закрыта.

Поделиться этой страницей