Имя: Пароль:
1C
1С v8
Добавить несколько колонок в табличную часть
,
0 Маленький Вопросик
 
10.05.14
13:55
Народ, подскажите такой момент.
Есть документ, на нем находится табличнаяЧасть с несколькими реквизитами (колонками)

Как программно к этой табличной части добавить еще пару колонок с определенным типом (например, "число").


Спасибо
1 shuhard
 
10.05.14
13:56
(0) программно в ТЧ - низяяяя
2 Kookish
 
10.05.14
14:03
(1) Пока низзя. А вообще - это мечта всех юзверей - лопатить метаданные в пользовательском режиме. Если не удалось добавить в табличную часть на документе пару колонок, рабочий день прошел зря.
3 Маленький Вопросик
 
10.05.14
14:05
(1) а как тогда быть?
4 Маленький Вопросик
 
10.05.14
14:07
проще говоря, требуется выводить остаток по выбранным складам, а количество складов - задается "при открытии" обработки
5 Фокусник
 
10.05.14
14:12
(4) если в голове разделить понятия "реквизит ТЧ" и "колонка табличного поля", то все становится на свои места... ;)
6 Маленький Вопросик
 
10.05.14
14:44
Я надеюсь, меня правильно поняли - добавление дополнительных колонок а табличную часть с типом внешняяобработка.табчасть.

Как добавлять колонки в таблицу значений - я знаю
7 Фокусник
 
10.05.14
14:58
(6) а в (0) речь про документ, а не обработку: "Есть документ, на нем находится табличнаяЧасть с несколькими реквизитами (колонками)" ;)

PS добавлять колонки для решения данной задачи можно в табличное поле, отображать данные при выводе строки или при получении данных. Чтобы каждый раз не дергать базу, можно остатки хранить в кеше (переменная с ТЗ)
8 Маленький Вопросик
 
10.05.14
19:29
Если кому интересно как "динамически" сформировать табличную часть то вот код:

    СписокАктивныхТоваров = Новый ТаблицаЗначений;
    СписокАктивныхТоваров.Колонки.Добавить("ГруппаТовара",,"Группа товара");
    СписокАктивныхТоваров.Колонки.Добавить("Артикул",,"Артикул");
    СписокАктивныхТоваров.Колонки.Добавить("Номенклатура",,"Номенклатура");
    
    Для Каждого Стр ИЗ СписокМагазины Цикл
        ИмяКолонки = СокрЛП("М"+Стр.Комментарий);
        НаименованиеМагазина = СокрЛП(Стр.Наименование);
        СписокАктивныхТоваров.Колонки.Добавить(ИмяКолонки,,НаименованиеМагазина);
    КонецЦикла;    
    
    ВсегоКолонок = СписокАктивныхТоваров.Колонки.Количество()-1;
    
    Для К = 0 по ВсегоКолонок Цикл
        МатрицаТоваров.Колонки.Добавить(СписокАктивныхТоваров.Колонки[К].Имя, ,СписокАктивныхТоваров.Колонки[К].Заголовок);
        МатрицаТоваров.Колонки[К].Ширина = 25;
    КонецЦикла;
    
    ЭлементыФормы.МатрицаТоваров.СоздатьКолонки();    
    МатрицаТоваров.Очистить();
9 shuhard
 
10.05.14
19:40
(8) копрокод детектед
10 Маленький Вопросик
 
10.05.14
19:46
(9) ты и на такое НЕ способен (1)
11 Любопытная
 
10.05.14
20:04
(10) ты не добавил колонки табличной части. Ты элементу формы добавил колонки. Это разные вещи
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший