Программное добавление элементов на управляемую форму

13.02.19

Разработка - Работа с интерфейсом

Пример добавления Команд, Полей ввода, Групп, Страниц, Реквизитов, Обработчиков событий.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Обработка с примерами
.epf 17,67Kb ver:1.0.0.0
99 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Преимущества программной доработки форм:

  • Можно использовать в расширениях
  • Легко копировать / переносить доработки
  • Различия видны при сравнении конфигурации
  • Легче производить обновление конфигурации

В данном примере все элементы формы будут добавлены в событии формы ПриСозданииНаСервере() 

 
 Добавление команды
 
 Добавление поля ввода
 
 Добавление реквизита формы
 
 Добавление группы формы
 
 Добавление страниц формы

Обработка тестировалась на релизе платформы 8.3.13.1513.

Вступайте в нашу телеграмм-группу Инфостарт

УФ Программное Управляемая Команда Элемент Реквизит

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Платные (руб)

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

16800 руб.

27.03.2025    4778    12    11    

16

Работа с интерфейсом Системный администратор Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

6000 руб.

14.01.2016    57083    19    25    

45

Работа с интерфейсом 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    11058    2    2    

7

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    20989    30    6    

46

Работа с интерфейсом Программист Стажер 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    32609    mrXoxot    44    

135

Работа с интерфейсом Программист 1С v8.3 Бесплатно (free)

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

27.05.2024    18437    smielka    37    

105

Работа с интерфейсом 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    20096    1261    elcoan    53    

128

Инструментарий разработчика Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

3 стартмани

10.04.2023    14203    174    acces969    31    

131
Отзывы
20. adamst 3 25.09.20 18:40 Сейчас в теме
полезные данные! удобно сразу все собрано в одном месте
для добавление реквизитов с помощью расширений очень удобно
r192007; KolBbl4; pentanom; keifaya; GetNight; dmbarchenkov; uno-c; ybatiaev; spec8s; +9 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mvgfirst 6 13.02.19 12:46 Сейчас в теме
Смысл добавлять реквизиты и элементы программно, если обработчики для них нужно прописывать в коде формы.
Было бы больше пользы - если бы показали "типовые приемы" обработки событий программно добавленных элементов.
Рамзес; +1 Ответить
2. ViperGSV 13.02.19 14:28 Сейчас в теме
(1) Смысл в том что элементы формы могут "слететь" при обновлении конфигурации. А если их задавать программно, то объединение кода намного проще, особенно если пользоваться KDiff например.
Я давно перешел на такой способ добавления реквизитов на форму (в шапки документа, в табличную часть). Правда основной кусок кода выносится в Общие модули.
koltchin; elian; shalupov61; KolBbl4; LeXXeR; dmpas; Трям; dronicbest; natalia_b2007; ivprovotorov; 1Cynep4eJIoBek; Dmitri93; Craig; SmArtist; +14 Ответить
21. alexsey777 10.11.20 12:24 Сейчас в теме
(2)Согласен. Пришел к этому опытным путем.
Тоже элементы добавляю программно. При сравнении-объединении сразу видны изменения. И не нужно потом еще форму руками менять.
koltchin; shalupov61; KolBbl4; Eillecho; dronicbest; natalia_b2007; +6 Ответить
46. user970589 10 06.10.22 08:24 Сейчас в теме
(2)крупные конторы именно так и делают. столкнулся с этим как только перешел из свободных охотников - ЛЮБЫЕ добавления на форму типовую программно. и сразу понтяно почему, при обновлении сама форма всегда будет актуальной, а код легко переносится.
shalupov61; KolBbl4; +2 Ответить
3. spec8s 857 13.02.19 16:44 Сейчас в теме
(1) В примере добавления поля ввода, показано добавление обработчика

/Можно добавить обработчик события
//См. синтакс-помощник чтобы узнать список событий
// Интерфейс (управляемый) -> Поле формы -> ПолеФормы -> События
// а так же остальные варианты расширения поля формы в зависимости от вида кнопки
// Интерфейс (управляемый) -> Поле формы -> Расширение поля ввода -> События
// и прочее
ПолеВвода.УстановитьДействие(
"ПриИзменении", //Имя события
"ПриИзмененииКомментария"); //Имя процедуры обработчика
vit00lya; Aspire1C; Dmitri93; Craig; +4 Ответить
8. mvgfirst 6 14.02.19 15:32 Сейчас в теме
(3) Как добавить обработчик не расположенный в форме? В тех случаях когда я из внешней (по отношению к форме) части программы хочу добавить кнопку или поле ввода. Насколько я знаю (могу и ошибаться) назначить обработчик можно только расположенный в модуле формы. А значит надо исполнять "танцы с бубном" по вызову своих обработчиков (расположенных например в общем модуле) из обработчиков расположенных на форме. И тут получается несостыковочка. Вроде бы форму можно полностью построить программно. Но не полностью .... т.к. обработчики должны быть в форме заранее.

Если есть какой-то способ обойти это "ограничение" - буду рад если поделитесь со мной.
Рамзес; buy_sale; ixijixi; TuneSoft; user830833; +5 Ответить
37. ixijixi 2033 24.03.22 12:18 Сейчас в теме
(8) Если это формы документов/справочников на БСП, то во всех есть Подключаемый_ВыполнитьКоманду
38. ixijixi 2033 24.03.22 12:50 Сейчас в теме
(8) Пока искал, наткнулся на частичное решение, которое мне подошло.
Кнопка = Элементы.Добавить("МояКнопка", Тип("ДекорацияФормы"), ЭтотОбъект);
Кнопка.Заголовок = Новый ФорматированнаяСтрока(НСтр("ru = 'Сотрудники.'"),,,, "e1cib/command/Справочник.Команда.СотрудникиВнештатные");
jufyti; 0x00; +2 Ответить
4. Boneman 302 13.02.19 16:59 Сейчас в теме
(1) в современных конфигурациях, про обработчики уже позаботились. В формах есть подключаемая процедурка
Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
которая ведет в общий модуль СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду

Там в свою очередь, есть вызов ОбщегоМодуля МодификацияКонфигурацииКлиентПереопределяемый.ВыполнитьПереопределяемуюКоманду(Форма, Команда, ДополнительныеПараметры);

где по имени команды и формы, можно определить свою, и напилить свои обработчики.

В итоге, получим абсолютно неизмененный объект, на поддержке...но в нем, программно добавленная кнопка и свой обработчик событий...
единственное, что у некоторых элементов параметров, предполагается много...и они как бы будут недоступны..но тут приходится или маневры искать, или немного усовершенствовать.. но в простых случаях, вполне себе все решаемо
Rettro; Umka23; +2 Ответить
9. mvgfirst 6 14.02.19 15:48 Сейчас в теме
(4) Так-то оно так. Если дело касается добавления какой-нибудь "некузявой" кнопочки, или чего-то незначительно-дополняющего функциональность формы или объекта который форма представляет.
Но если копнуть глубже, и рассматривать некую систему в которой есть оснастка, в которую разные модули (подсистемы) добавляют нужные им элементы управления (списки, диаграммы, таблицы со связью один ко многим и т.п.). Да еще и замахнуться на механику, когда пользователь сам решает какие модули и подсистемы ему нужны... Другими словами, разработать решение в стиле "плагинов" как во всяких там WinAmp-ах и прочих модных штуках. И тут получается нужно в форме-оснастке предусмотреть все возможные типы событий (который на ИТС кстати рекомендуют обрамлять префиксом "Подключаемый_"), а потом еще и у этих событий предусмотреть модель поведения когда нужны: а) только клиентские вызовы, б) клиентские и внеконтекстные сервеные, в) клиентские и контекстные серверные вызовы.

Поэтому да, многое можно, но навык "танец с бубном" должен быть 99lvl

И речь в данном случае не о "сферическом слоне в вакууме", а о например Рабочем Месте, которое настраивается в зависимости от роли пользователя, подразделении пользователя, полномочиям которые ему делегировали временно или постоянно и т.п.

В целом, я не пытаюсь очернить, или критиковать подходы. Просто думаю разумно было бы - побольше раскрыть нюансы именно обработки событий программно-добавленных элементов. Описать на какие подводные грабли можно наступить, как обойти.
user1691741; +1 Ответить
48. Umka23 13 09.02.23 00:48 Сейчас в теме
(4)
Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)

Подскажите пожалуйста, где об этом почитать подробнее. Возможно с примерами доработок. Очень долго ищу уже и всё на какую то дичь наталкиваюсь.
10. rpgshnik 3882 12.08.19 04:37 Сейчас в теме
(1) https://infostart.ru/public/1106063/ как раз заложена логика обработки событий от элементов формы. Тут нужно поиграться с именами :) и Выполнить("Кусок кода") и будет магия практически программного создания всего :)) тоже столкнулся с проблемой сначала как блин подготовить неизвестное количество событий-процедур для команд... но оказалось нужна одна, но хитровыкорчеванная, грабли конечно, но вариант имеет право на жизнь.
35. psa247 21 15.10.21 19:29 Сейчас в теме
(1) Смысл есть. К примеру, сегодня выполнял такую задачу. Динамическое количество кнопок и у каждой кнопки была своя задача. Код для всех задач был одинаковый, но уникальность кода для каждой кнопки выполнил алгоритмически
50. BenDigget 27.10.23 15:56 Сейчас в теме
(1) Как тебе смысл: когда в зависимости от Параметра должно быть то или иное количество команд? А передать нужное действие можно и через имя команды
5. ret 64 13.02.19 17:26 Сейчас в теме
Если УФ и платформа больше 8.3.10, то имхо, проще заюзать расширение. В нем нагляднее и конфа не снимается с поддержки.
y-nov; Shalnov; +2 Ответить
6. spec8s 857 13.02.19 18:27 Сейчас в теме
(5) Не соглашусь, таким образом невозможно понять, какие реквизиты были добавлены в расширении, а какие уже были в исходной конфигурации.

Когда придет время обновлять расширение, эти вопросы обязательно могут возникнуть.
user1147832; rozer; +2 Ответить
7. ret 64 14.02.19 08:13 Сейчас в теме
С расширением порядок проблем при обновлении намного меньше. С 8.3.6 их начал юзать, и функционал расширений только улучшается.
Ранее да, на ОФ именно программным кодом пользовался, и вот ни разу не визуально, и весьма проблематично. Пользовался обработкой с инфостарта по декомпиляции форм. Т.е. сперва визуально делаешь, потом в програмный код. Так вот телодвижений и в УФ осталось много. С расширением все намного проще. Мое имхо, конечно же.
11. Anthon 231 24.08.19 09:52 Сейчас в теме
Ошибочка. Добавлять элементы на форму надо с проверкой, например,

Если Элементы.Найти("Владелец") = Неопределено Тогда
ПолеВвода = Элементы.Добавить("Владелец", Тип("ПолеФормы"), ЭтаФорма);
ПолеВвода.Заголовок = "Владелец";
ПолеВвода.Вид = ВидПоляФормы.ПолеВвода;
ПолеВвода.ПутьКДанным = "Объект.Владелец";
КонецЕсли;

Они ведь иногда появляются, когда 1с-овцы трезвеют...

К тому же, если на форме много изменений, процесс перехода на расширение может занять большое время, и элемент всё ещё может присутствовать в конфигурации на форме, поэтому надо включать защиту от дурака уже заранее.
22. alexsey777 18.11.20 17:35 Сейчас в теме
(11)Описанная проблема обычно решается установкой префикса в имени добавляемого реквизита.
Максимум, 1с-овцы могут добавить аналогичное по содержанию поле. И их будет 2 на форме.
12. rmIvanT 71 14.10.19 14:03 Сейчас в теме
Как добавить реквизиты/кнопки в нужное место(Форма, Группа, Командная панель) например в начало списка, по умолчанию элементы добавляются в конец
13. SlavaKron 14.10.19 14:26 Сейчас в теме
(12) Вставить вместо добавить. Пример для кнопки контекстного меню. Нам надо вставить ее в начало списка меню:
Если КонтекстноеМеню.ПодчиненныеЭлементы.Количество() > 0 Тогда
	Кнопка = Форма.Элементы.Вставить("ИмяКнопки", Тип("КнопкаФормы"), КонтекстноеМеню, КонтекстноеМеню.ПодчиненныеЭлементы[0]);
Иначе
	Кнопка = Форма.Элементы.Добавить("ИмяКнопки", Тип("КнопкаФормы"), КонтекстноеМеню);
КонецЕсли;
EvilMilko; Barney06; rmIvanT; +3 Ответить
14. rmIvanT 71 14.10.19 15:04 Сейчас в теме
(13) Благодарю, помогло
Barney06; +1 Ответить
15. rmIvanT 71 19.12.19 14:07 Сейчас в теме
Как добавить ТаблицуЗначений с колонками в реквизиты формы?
Нашел https://infostart.ru/public/296433/
CratosX; AnKonAlm; +2 Ответить
16. Teut_Vlad 195 28.12.19 23:10 Сейчас в теме
17. Mechanik21 25 04.06.20 14:30 Сейчас в теме
Как добавить элементы из списка значений?
Заранее не знаю сколько там будет элементов
18. Mechanik21 25 04.06.20 14:33 Сейчас в теме
(17)Все значения строки - из них хочу сделать на форме флажки, то есть булево
19. spec8s 857 13.06.20 18:44 Сейчас в теме
(18)
Все значения строки - из них хочу сделать на форме флажки, то есть булево


Как вариант, сначала создать список значений как реквизит формы, затем добавить поля формы и связать их с реквизитом формы, указав в пути к данным путь "ИмяРеквизитаСпискаЗначений[ИндексСтроки].Пометка" и "ИмяРеквизитаСпискаЗначений[ИндексСтроки].Представление"

Любое изменение флажка будет так же влиять и на список значений.

        ДобавляемыеРеквизиты = Новый Массив;
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("МойСписок", Новый ОписаниеТипов("СписокЗначений")));
	ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	
	ЭтотОбъект.МойСписок.Добавить("Вариант 1");
	ЭтотОбъект.МойСписок.Добавить("Вариант 2");
	ЭтотОбъект.МойСписок.Добавить("Вариант 3");
	ЭтотОбъект.МойСписок.Добавить("Вариант 4");
	
	Индекс = 0;
	Для Каждого ЭлементСписка Из ЭтотОбъект.МойСписок Цикл
		
		ГруппаЭлементов = Элементы.Добавить("Группа_" + Формат(Индекс, "ЧГ=0"),
			Тип("ГруппаФормы"),
			ЭтотОбъект);
		ГруппаЭлементов.Вид = ВидГруппыФормы.ОбычнаяГруппа;
		ГруппаЭлементов.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
			
		ФлажокЭлемента = Элементы.Добавить("МойСписокПометка_" + Формат(Индекс, "ЧН=0; ЧГ=0"),
			Тип("ПолеФормы"),
			ГруппаЭлементов);
		ФлажокЭлемента.Вид = ВидПоляФормы.ПолеФлажка;
		ФлажокЭлемента.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
		ФлажокЭлемента.ПутьКДанным = СтрШаблон("МойСписок[%1].Пометка", Формат(Индекс, "ЧГ=0"));
		ФлажокЭлемента.УстановитьДействие("ПриИзменении", "ПриИзмененииФлажка");
		
		ПолеЭлемента = Элементы.Добавить("МойСписокЭлемент_" + Формат(Индекс, "ЧГ=0"),
			Тип("ПолеФормы"),
			ГруппаЭлементов);
		ПолеЭлемента.Вид = ВидПоляФормы.ПолеНадписи;
		ПолеЭлемента.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
		ПолеЭлемента.ПутьКДанным = СтрШаблон("МойСписок[%1].Представление", Формат(Индекс, "ЧГ=0"));
		
		Индекс = Индекс + 1;
	КонецЦикла;
Показать
LomayaZakat; Mechanik21; +2 Ответить
20. adamst 3 25.09.20 18:40 Сейчас в теме
полезные данные! удобно сразу все собрано в одном месте
для добавление реквизитов с помощью расширений очень удобно
r192007; KolBbl4; pentanom; keifaya; GetNight; dmbarchenkov; uno-c; ybatiaev; spec8s; +9 Ответить
23. пользователь 05.02.21 09:25
Сообщение было скрыто модератором.
...
24. user625107_barabambler1s 09.08.21 14:02 Сейчас в теме
А как вставить форматированную строку программно?
25. spec8s 857 10.08.21 10:13 Сейчас в теме
(24)
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	//	Добавляем новый реквизит формы
    НовыеРеквизиты = Новый Массив;
	НовыеРеквизиты.Добавить(Новый РеквизитФормы("фСтрока", Новый ОписаниеТипов("ФорматированнаяСтрока"),, "Форматированная строка"));
	
	ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);

	//	 Добавляем новый элемент формы
    элФормы = ЭтаФорма.Элементы.Добавить("фСтрока", Тип("ПолеФормы"));
	элФормы.Вид = ВидПоляФормы.ПолеНадписи;
	элФормы.ПутьКДанным = "фСтрока";
	
	//	Задаем значение строки
	ЭтаФорма.фСтрока = Новый ФорматированнаяСтрока("Это форматированная строка",, WebЦвета.Аквамарин);
	
КонецПроцедуры
Показать
26. aximo 2365 03.09.21 16:06 Сейчас в теме
товарищи, а есть методы обновляемые форму не используя "ПриСозданииНаСервере"?
28. spec8s 857 03.09.21 16:24 Сейчас в теме
(26)Можно в любой процедуре с директивой &НаСервере
27. aximo 2365 03.09.21 16:06 Сейчас в теме
Или нужно все нарисовать - и играться с видимостью?
29. aximo 2365 03.09.21 16:30 Сейчас в теме
(28) а есть примерчик, что-то не обновляет форму
30. aximo 2365 03.09.21 16:42 Сейчас в теме
все) готово) - разобрался. а как удалить элементы определенной группы? есть примерчик?)
31. spec8s 857 03.09.21 17:32 Сейчас в теме
(30)Что-то типо:

Пока Группа.ПодчиненныеЭлементы.Количество() > 0 Цикл
   Элементы.Удалить(Группа.ПодчиненныеЭлементы.Получить(0));
КонецЦикла;
32. aximo 2365 03.09.21 18:22 Сейчас в теме
благодарю! я уже все сделал самостоятельно
33. aximo 2365 03.09.21 18:23 Сейчас в теме
34. spec8s 857 06.09.21 17:31 Сейчас в теме
(33)Предлагаю проверить такой вариант, результат удивит:

	
        М = Новый Массив;
	М.Добавить(1);
	М.Добавить(2);
	М.Добавить(3);
	
	
	Для Каждого ЗН Из М Цикл
		
		М.Удалить(М.Найти(Зн));
		
	КонеццИкла;
	
	Сообщить(М.Количество());
Показать
36. psa247 21 15.10.21 19:32 Сейчас в теме
Коллеги, приветствую!
Сейчас разбираюсь с подобной задачей. Но мне нужно кнопки командной панели создавать при наступлении события, а не только "однажды" "присозданиинасервере". Есть у кого-нибудь готовые алгоритмы?
39. nickolay-z 27.05.22 12:59 Сейчас в теме
(36) Как то так наверное

&НаКлиенте
Процедура КомандаПоказатьПредупреждение()
	ПоказатьПредупреждение(,"Ок!");	
КонецПроцедуры

&НаСервере
Процедура ПоказатьКнопкуПриИзмененииНаСервере()
	Команда = Команды.Добавить("ПоказатьПредупреждение");
	Команда.Заголовок = "Показать предпреждение";
	Команда.Действие = "КомандаПоказатьПредупреждение";
	КнопкаПредупреждения = Элементы.Добавить("ПоказатьПредупреждение", Тип("КнопкаФормы"), ЭтаФорма);
	КнопкаПредупреждения.ИмяКоманды = "ПоказатьПредупреждение";
	КнопкаПредупреждения.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
КонецПроцедуры

&НаСервере
Процедура УдалитьКнопку()
	Кнопка = ЭтаФорма.Элементы.Найти("ПоказатьПредупреждение");
	ЭтаФорма.Элементы.Удалить(Кнопка); 
	Команда = Команды.Найти("ПоказатьПредупреждение");
	Команды.Удалить(Команда);
КонецПроцедуры

&НаКлиенте
Процедура ПоказатьКнопкуПриИзменении(Элемент)
	Если ПоказатьКнопку = Истина Тогда
		ПоказатьКнопкуПриИзмененииНаСервере();
	Иначе
		УдалитьКнопку();
	КонецЕсли;
КонецПроцедуры
Показать
40. ut11 2 06.06.22 15:55 Сейчас в теме
а общую команду можно программно на форму закинуть?
41. spec8s 857 07.06.22 00:26 Сейчас в теме
(40)Общая команда должна сама по себе быть на форме, если она назначена для объекта, без дополнительного кода.
42. Kontakt 109 10.06.22 10:50 Сейчас в теме
Есть пример как добавить в табличную часть столбец, строковые данные. На примере программного добавления.
имеется Табличная часть товары в документе Реализация товаров и услуг.
43. spec8s 857 10.06.22 11:51 Сейчас в теме
(42)
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("ПолеСтр", Новый ОписаниеТипов("Строка"), "Объект.Товары"));
ИзменитьРеквизиты(НовыеРеквизиты);

НовыйЭлемент = Элементы.Добавить("ТоварыПолеСтр", ТИП("ПолеФормы"), Элементы.Товары);
НовыйЭлемент.ПутьКДанным = "Объект.Товары.ПолеСтр";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
44. alexchr 2 22.08.22 22:32 Сейчас в теме
а как добавить нужные поля между существующими, указанными способами они добавляются после существующих
45. spec8s 857 22.08.22 22:50 Сейчас в теме
(44)Заменить метод .Добавить() на метод .Вставить()
47. unknown181538 163 25.12.22 17:12 Сейчас в теме
А есть какие-нибудь БСП методы, которые с этим справляются?
49. pentanom 30 28.07.23 17:00 Сейчас в теме
Хочу создать новую группу. Пишу:
	Группа_НомерМеста = Элементы.Добавить("ГруппаШапка", Тип("ГруппаФормы"), ЭтаФорма);
	Группа_НомерМеста.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Ругается!
Ошибка при вызове метода контекста (Добавить)
{МКТ Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(132)}:Группа_НомерМеста = Элементы.Добавить("ГруппаШапка", Тип("ГруппаФормы"), ЭтаФорма);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(292)}:ПоказатьЗначение(Неопределено, ТекущиеДанные.Ссылка);
{Обработка.ЖурналДокументовПродажи.Форма.СписокДокументов.Форма(418)}:ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);

по причине:
Недопустимое значение параметров
Я где-то ошибся?
51. Diyversus 24.02.25 15:32 Сейчас в теме
Почему авторы подобных постов не любят примеры добавления на форму реквизитов ссылочного типа? Всё-то то у них примитивных типов.
52. spec8s 857 24.02.25 20:02 Сейчас в теме
(51) разница лишь в
ТипРеквизита = Новый ОписаниеТипов("Строка");


заменить на

ТипРеквизита = Новый ОписаниеТипов("СправочникСсылка.Пользователи");


Или
ТипРеквизита = Новый ОписаниеТипов("ДокументСсылка.АктВыполненныхРабот");
Оставьте свое сообщение