Как программно добавить колонку в табличную часть управляемой формы

 

Я уже писал об общем принципе программного добавления элементов на управляемую форму, теперь напишу конкретно о том, как добавить колонку табличной части или таблицы значений.

Итак, у нас есть справочник «Тест» с табличной частью «Тест», в табличной части присутствуют реквизиты «Тест1» и «Тест2», а нам нужно добавить еще один реквизит — «Тест3» и показать его на форме.

Выглядит это приблизительно так:

Не думаю, что приведенный код нуждается в комментариях, но на всякий случай скажу, что первые три строки создают новый реквизит типа «Строка» — тут важно указать путь к создаваемому реквизиту — третий параметр.

Точно также можно добавить колонку любой таблице значений (не табличной части) — в этом случае нужно убрать часть «Объект.» из кода.

Следующие три строки добавляют саму колонку на форму.

На этом все, надеюсь данная статья Вам помогла.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (Пока оценок нет)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментариев: 7
  1. Константин

    Спасибо, за подсказку!

  2. Райса

    Супер) Спасибо)

  3. Райса

    А как сделать эту колонку в табличной части второй по порядку?

    1. Андрей

      Переместить(, , )
      вот как-то так..
      Элементы.Переместить(нЭлемент,Элементы.Тест,Элементы.)

  4. Алексей

    помогите пожалуйста я в 1с чайник это много сказано) 1С 7.7 бух. учет (7.70.307) в реестр документов нужно добавить колонку ИНН контрагента. Что нужно написать в таблице и в модуле?

  5. Александр

    Предлагаю добавить обработчик событий ПриИзменении

    &НаСервере
    Процедура _ДобавитьКолонкуНаСервере(ИмяКолонки, ИмяТаблицыОбъекта, ИмяПредСтоящейКолонки, ИмяПроцедурыПриИзменении=Неопределено)
    //Добавляет сущетсвующий реквизит (ИмяКолонки) табличной части (ИмяТаблицыОбъекта) на форму перед колонкой (ИмяПредСтоящейКолонки)
    нЭлемент = Элементы.Добавить(ИмяКолонки, Тип(«ПолеФормы»), Элементы[ИмяТаблицыОбъекта]);
    нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    нЭлемент.ПутьКДанным = «Объект.»+ ИмяТаблицыОбъекта +».» + ИмяКолонки;
    Элементы.Переместить(нЭлемент, Элементы[ИмяТаблицыОбъекта], Элементы[ИмяТаблицыОбъекта].ПодчиненныеЭлементы[ИмяПредСтоящейКолонки]);
    Если ИмяПроцедурыПриИзмененииНеопределено тогда
    нЭлемент.УстановитьДействие(«ПриИзменении», ИмяПроцедурыПриИзменении);
    КонецЕсли;
    КонецПроцедуры

    Пример использования:
    _ДобавитьКолонкуНаСервере(«МассаБрутто», «Товары», «ТоварыНоменклатура», «ТоварыМассаБруттоПриИзменении»);

  6. IVAN

    Спасибо,статья очень помогла!

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: