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

 

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

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

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

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

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

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

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

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

  2. Райса

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

  3. Райса

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

    1. Андрей

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

  4. Алексей

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

  5. Александр

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

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

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

  6. IVAN

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

  7. Юта

    спасибо за статью — помогло)

  8. esqado

    А как расположить новое поле в определенном месте?
    Например между двумя существующими полями?

  9. Андрей

    Спасибо, работает! :idea:

  10. 3124325

    Где ???
    ИзменитьРеквизиты(нРеквизиты);

  11. Александр

    А как добавить колонки, у которых Видимость=ложь в конфигураторе. Интерактивно пользователем. Спрашиваю т.к. эти колонки не видны в меню ЕЩЁ—>ИзменитьФорму

  12. виталий

    Спасибо!!! Очень помогло

  13. Юрий

    Добрый день! А как добавить несохраняемый реквизит — новую колонку в ТЧ? Его нет в Объект.ТЧ, но мне надо дать понять бухгалтеру ЧТО занеслось, к примеру в документе «Инвентаризация ОС» в строке ТЧ мне надо добавить счет учета

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

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

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: