Здравствуйте,уважаемые форумчане) Подскажите, как можно добавить программно колонку в управляемую форму? в данный момент в общем модуле НумерацииОбъектов есть переход в новый модуль доработок на клиенте(об.приложение и управ.), где вносятся изменения в форму документа(добавление колонок в тч, добавление реквизитов на форму)-на обычных формах все отрабатывает, на управляемых-туда даже не попадаю отладчиком.Возможно ли через этот модуль добавить новую колонку в тч на управл.форму,если нет, то как лучше сделать?
Евангелие от Ажеронок, Островерх и др. товарищей .. Разработка управляемого интерфейса .. стр. 598, стих 3.153. :) И как Вы без книжек то живете? Не пойму!
Получаю " Ошибка при вызове метода контекста (Добавить)
НоваяКолонка = ЭлементыФормы.Добавить("Вес(т.)",Тип("ПолеФормы"),ЭлементыФормы.Товары);
по причине:
Изменение состава элементов недоступно"
(7) а если мне не новую таблицу нужно создавать, а в уже существующую "Товары"? уже попробовала по-разному, все никак не получается(Кстати,реквизит в тч Товары "ВесВТоннах" у меня есть)
(11) MrUnnamed, а можно ли в модуле формы программно добавить реквизит не в саму форму, а в форму владельца? скажем, из внешней обработки заполнения объекта добавить новое поле в табличную часть реквизита формы документа, где вызывается эта обработка. я как бы умею из модуля формы внешней обработки заполнять табличную часть объекта формы владельца, а вот с изменением формы - проблема. не спрашиваю пока как это сделать. это в принципе возможно?
(13) Может быть и не реально. Но стоить попробовать - вдруг получится. Тут есть пара моментов:
1. Изменение формы возможно только на сервере. То есть как-то надо туда передать управление.
2. Обычно форму изменяют при ее создании. Как система себя поведет, если вы попытаетесь ее изменить уже после создания - это вопрос.
Я бы пробовал два варианта реализации.
1. Передавал бы форму на сервер и пробовал ее там менять.
2. Если первый вариант не сработает, то делал бы оповещение из подчиненной формы, ловил бы это оповещение в форме-владельце и пытался изменить форму вызовом контекстной процедуры на сервере.
Если эти два варианта не сработают, то это сделать не реально.
(14) Stackmann, не очень понимаю как это - передать форму владельца на сервер. передать на сервер можно только объект формы. или я не прав? в общем, изменить форму владельца из внешней обработки у меня не получилось, но мне тут подсказали рассмотреть в качестве компромиссного варианта возможности переопределяемых модулей МодификацияКонфигурацииПереопределяемый и МодификацияКонфигурацииКлиентСерверПереопределяемый. в принципе, тогда и внешняя обработка может не понадобится. вот здесь примеры есть: http://infostart.ru/public/424358/
(14) Stackmann, нашлось решение для динамического изменения и добавления реквизитов и элементов формы стандартного документа из внешней обработки. для этого в сведениях о внешней обработке нужно указать тип использования команды ЗаполнениеФормы, и тогда можно прямо в модуле объекта внешней обработки работать с контекстом формы стандартного документа, из которого эта обработка вызывается. обращение к форме документа происходит через ПараметрыВыполнения.ЭтаФорма. в общем, если кому интересно, я тут сделал небольшую публикацию на эту тему:
http://infostart.ru/public/518037/
Нашел один интересный нюанс... Если ТЧ просто на форме добавлена, то в нее можно кодом добавить свои колонки. Но вот если это реквизит объекта, то туда ни в какую не дает кодом добавлять...
Подскажите как сдвинуть добавленную колонку? Она добавляется в конец элемента формы.
А нужно в определенное место ее передвинуть.
Если говорить про коллекцию колонок дерева значений, то тут все ясно. Методом Сдвинуть().
А вот тут
(21) помимо метода Добавить, который добавляет элемент в конец Родительского, есть метод Вставить, где можно указать, перед каким элементом вставлять новый. Да прибудет с вами CTRL+F1.
Спрошу в этой теме, так как она гуглится первой в списке. Может кому-то сэкономит кучу времени
В реквизитах на форме есть атрибут "Использовать всегда". Если этот атрибут снят, то не удается установить ПутьКДанным в созданном поле табличной части.
Есть у кого объяснения почему и как выйти из ситуации(кроме создать колонки в конфигураторе)?