Возможные варианты использования:
- У вас есть документ, вам надо что-то в нем поменять, но срабатывает событие "при изменении" и едут суммы. Во внешней форме можно это сделать без обработчиков событий.
- Вам нужно заполнить реквизит формы (не объекта). Групповое изменение реквизитов работает с объектами, а не с данными формы.
- Нужно изменить заблокированные реквизиты формы (серенькие).
Изначально идея была такова (упрощенно):
ФормаИсточник = ПолучитьФорму("Документ.ЗаказКлиента.ФормаОбъекта");
ФормаПриемник = ПолучитьФорму("ВнешняяОбработка.с_ЗаполнениеИзВнешнейФормы.Форма");
Для Каждого ЭлементИсточник Из ФормаИсточник.Элементы Цикл
ЭлементПриемник = ФормаПриемник.Элементы.Добавить(ЭлементИсточник.Имя,
ЭлементИсточник.ТипЭлемента, ФормаПриемник.Элементы[ЭлементИсточник.Родитель.Имя]);
ЗаполнитьЗначенияСвойств(ЭлементПриемник, ЭлементИсточник);
КонецЦикла;
Но такой подход оказался нежизнеспособным. Для того чтобы скопировать элементы одной формы на другую, нужно иметь к ним обеим одновременный доступ. А из-за того, что метод ПолучитьФорму() доступен только на клиенте, управлять копированием можно только с клиента. Но на клиенте недоступно свойство ПутьКДанным элементов формы, не доступен метод ПолучитьРеквизиты(). Они доступны только в серверном контексте. А к нему есть доступ только у самой формы.
Поместить форму во временное хранилище и передать через клиента адрес тоже не получится, потому что она не сериализуется. Единственный выход — сериализовать форму самостоятельно.
Кстати, интересное наблюдение
Можно предположить, что форму все-таки можно получить из метаданных на сервере и там же обработать, но в синтаксис-помощнике на это написано:
ОбъектМетаданных: Форма (MetadataObject: Form)
Форма (Form)
Использование:
Только чтение.
Описание:
Тип: Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:
Данное свойство всегда имеет значение Неопределено, т.к. во встроенном языке не предусмотрена работа со значением данного свойства.
Из-за того что серверный контекст формы доступен только из нее самой, копируемую форму придется редактировать. В нее нужно будет добавить функцию, возвращающую структуру с описанием формы:
&НаСервере
Функция с_ПолучитьОписаниеФормы() Экспорт
Возврат с_КопированиеФорм.с_ПолучитьОписаниеФормы(ЭтаФорма, РеквизитФормыВЗначение("Объект"));
КонецФункции
Объект мы передаем для того чтобы можно было отличить добавленные на форму колонки табличных частей от тех которые были в объекте изначально.
В форме-приемнике нужно будет прописать процедуру заполнения по переданному описанию:
&НаСервере
Процедура с_ЗаполнитьФормуПоОписанию(АдресВоВременномХранилище) Экспорт
с_КопированиеФорм.с_ЗаполнитьФормуПоОписанию(ЭтаФорма, АдресВоВременномХранилище);
КонецПроцедуры
В обработке для копирования остается только выполнить код:
ФормаИсточник = ПолучитьФорму("Документ.ЗаказКлиента.ФормаОбъекта");
ФормаПриемник = ПолучитьФорму("ВнешняяОбработка.с_ЗаполнениеИзВнешнейФормы.Форма");
АдресВоВременномХранилище = ФормаИсточник.с_ПолучитьОписаниеФормы();
ФормаПриемник.с_ЗаполнитьФормуПоОписанию(АдресВоВременномХранилище);
Вообще говоря, этого достаточно. Но если мы копируем уже открытую форму документа, хотелось бы чтобы в нее переносились данные которые уже есть на форме. Для этого делаем так:
КопироватьДанныеФормы(ФормаИсточник.Объект, ФормаПриемник.Obj);
Obj — это объект, который будет хранить копию объекта источника в форме приемника. Использовать объект приемника не получится, т.к. он будет с другим типом (вероятно, ВнешняяОбработкаОбъект).
Примечание: Если вы хотите побыстрее воспользоваться обработкой — идите в конец статьи. Там под спойлером я спрятал код, который копируется в общий модуль, и выложил пару примеров, демонстрирующих решение. Далее я поясняю как всё работает и почему так сделано.
Структура передается через временное хранилище чтобы уменьшить количество передаваемых между клиентом и сервером данных. К тому же, системные перечисления, которые используются в качестве свойств элементов, не сериализуются, и с ними пришлось бы возиться отдельно.
С добавлением элементов в структуру тоже есть некоторые нюансы, которые следует учесть:
Во-первых, элементы формы не помещаются во временное хранилище, поэтому их тоже придется сериализовать самостоятельно.
Во-вторых, если мы возьмем просто список элементов, то отсортированы они будут по алфавиту, и может так получиться, что подчиненный элемент будет добавляться раньше родителя, что вызовет ошибку.
В-третьих, в зависимости от типов и видов элементов меняется набор имеющихся свойств.
Для добавления свойства в структуру используется отдельная процедура. Свойств у элементов очень много, и если копировать их через "ОписаниеЭлемента.Вставить()" то имя свойства придется указывать дважды. Процедура просто сокращает объем текста.
Процедура с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, ИмяСвойства)
Значение = Элемент[ИмяСвойства];
ОписаниеЭлемента.Вставить(ИмяСвойства, Значение);
КонецПроцедуры
И вызывается она как то так:
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Видимость");
В зависимости от типа элемента меняется его набор свойств.
Функция с_ПолучитьОписаниеЭлемента(Элемент)
ОписаниеЭлемента = Новый Структура;
//Чтобы отличать корневые элементы от остальных, для корневых в качестве родителя передаем "Неопределено"
Если ТипЗнч(Элемент.Родитель) = Тип("УправляемаяФорма") Тогда
ОписаниеЭлемента.Вставить("Родитель", Неопределено);
Иначе
ОписаниеЭлемента.Вставить("Родитель", Элемент.Родитель.Имя);
КонецЕсли;
//Основные свойства элемента
ОписаниеЭлемента.Вставить("Имя", Элемент.Имя);
ОписаниеЭлемента.Вставить("ТипЭлемента", ТипЗнч(Элемент));
//Остальные свойства в зависимости от типа элемента
Если ТипЗнч(Элемент) = Тип("ГруппаФормы") Тогда
с_ДобавитьОписаниеГруппыФормы(ОписаниеЭлемента, Элемент);
ИначеЕсли ТипЗнч(Элемент) = Тип("ТаблицаФормы") Тогда
с_ДобавитьОписаниеТаблицыФормы(ОписаниеЭлемента, Элемент);
ИначеЕсли ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда
с_ДобавитьОписаниеПоляФормы(ОписаниеЭлемента, Элемент);
ИначеЕсли ТипЗнч(Элемент) = Тип("КнопкаФормы") Тогда
с_ДобавитьОписаниеКнопкиФормы(ОписаниеЭлемента, Элемент);
КонецЕсли;
Для Каждого КлючИЗначение Из ОписаниеЭлемента Цикл
//Заменяем в пути к данным "Объект" на "Obj" чтобы не было конфликтов между объектами форм источника и приемника
Если (КлючИЗначение.Ключ = "ПутьКДанным"
Или КлючИЗначение.Ключ = "ПутьКДаннымПодвала"
Или КлючИЗначение.Ключ = "ПутьКДаннымЗаголовка")
И Лев(КлючИЗначение.Значение, 6) = "Объект" Тогда
ОписаниеЭлемента[КлючИЗначение.Ключ] = "Obj" + Прав(КлючИЗначение.Значение, СтрДлина(КлючИЗначение.Значение) - 6);
КонецЕсли;
КонецЦикла;
Возврат ОписаниеЭлемента;
КонецФункции
Для получения коллекций (подчиненных элементов или командной панели) создана отдельная процедура, добавляющая элементы в цикле.
Функция с_ПолучитьОписаниеЭлементов(КоллекцияЭлементовФормы)
ОписаниеКоллекции = Новый Массив;
Для Каждого Элемент Из КоллекцияЭлементовФормы Цикл
ОписаниеЭлемента = с_ПолучитьОписаниеЭлемента(Элемент);
ОписаниеКоллекции.Добавить(ОписаниеЭлемента);
КонецЦикла;
Возврат ОписаниеКоллекции;
КонецФункции
Заполнение описания в зависимости от типов элементов можно посмотреть в коде в конце статьи. Интеллектуальной нагрузки оно не содержит, только долгую кропотливую работу.
Аналогичные действия производятся и в обратном порядке.
Заполнение свойств выделено в отдельную процедуру с той же целью — уменьшить количество текста.
&НаСервере
Процедура с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, ИмяСвойства);
Если Элемент[ИмяСвойства] <> ОписаниеЭлемента[ИмяСвойства] Тогда
Элемент[ИмяСвойства] = ОписаниеЭлемента[ИмяСвойства];
КонецЕсли;
КонецПроцедуры
И вызывается она так:
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Видимость");
Что касается архитектуры загрузки, то она немного изменена. Обусловлено это тем, что когда мы заполняли описание из формы, то работали и с отдельными элементами/группами и с коллекциями (подчиненными элементами). В структуре же содержатся только массивы описаний, поэтому отталкиваться следует не от процедуры заполнения свойств по одному элементу, а от обработки массива.
Процедура с_СоздатьЭлементы(Форма, ОписаниеКоллекции)
Для Каждого ОписаниеЭлемента Из ОписаниеКоллекции Цикл
//"Неопределено" в качестве родителя записано у корневых элементов
Если ОписаниеЭлемента.Родитель = Неопределено Тогда
Родитель = Форма;
Иначе
Родитель = Форма.Элементы[ОписаниеЭлемента.Родитель];
КонецЕсли;
//Создаем элемент на форме
Элемент = Форма.Элементы.Добавить(ОписаниеЭлемента.Имя, ОписаниеЭлемента.ТипЭлемента, Родитель);
//Заполняем элемент в соответствии с описанием
с_ЗаполнитьСвойстваЭлементаФормы(Форма, Элемент, ОписаниеЭлемента);
КонецЦикла;
КонецПроцедуры
И уже в процедуре заполнения делается ветвление в зависимости от типа элемента:
Процедура с_ЗаполнитьСвойстваЭлементаФормы(Форма, Элемент, ОписаниеЭлемента)
Если ОписаниеЭлемента.ТипЭлемента = Тип("ГруппаФормы") Тогда
с_ЗаполнитьСвойстваГруппыФормы(Форма, Элемент, ОписаниеЭлемента);
ИначеЕсли ОписаниеЭлемента.ТипЭлемента = Тип("ТаблицаФормы") Тогда
с_ЗаполнитьСвойстваТаблицыФормы(Форма, Элемент, ОписаниеЭлемента);
ИначеЕсли ОписаниеЭлемента.ТипЭлемента = Тип("ПолеФормы") Тогда
с_ЗаполнитьСвойстваПоляФормы(Элемент, ОписаниеЭлемента);
ИначеЕсли ОписаниеЭлемента.ТипЭлемента = Тип("КнопкаФормы") Тогда
с_ЗаполнитьСвойстваКнопкиФормы(Элемент, ОписаниеЭлемента);
КонецЕсли;
КонецПроцедуры
Как и при заполнении описания, заполнение свойств элементов в зависимости от типа интереса не представляет и можно найти в полной версии кода (тремя абзацами ниже).
Для демонстрации кода я сделал две простые обработки. Их краткое описание:
Заполнение из внешней формы. Подключаемая к подсистеме дополнительных отчетов и обработок БСП обработка заполнения. В документах, указанных в списке назначений появляется кнопка "Заполнение->Заполнение из внешней формы (С)". При нажатии на кнопку открывается копия формы со всеми данными, но отключенными событиями. При нажатии на кнопку "Перенести в документ" введенные данные копируются в первоначальную форму. ВАЖНО!!! Для работы обработки в форме документа должна быть процедура с_ПолучитьОписаниеФормы(), которую можно найти в модуле объекта обработки.
Копирование форм. Демонстрирует работу описанного в статье подхода. Имеет форму источник и форму приемник. Весь код находится в них, изменять конфигурацию не нужно.
Общий модуль с_КопированиеФорм
#Область ПолучитьОписаниеФормы
// Функция - Получить описание формы
//
// Пример вызова:
// ОписаниеФормы = с_КопированиеФорм.с_ПолучитьОписаниеФормы(ЭтаФорма, РеквизитФормыВЗначение("Объект"));
//
// Параметры:
// Форма - УправляемаяФорма - Форма, описание которой требуется получить
// Объект - Объект формы - от типа объекта зависит набор возвращаемых свойств, а от метаданных объекта зависит набор реквизитов формы
//
// Возвращаемое значение:
// - Адрес во временном хранилище - во временном хранилище содержится структура с описанием формы
//
Функция с_ПолучитьОписаниеФормы(Форма, Объект) Экспорт
ОписаниеФормы = Новый Структура;
//Реквизиты
с_ДобавитьРеквизитыФормы(ОписаниеФормы, Форма, Объект);
//Команды
с_ДобавитьКомандыФормы(ОписаниеФормы, Форма);
//Свойства и элементы формы
с_ДобавитьСвойстваУправляемойФормы(ОписаниеФормы, Форма, Объект);
//Временное хранилище используется чтобы избежать передачи описания между клиентом и сервером
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ОписаниеФормы);
Возврат АдресВоВременномХранилище;
КонецФункции
//Добавляет в описание формы массив реквизитов формы. В том числе добавленные на форму колонки табличных частей
Процедура с_ДобавитьРеквизитыФормы(ОписаниеФормы, Форма, Объект)
//Тип объекта потребуется для определения добавленных на форму колонок ТЧ
ТипОбъекта = ТипЗнч(Объект);
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипОбъекта);
ОписаниеРеквизитов = Новый Массив;
Для Каждого Реквизит Из Форма.ПолучитьРеквизиты() Цикл
ОписаниеРеквизита = Новый Структура;
//Основные свойства реквизитов
с_ДобавитьЗначениеСвойства(ОписаниеРеквизита, Реквизит, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеРеквизита, Реквизит, "Имя");
с_ДобавитьЗначениеСвойства(ОписаниеРеквизита, Реквизит, "Путь");
с_ДобавитьЗначениеСвойства(ОписаниеРеквизита, Реквизит, "СохраняемыеДанные");
с_ДобавитьЗначениеСвойства(ОписаниеРеквизита, Реквизит, "ТипЗначения");
//Для копирования уже открытых форм может потребоваться передача значений в элементах
Если Реквизит.Имя = "Объект" Тогда
ОписаниеРеквизита.Имя = "Obj";
ОписаниеРеквизита.ТипЗначения = ОбъектМетаданных.Имя;
Иначе
ОписаниеРеквизита.Вставить("Значение", Форма[Реквизит.Имя]);
КонецЕсли;
ОписаниеРеквизитов.Добавить(ОписаниеРеквизита);
//Добавляем колонки не существующие в ТЧ объекта и колонки реквизитов с типом ТаблицаЗначений
Если Реквизит.Имя = "Объект" Или Реквизит.ТипЗначения = Новый ОписаниеТипов("ТаблицаЗначений") Тогда
//Метаданные.Документы[ОбъектМетаданных.Имя].ТабличныеЧасти возвращают массив, поэтому приводим к единообразию
Если Реквизит.Имя = "Объект" Тогда
ТабличныеЧасти = Метаданные.Документы[ОбъектМетаданных.Имя].ТабличныеЧасти;
Иначе
ТабличныеЧасти = Новый Массив;
ТабличныеЧасти.Добавить(Реквизит.Имя);
КонецЕсли;
Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
Если Реквизит.Имя = "Объект" Тогда
КолонкиТЧНаФорме = Форма.Объект[ТабличнаяЧасть.Имя].Выгрузить().Колонки;
Иначе
КолонкиТЧНаФорме = Форма[Реквизит.Имя].Выгрузить().Колонки;
КонецЕсли;
Для Каждого Колонка Из КолонкиТЧНаФорме Цикл
//Колонка "НомерСтроки" служебная и добавляется на форму автоматически
Если Колонка.Имя = "НомерСтроки" И Реквизит.Имя = "Объект" Тогда
Продолжить;
КонецЕсли;
//Для табличных частей объектов требуется создавать только те колонки, которых нет в метаданных
Если Реквизит.Имя = "Объект" И ТабличнаяЧасть.Реквизиты.Найти(Колонка.Имя) <> Неопределено Тогда
Продолжить;
КонецЕсли;
ОписаниеРеквизита = Новый Структура;
ОписаниеРеквизита.Вставить("Заголовок", Колонка.Заголовок);
ОписаниеРеквизита.Вставить("Имя", Колонка.Имя);
ОписаниеРеквизита.Вставить("ТипЗначения", Колонка.ТипЗначения);
ОписаниеРеквизита.Вставить("СохраняемыеДанные", Ложь);
//Заменяем "Объект" на "Obj" чтобы избежать конфликтов между объектами источника и приемника
Если Реквизит.Имя = "Объект" Тогда
ОписаниеРеквизита.Вставить("Путь", "Obj." + ТабличнаяЧасть.Имя);
Иначе
ОписаниеРеквизита.Вставить("Путь", ТабличнаяЧасть);
КонецЕсли;
ОписаниеРеквизитов.Добавить(ОписаниеРеквизита);
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ОписаниеФормы.Вставить("Реквизиты", ОписаниеРеквизитов);
КонецПроцедуры
//Добавляет в описание формы массив команд формы
Процедура с_ДобавитьКомандыФормы(ОписаниеФормы, Форма)
ОписаниеКоманд = Новый Массив;
Для Каждого Команда Из Форма.Команды Цикл
ОписаниеКоманды = Новый Структура;
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "Действие");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "ИзменяетСохраняемыеДанные");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "Имя");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "ИспользованиеТекущейСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "ИспользуемаяТаблица");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "Картинка");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "Отображение");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "Подсказка");
с_ДобавитьЗначениеСвойства(ОписаниеКоманды, Команда, "СочетаниеКлавиш");
ОписаниеКоманд.Добавить(ОписаниеКоманды);
КонецЦикла;
ОписаниеФормы.Вставить("Команды", ОписаниеКоманд);
КонецПроцедуры
//Добавляет в описание формы все свойства формы, в том числе подчиненные элементы и командную панель
Процедура с_ДобавитьСвойстваУправляемойФормы(ОписаниеФормы, Форма, Объект)
//Добавление свойств, общих для всех управляемых форм
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "АвтоЗаголовок");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "АвтоматическоеСохранениеДанныхВНастройках");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "АвтоНавигационнаяСсылка");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ВертикальнаяПрокрутка");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ВертикальноеПоложениеПодчиненных");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ВертикальныйИнтервал");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ВыравниваниеЭлементовИЗаголовков");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ГоризонтальноеПоложениеПодчиненных");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ГоризонтальныйИнтервал");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Группировка");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Доступность");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ЗакрыватьПриВыборе");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ЗакрыватьПриЗакрытииВладельца");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ИмяФормы");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "КлючНазначенияИспользования");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "КлючСохраненияПоложенияОкна");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Масштаб");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Модифицированность");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "НавигационнаяСсылка");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ОтображатьЗаголовок");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ОтображатьКнопкуЗакрытия");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ОтображениеОбсуждений");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Параметры");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ПоведениеКлавишиEnter");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ПоложениеКоманднойПанели");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ПроверятьЗаполнениеАвтоматически");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "РежимОткрытияОкна");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "СворачиваниеЭлементовПоВажности");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "СохранениеДанныхВНастройках");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "СохраняемыеВНастройкахДанныеМодифицированы");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "ТолькоПросмотр");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "УникальныйИдентификатор");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "УсловноеОформление");
с_ДобавитьЗначениеСвойства(ОписаниеФормы, Форма, "Ширина");
//Рекурсивное добавление подчиненных элементов
ОписаниеФормы.Вставить("КоманднаяПанель", с_ПолучитьОписаниеЭлемента(Форма.КоманднаяПанель));
ОписаниеФормы.Вставить("ПодчиненныеЭлементы", с_ПолучитьОписаниеЭлементов(Форма.ПодчиненныеЭлементы));
ТипОбъекта = ТипЗнч(Объект);
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипОбъекта);
ОписаниеФормы.Вставить("ТипОбъекта", ТипОбъекта);
КонецПроцедуры
#Область ОписаниеГруппыФормы
//Добавляет свойства элемента с типом ГруппаФормы
Процедура с_ДобавитьОписаниеГруппыФормы(ОписаниеЭлемента, Элемент)
//Основные свойства
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вид");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Видимость");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Доступность");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеПодсказки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Подсказка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьИзменениеСостава");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СочетаниеКлавиш");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТолькоПросмотр");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекстаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШрифтЗаголовка");
//Добавляем подчиненные элементы
ОписаниеЭлемента.Вставить("ПодчиненныеЭлементы", с_ПолучитьОписаниеЭлементов(Элемент.ПодчиненныеЭлементы));
//Добавление особых свойств, существующих в зависимости от вида группы
Если Элемент.Вид = ВидГруппыФормы.КоманднаяПанель Тогда
с_ДобавитьРасширениеКоманднойПанели(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.Подменю Тогда
с_ДобавитьРасширениеПодменю(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.ГруппаКолонок Тогда
с_ДобавитьРасширениеГруппыКолонок(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.Страницы Тогда
с_ДобавитьРасширениеСтраниц(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.Страница Тогда
с_ДобавитьРасширениеСтраницы(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.ОбычнаяГруппа Тогда
с_ДобавитьРасширениеОбычнойГруппы(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.ГруппаКнопок Тогда
с_ДобавитьРасширениеГруппыКнопок(ОписаниеЭлемента, Элемент);
КонецЕсли;
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у командной панели
Процедура с_ДобавитьРасширениеКоманднойПанели(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВажностьПриОтображении");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложение");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у подменю
Процедура с_ДобавитьРасширениеПодменю(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Картинка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Отображение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеФигуры");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Фигура");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у командной панели
Процедура с_ДобавитьРасширениеГруппыКолонок(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВШапке");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Группировка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КартинкаШапки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьВШапке");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьЗаголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДаннымШапки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ФиксацияВТаблице");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ФорматШапки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФонаЗаголовка");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у страниц
Процедура с_ДобавитьРасширениеСтраниц(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИспользованиеТекущейСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИспользуемаяТаблица");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеСтраниц");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекущееСостояниеСтраниц");
ОписаниеЭлемента.Вставить("ТекущаяСтраница", Элемент.ТекущаяСтраница.Имя);
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у страницы
Процедура с_ДобавитьРасширениеСтраницы(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВажностьПриОтображении");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальнаяПрокруткаПриСжатии");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложениеПодчиненных");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальныйИнтервал");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыравниваниеЭлементовИЗаголовков");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеПодчиненных");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальныйИнтервал");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Группировка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Картинка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьЗаголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДаннымЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Формат");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у обычной группы
Процедура с_ДобавитьРасширениеОбычнойГруппы(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВажностьПриОтображении");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложениеПодчиненных");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальныйИнтервал");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыравниваниеЭлементовИЗаголовков");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеПодчиненных");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальныйИнтервал");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Группировка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЗаголовокСвернутогоОтображения");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИспользованиеТекущейСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИспользуемаяТаблица");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Объединенная");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьЗаголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьОтступСлева");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Отображение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеУправления");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Поведение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДаннымЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СквозноеВыравнивание");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Формат");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФонаЗаголовкаСкрытогоОтображения");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у группы кнопок
Процедура с_ДобавитьРасширениеГруппыКнопок(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Отображение");
КонецПроцедуры
#КонецОбласти
#Область ОписаниеТаблицыФормы
//Добавляет свойства элемента с типом ТаблицаФормы
Процедура с_ДобавитьОписаниеТаблицыФормы(ОписаниеЭлемента, Элемент)
//Основные свойства
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоВводНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоВводНовойСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысотаВСтрокахТаблицы");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоОтметкаНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АктивизироватьПоУмолчанию");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВажностьПриОтображении");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВариантУправленияВысотой");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальнаяПолосаПрокрутки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальныеЛинии");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Видимость");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаВСтрокахТаблицы");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаПодвала");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаШапки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальнаяПолосаПрокрутки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальныеЛинии");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Доступность");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИзменятьПорядокСтрок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИзменятьСоставСтрок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИспользованиеТекущейСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КартинкаСтрок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысотаВСтрокахТаблицы");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МножественныйВыбор");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "НачальноеОтображениеДерева");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "НачальноеОтображениеСписка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтметкаНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Отображение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеПодсказки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоведениеПриСжатииПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Подвал");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Подсказка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоискПриВводе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеКоманднойПанели");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеСостоянияПросмотра");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеСтрокиПоиска");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеУправленияПоиском");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПропускатьПриВводе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДанным");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДаннымКартинкиСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьНачалоПеретаскивания");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьПеретаскивание");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВводаСтрок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВыделения");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВыделенияСтроки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СочетаниеКлавиш");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекущаяСтрока");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекущийРодитель");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекущийЭлемент");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТолькоПросмотр");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекстаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЧередованиеЦветовСтрок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шапка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШрифтЗаголовка");
//Добавление подчиненных элементов
ОписаниеЭлемента.Вставить("КоманднаяПанель", с_ПолучитьОписаниеЭлемента(Элемент.КоманднаяПанель));
ОписаниеЭлемента.Вставить("КонтекстноеМеню", с_ПолучитьОписаниеЭлемента(Элемент.КонтекстноеМеню));
ОписаниеЭлемента.Вставить("ПодчиненныеЭлементы", с_ПолучитьОписаниеЭлементов(Элемент.ПодчиненныеЭлементы));
КонецПроцедуры
#КонецОбласти
#Область ОписаниеПоляФормы
//Добавляет свойства элемента с типом ПолеФормы
Процедура с_ДобавитьОписаниеПоляФормы(ОписаниеЭлемента, Элемент)
//Основные свойства
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоВысотаЯчейки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АктивизироватьПоУмолчанию");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВажностьПриОтображении");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вид");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Видимость");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГиперссылкаЯчейки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВПодвале");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВШапке");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Доступность");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КартинкаПодвала");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КартинкаШапки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОграничениеТипа");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьВПодвале");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьВШапке");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеПодсказки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеПредупрежденияПриРедактировании");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Подсказка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПредупреждениеПриРедактировании");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПропускатьПриВводе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДанным");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПутьКДаннымПодвала");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимРедактирования");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СочетаниеКлавиш");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекстПодвала");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТолькоПросмотр");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ФиксацияВТаблице");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекстаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекстаПодвала");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФонаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФонаПодвала");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШрифтЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШрифтПодвала");
//Добавляем подчиненные элементы
ОписаниеЭлемента.Вставить("КонтекстноеМеню", с_ПолучитьОписаниеЭлемента(Элемент.КонтекстноеМеню));
//Добавление особых свойств, существующих в зависимости от вида поля
Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
с_ДобавитьРасширениеПоляВвода(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
с_ДобавитьРасширениеНадписи(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеФлажка Тогда
с_ДобавитьРасширениеФлажка(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеКартинки Тогда
с_ДобавитьРасширениеКартинки(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПереключателя Тогда
с_ДобавитьРасширениеПереключателя(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеКалендаря Тогда
с_ДобавитьРасширениеКалендаря(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеИндикатора Тогда
с_ДобавитьРасширениеИндикатора(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПолосыРегулирования Тогда
с_ДобавитьРасширениеПолосыРегулирования(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеДиаграммы Тогда
с_ДобавитьРасширениеДиаграммы(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеДиаграммыГанта Тогда
с_ДобавитьРасширениеДиаграммыГанта(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеДендрограммы Тогда
с_ДобавитьРасширениеДендрограммы(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеТекстовогоДокумента Тогда
с_ДобавитьРасширениеТекстовогоДокумента(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеТабличногоДокумента Тогда
с_ДобавитьРасширениеТабличногоДокумента(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеФорматированногоДокумента Тогда
с_ДобавитьРасширениеФорматированногоДокумента(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеHTMLДокумента Тогда
с_ДобавитьРасширениеHTMLДокумента(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеГрафическойСхемы Тогда
с_ДобавитьРасширениеГрафическойСхемы(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеГеографическойСхемы Тогда
с_ДобавитьРасширениеГеографическойСхемы(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПланировщика Тогда
с_ДобавитьРасширениеПланировщика(ОписаниеЭлемента, Элемент);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПериода Тогда
с_ДобавитьРасширениеПериода(ОписаниеЭлемента, Элемент);
КонецЕсли;
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у поля ввода
Процедура с_ДобавитьРасширениеПоляВвода(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоВыборНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоОтметкаНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоПереносСтрок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "БыстрыйВыбор");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыбиратьТип");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыборГруппИЭлементов");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыделятьОтрицательные");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаСпискаВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ДоступныеТипы");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИсторияВыбораПриВводе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КартинкаКнопкиВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаВыпадающегоСписка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаОткрытия");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаОчистки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаРегулирования");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаСоздания");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальноеЗначение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Маска");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МинимальноеЗначение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МногострочныйРежим");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОбновлениеТекстаРедактирования");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтметкаНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеКнопкиВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПараметрыВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПодсказкаВвода");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьСоставнойТип");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РасширенноеРедактирование");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РедактированиеТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВыбораИзСписка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВыбораНезаполненного");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимПароля");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СвязьПоТипу");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СписокВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ФормаВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Формат");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ФорматРедактирования");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШиринаВыпадающегоСписка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у надписи
Процедура с_ДобавитьРасширениеНадписи(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыделятьОтрицательные");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Гиперссылка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Рамка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимПароля");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Формат");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у флажка
Процедура с_ДобавитьРасширениеФлажка(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВидФлажка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЗаголовкаЭлемента");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЭлемента");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОдинаковаяШиринаЭлементов");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТриСостояния");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ФорматРедактирования");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШиринаЭлемента");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у картинки
Процедура с_ДобавитьРасширениеКартинки(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Гиперссылка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КартинкаЗначений");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Масштабировать");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазмерКартинки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьНачалоПеретаскивания");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьПеретаскивание");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Рамка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекстНевыбраннойКартинки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у переключателя
Процедура с_ДобавитьРасширениеПереключателя(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВидПереключателя");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЗаголовкаЭлемента");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЭлемента");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КоличествоКолонок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОдинаковаяШиринаКолонок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СписокВыбора");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШиринаЭлемента");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у календаря
Процедура с_ДобавитьРасширениеКалендаря(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыделенныеДаты");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаВМесяцах");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КонецПериодаОтображения");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "НачалоПериодаОтображения");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьПанельМесяцев");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьТекущуюДату");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПеремещениеПоКалендарю");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьНачалоПеретаскивания");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьПеретаскивание");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Рамка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимВыделения");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШиринаВМесяцах");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у индикатора
Процедура с_ДобавитьРасширениеИндикатора(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальноеЗначение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МинимальноеЗначение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ориентация");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьПроценты");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Отображение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у полосы регулирования
Процедура с_ДобавитьРасширениеПолосыРегулирования(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "БольшойШаг");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальноеЗначение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МинимальноеЗначение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ориентация");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеРазметки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шаг");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ШагРазметки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у диаграммы
Процедура с_ДобавитьРасширениеДиаграммы(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у диаграммы ганта
Процедура с_ДобавитьРасширениеДиаграммыГанта(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у дендрограммы
Процедура с_ДобавитьРасширениеДендрограммы(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у текстового документа
Процедура с_ДобавитьРасширениеТекстовогоДокумента(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыделенныйТекст");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у табличного документа
Процедура с_ДобавитьРасширениеТабличногоДокумента(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальнаяПолосаПрокрутки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальнаяПолосаПрокрутки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Защита");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИспользуемоеИмяФайла");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьГруппировки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьЗаголовки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьИменаСтрокИКолонок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьИменаЯчеек");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображатьСетку");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеСостояния");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьНачалоПеретаскивания");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьПеретаскивание");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Редактирование");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимМасштабированияПросмотра");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РежимОтображенияВыделения");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекущаяОбласть");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТипКурсоров");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЧерноБелыйПросмотр");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у форматированного документа
Процедура с_ДобавитьРасширениеФорматированногоДокумента(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыделенныйТекст");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у HTML документа
Процедура с_ДобавитьРасширениеHTMLДокумента(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Документ");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИнформацияПрограммыПросмотра");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у графической схемы
Процедура с_ДобавитьРасширениеГрафическойСхемы(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Редактирование");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТекущийЭлемент");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у географической схемы
Процедура с_ДобавитьРасширениеГеографическойСхемы(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вывод");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у планировщика
Процедура с_ДобавитьРасширениеПланировщика(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВыделенныеЭлементы");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьНачалоПеретаскивания");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РазрешитьПеретаскивание");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
КонецПроцедуры
//Добавляет свойства элемента, которые есть только у периода
Процедура с_ДобавитьРасширениеПериода(ОписаниеЭлемента, Элемент)
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Рамка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
#КонецОбласти
#Область ОписаниеКнопкиФормы
//Добавляет свойства элемента с типом КнопкаФормы
Процедура с_ДобавитьОписаниеКнопкиФормы(ОписаниеЭлемента, Элемент)
//Основные свойства
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АвтоМаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "АктивизироватьПоУмолчанию");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВажностьПриОтображении");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВертикальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Вид");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Видимость");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Высота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ВысотаЗаголовка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ГоризонтальноеПоложениеВГруппе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Доступность");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Заголовок");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ИмяКоманды");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Картинка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "КнопкаПоУмолчанию");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяВысота");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "МаксимальнаяШирина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Отображение");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеПодсказки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ОтображениеФигуры");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПоложениеКартинки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Пометка");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ПропускатьПриВводе");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоВертикали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "РастягиватьПоГоризонтали");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "СочетаниеКлавиш");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ТолькоВоВсехДействиях");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Фигура");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветРамки");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветТекста");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "ЦветФона");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Ширина");
с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, "Шрифт");
КонецПроцедуры
#КонецОбласти
#Область ПолучитьОписаниеФормыВспомогательныеПроцедурыИФункции
//Процедура для копирования свойств в структуру с описанием
Процедура с_ДобавитьЗначениеСвойства(ОписаниеЭлемента, Элемент, ИмяСвойства)
Значение = Элемент[ИмяСвойства];
ОписаниеЭлемента.Вставить(ИмяСвойства, Значение);
КонецПроцедуры
//Возвращает структуру с описанием всех свойств элемента, включая подчиненные элементы для групп и для таблиц
Функция с_ПолучитьОписаниеЭлемента(Элемент)
ОписаниеЭлемента = Новый Структура;
//Чтобы отличать корневые элементы от остальных для корневых в качестве родителя передаем "Неопределено"
Если ТипЗнч(Элемент.Родитель) = Тип("УправляемаяФорма") Тогда
ОписаниеЭлемента.Вставить("Родитель", Неопределено);
Иначе
ОписаниеЭлемента.Вставить("Родитель", Элемент.Родитель.Имя);
КонецЕсли;
//Основные свойства элемента
ОписаниеЭлемента.Вставить("Имя", Элемент.Имя);
ОписаниеЭлемента.Вставить("ТипЭлемента", ТипЗнч(Элемент));
//Остальные свойства в зависимости от типа элемента
Если ТипЗнч(Элемент) = Тип("ГруппаФормы") Тогда
с_ДобавитьОписаниеГруппыФормы(ОписаниеЭлемента, Элемент);
ИначеЕсли ТипЗнч(Элемент) = Тип("ТаблицаФормы") Тогда
с_ДобавитьОписаниеТаблицыФормы(ОписаниеЭлемента, Элемент);
ИначеЕсли ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда
с_ДобавитьОписаниеПоляФормы(ОписаниеЭлемента, Элемент);
ИначеЕсли ТипЗнч(Элемент) = Тип("КнопкаФормы") Тогда
с_ДобавитьОписаниеКнопкиФормы(ОписаниеЭлемента, Элемент);
КонецЕсли;
Для Каждого КлючИЗначение Из ОписаниеЭлемента Цикл
//Заменяем в пути к данным "Объект" на "Obj" чтобы не было конфликтов между объектами форм источника и приемника
Если (КлючИЗначение.Ключ = "ПутьКДанным"
Или КлючИЗначение.Ключ = "ПутьКДаннымПодвала"
Или КлючИЗначение.Ключ = "ПутьКДаннымЗаголовка")
И Лев(КлючИЗначение.Значение, 6) = "Объект" Тогда
ОписаниеЭлемента[КлючИЗначение.Ключ] = "Obj" + Прав(КлючИЗначение.Значение, СтрДлина(КлючИЗначение.Значение) - 6);
КонецЕсли;
КонецЦикла;
Возврат ОписаниеЭлемента;
КонецФункции
//Возвращает массив с описаниями элементов, входящих в коллекцию
Функция с_ПолучитьОписаниеЭлементов(КоллекцияЭлементовФормы)
ОписаниеКоллекции = Новый Массив;
Для Каждого Элемент Из КоллекцияЭлементовФормы Цикл
ОписаниеЭлемента = с_ПолучитьОписаниеЭлемента(Элемент);
ОписаниеКоллекции.Добавить(ОписаниеЭлемента);
КонецЦикла;
Возврат ОписаниеКоллекции;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область ЗаполнитьФормуПоОписанию
// Процедура - С заполнить форму по описанию
//
// Пример вызова:
// с_КопированиеФорм.с_ЗаполнитьФормуПоОписанию(ЭтаФорма, РеквизитФормыВЗначение("Объект"), АдресВоВременномХранилище);
//
// Параметры:
// Форма - УправляемаяФорма - Форма, описание которой требуется получить
// АдресВоВременномХранилище - Временное хранилище, в котором находится описание формы
//
Процедура с_ЗаполнитьФормуПоОписанию(Форма, АдресВоВременномХранилище) Экспорт
ОписаниеФормы = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
//Реквизиты
с_СоздатьРеквизитыФормы(Форма, ОписаниеФормы);
//Коменды
с_СоздатьКомандыФормы(Форма, ОписаниеФормы);
//Свойства и элементы формы
с_ЗаполнитьСвойстваФормы(Форма, ОписаниеФормы);
КонецПроцедуры
//Создает на форме реквизиты по переданному описанию
Процедура с_СоздатьРеквизитыФормы(Форма, ОписаниеФормы)
ДобавляемыеРеквизиты = Новый Массив;
//Заполнение массива ДобавляемыеРеквизиты
Для Каждого ОписаниеРеквизита Из ОписаниеФормы.Реквизиты Цикл
Если ОписаниеРеквизита.Имя = "Obj" Тогда
ТипЗначения = Новый ОписаниеТипов("ДокументОбъект." + ОписаниеРеквизита.ТипЗначения);
Иначе
ТипЗначения = ОписаниеРеквизита.ТипЗначения;
КонецЕсли;
Реквизит = Новый РеквизитФормы(ОписаниеРеквизита.Имя, ТипЗначения, ОписаниеРеквизита.Путь, ОписаниеРеквизита.Заголовок);
с_ЗаполнитьЗначениеСвойства(Реквизит, ОписаниеРеквизита, "СохраняемыеДанные");
ДобавляемыеРеквизиты.Добавить(Реквизит);
КонецЦикла;
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//Заполнение значений реквизитов (для копирования форм с уже заполненными реквизитами)
Для Каждого ОписаниеРеквизита Из ОписаниеФормы.Реквизиты Цикл
Если ОписаниеРеквизита.Свойство("Значение") Тогда
Если ТипЗнч(ОписаниеРеквизита.Значение) = Тип("ДанныеФормыКоллекция") Тогда
Форма[ОписаниеРеквизита.Имя].Очистить();
Форма[ОписаниеРеквизита.Имя].Загрузить(ОписаниеРеквизита.Значение.Выгрузить());
Иначе
Форма[ОписаниеРеквизита.Имя] = ОписаниеРеквизита.Значение;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
//Создает на форме команды по переданному описанию
Процедура с_СоздатьКомандыФормы(Форма, ОписаниеФормы)
Для Каждого ОписаниеКоманды Из ОписаниеФормы.Команды Цикл
Команда = Форма.Команды.Добавить(ОписаниеКоманды.Имя);
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "Действие");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "Заголовок");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "ИзменяетСохраняемыеДанные");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "ИспользованиеТекущейСтроки");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "ИспользуемаяТаблица");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "Картинка");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "Отображение");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "Подсказка");
с_ЗаполнитьЗначениеСвойства(Команда, ОписаниеКоманды, "СочетаниеКлавиш");
КонецЦикла;
КонецПроцедуры
//Заполняет свойства формы по переданному описанию, в том числе создает подчиненные элементы и заполняет командную панель
Процедура с_ЗаполнитьСвойстваФормы(Форма, ОписаниеФормы)
//Основные свойства
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "АвтоЗаголовок");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "АвтоматическоеСохранениеДанныхВНастройках");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "АвтоНавигационнаяСсылка");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ВертикальнаяПрокрутка");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ВертикальноеПоложениеПодчиненных");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ВертикальныйИнтервал");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ВыравниваниеЭлементовИЗаголовков");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Высота");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ГоризонтальноеПоложениеПодчиненных");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ГоризонтальныйИнтервал");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Группировка");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Доступность");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Заголовок");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ЗакрыватьПриВыборе");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ЗакрыватьПриЗакрытииВладельца");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "КлючНазначенияИспользования");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "КлючСохраненияПоложенияОкна");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Масштаб");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Модифицированность");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "НавигационнаяСсылка");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ОтображатьЗаголовок");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ОтображатьКнопкуЗакрытия");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ОтображениеОбсуждений");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ПоведениеКлавишиEnter");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ПоложениеКоманднойПанели");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ПроверятьЗаполнениеАвтоматически");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "РежимОткрытияОкна");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "СворачиваниеЭлементовПоВажности");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "СохранениеДанныхВНастройках");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "СохраняемыеВНастройкахДанныеМодифицированы");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "ТолькоПросмотр");
с_ЗаполнитьЗначениеСвойства(Форма, ОписаниеФормы, "Ширина");
//Создаем подчиненные элементы
с_ЗаполнитьСвойстваЭлементаФормы(Форма, Форма.КоманднаяПанель, ОписаниеФормы.КоманднаяПанель);
с_СоздатьЭлементы(Форма, ОписаниеФормы.ПодчиненныеЭлементы);
ТипОбъекта = ОписаниеФормы.ТипОбъекта;
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипОбъекта);
КонецПроцедуры
#Область ГруппыФормы
//Заполняет свойства элемента с типом ГруппаФормы
Процедура с_ЗаполнитьСвойстваГруппыФормы(Форма, Элемент, Знач ОписаниеЭлемента)
//Основные свойства
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вид");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Видимость");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Доступность");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Заголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеПодсказки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Подсказка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьИзменениеСостава");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "СочетаниеКлавиш");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТолькоПросмотр");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекстаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШрифтЗаголовка");
//Создаем подчиненные элементы
с_СоздатьЭлементы(Форма, ОписаниеЭлемента.ПодчиненныеЭлементы);
//Заполнение особых свойств, существующих в зависимости от вида группы
Если Элемент.Вид = ВидГруппыФормы.КоманднаяПанель Тогда
с_ЗаполнитьРасширениеКоманднойПанели(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.Подменю Тогда
с_ЗаполнитьРасширениеПодменю(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.ГруппаКолонок Тогда
с_ЗаполнитьРасширениеГруппыКолонок(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.Страницы Тогда
с_ЗаполнитьРасширениеСтраниц(Форма, Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.Страница Тогда
с_ЗаполнитьРасширениеСтраницы(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.ОбычнаяГруппа Тогда
с_ЗаполнитьРасширениеОбычнойГруппы(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидГруппыФормы.ГруппаКнопок Тогда
с_ЗаполнитьРасширениеГруппыКнопок(Элемент, ОписаниеЭлемента);
КонецЕсли;
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у командной панели
Процедура с_ЗаполнитьРасширениеКоманднойПанели(Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВажностьПриОтображении");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложение");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у подменю
Процедура с_ЗаполнитьРасширениеПодменю(Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Картинка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Отображение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеФигуры");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Фигура");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у группы колонок
Процедура с_ЗаполнитьРасширениеГруппыКолонок(Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВШапке");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Группировка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КартинкаШапки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьВШапке");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьЗаголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПутьКДаннымШапки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ФиксацияВТаблице");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ФорматШапки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФонаЗаголовка");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у страниц
Процедура с_ЗаполнитьРасширениеСтраниц(Форма, Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИспользованиеТекущейСтроки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИспользуемаяТаблица");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеСтраниц");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекущееСостояниеСтраниц");
//Если копируется уже открытая форма, текущая страница может отличаться
Элемент.ТекущаяСтраница = Форма.Элементы[ОписаниеЭлемента.ТекущаяСтраница];
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у страницы
Процедура с_ЗаполнитьРасширениеСтраницы(Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВажностьПриОтображении");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальнаяПрокруткаПриСжатии");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложениеПодчиненных");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальныйИнтервал");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыравниваниеЭлементовИЗаголовков");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеПодчиненных");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальныйИнтервал");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Группировка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Картинка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьЗаголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПутьКДаннымЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Формат");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у обычной группы
Процедура с_ЗаполнитьРасширениеОбычнойГруппы(Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВажностьПриОтображении");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложениеПодчиненных");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальныйИнтервал");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыравниваниеЭлементовИЗаголовков");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеПодчиненных");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальныйИнтервал");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Группировка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЗаголовокСвернутогоОтображения");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИспользованиеТекущейСтроки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИспользуемаяТаблица");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Объединенная");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьЗаголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьОтступСлева");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Отображение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеУправления");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Поведение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "СквозноеВыравнивание");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Формат");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФонаЗаголовкаСкрытогоОтображения");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у группы колонок
Процедура с_ЗаполнитьРасширениеГруппыКнопок(Элемент, ОписаниеЭлемента);
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Отображение");
КонецПроцедуры
#КонецОбласти
#Область ТаблицыФормы
//Заполняет свойства элемента с типом ТаблицаФормы
Процедура с_ЗаполнитьСвойстваТаблицыФормы(Форма, Элемент, ОписаниеЭлемента)
//Основные свойства
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоВводНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоВводНовойСтроки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысотаВСтрокахТаблицы");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоОтметкаНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АктивизироватьПоУмолчанию");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВажностьПриОтображении");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВариантУправленияВысотой");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальнаяПолосаПрокрутки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальныеЛинии");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Видимость");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаВСтрокахТаблицы");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаПодвала");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаШапки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальнаяПолосаПрокрутки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальныеЛинии");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Доступность");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Заголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИзменятьПорядокСтрок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИзменятьСоставСтрок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИспользованиеТекущейСтроки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КартинкаСтрок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысотаВСтрокахТаблицы");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МножественныйВыбор");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "НачальноеОтображениеДерева");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "НачальноеОтображениеСписка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтметкаНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Отображение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеПодсказки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоведениеПриСжатииПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Подвал");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Подсказка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоискПриВводе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеКоманднойПанели");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеСостоянияПросмотра");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеСтрокиПоиска");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеУправленияПоиском");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПропускатьПриВводе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПутьКДанным");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПутьКДаннымКартинкиСтроки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьНачалоПеретаскивания");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьПеретаскивание");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВводаСтрок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВыделения");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВыделенияСтроки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "СочетаниеКлавиш");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекущаяСтрока");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекущийРодитель");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекущийЭлемент");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТолькоПросмотр");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекстаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЧередованиеЦветовСтрок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шапка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШрифтЗаголовка");
//Создаем подчиненные элементы
с_СоздатьЭлементы(Форма, ОписаниеЭлемента.ПодчиненныеЭлементы);
//Командная панель и контекстное меню существуют на форме по умолчанию, их нужно только заполнить
с_ЗаполнитьСвойстваЭлементаФормы(Форма, Элемент.КоманднаяПанель, ОписаниеЭлемента.КоманднаяПанель);
с_ЗаполнитьСвойстваЭлементаФормы(Форма, Элемент.КонтекстноеМеню, ОписаниеЭлемента.КонтекстноеМеню);
КонецПроцедуры
#КонецОбласти
#Область ПоляФормы
//Заполняет свойства элемента с типом ПолеФормы
Процедура с_ЗаполнитьСвойстваПоляФормы(Элемент, ОписаниеЭлемента)
//Основные свойства
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоВысотаЯчейки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АктивизироватьПоУмолчанию");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВажностьПриОтображении");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вид");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Видимость");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГиперссылкаЯчейки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВПодвале");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВШапке");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Доступность");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Заголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КартинкаПодвала");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КартинкаШапки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОграничениеТипа");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьВПодвале");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьВШапке");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеПодсказки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеПредупрежденияПриРедактировании");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Подсказка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПредупреждениеПриРедактировании");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПропускатьПриВводе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПутьКДанным");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПутьКДаннымПодвала");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимРедактирования");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "СочетаниеКлавиш");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекстПодвала");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТолькоПросмотр");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ФиксацияВТаблице");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекстаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекстаПодвала");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФонаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФонаПодвала");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШрифтЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШрифтПодвала");
//Заполнение особых свойств, существующих в зависимости от вида поля
Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
с_ЗаполнитьРасширениеПоляВвода(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
с_ЗаполнитьРасширениеНадписи(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеФлажка Тогда
с_ЗаполнитьРасширениеФлажка(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеКартинки Тогда
с_ЗаполнитьРасширениеКартинки(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПереключателя Тогда
с_ЗаполнитьРасширениеПереключателя(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеКалендаря Тогда
с_ЗаполнитьРасширениеКалендаря(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеИндикатора Тогда
с_ЗаполнитьРасширениеИндикатора(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПолосыРегулирования Тогда
с_ЗаполнитьРасширениеПолосыРегулирования(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеДиаграммы Тогда
с_ЗаполнитьРасширениеДиаграммы(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеДиаграммыГанта Тогда
с_ЗаполнитьРасширениеДиаграммыГанта(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеДендрограммы Тогда
с_ЗаполнитьРасширениеДендрограммы(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеТекстовогоДокумента Тогда
с_ЗаполнитьРасширениеТекстовогоДокумента(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеТабличногоДокумента Тогда
с_ЗаполнитьРасширениеТабличногоДокумента(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеФорматированногоДокумента Тогда
с_ЗаполнитьРасширениеФорматированногоДокумента(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеHTMLДокумента Тогда
с_ЗаполнитьРасширениеHTMLДокумента(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеГрафическойСхемы Тогда
с_ЗаполнитьРасширениеГрафическойСхемы(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеГеографическойСхемы Тогда
с_ЗаполнитьРасширениеГеографическойСхемы(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПланировщика Тогда
с_ЗаполнитьРасширениеПланировщика(Элемент, ОписаниеЭлемента);
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеПериода Тогда
с_ЗаполнитьРасширениеПериода(Элемент, ОписаниеЭлемента);
КонецЕсли;
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у поля ввода
Процедура с_ЗаполнитьРасширениеПоляВвода(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоВыборНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоОтметкаНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоПереносСтрок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "БыстрыйВыбор");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыбиратьТип");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыборГруппИЭлементов");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыделятьОтрицательные");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаСпискаВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ДоступныеТипы");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИсторияВыбораПриВводе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КартинкаКнопкиВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаВыпадающегоСписка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаОткрытия");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаОчистки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаРегулирования");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаСоздания");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальноеЗначение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Маска");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МинимальноеЗначение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МногострочныйРежим");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОбновлениеТекстаРедактирования");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтметкаНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеКнопкиВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПараметрыВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПодсказкаВвода");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьСоставнойТип");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РасширенноеРедактирование");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РедактированиеТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВыбораИзСписка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВыбораНезаполненного");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимПароля");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ФормаВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Формат");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ФорматРедактирования");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШиринаВыпадающегоСписка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у надписи
Процедура с_ЗаполнитьРасширениеНадписи(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыделятьОтрицательные");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Гиперссылка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Рамка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимПароля");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Формат");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у флажка
Процедура с_ЗаполнитьРасширениеФлажка(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВидФлажка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЗаголовкаЭлемента");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЭлемента");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОдинаковаяШиринаЭлементов");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТриСостояния");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ФорматРедактирования");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШиринаЭлемента");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у картинки
Процедура с_ЗаполнитьРасширениеКартинки(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Гиперссылка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КартинкаЗначений");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Масштабировать");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазмерКартинки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьНачалоПеретаскивания");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьПеретаскивание");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Рамка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекстНевыбраннойКартинки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у переключателя
Процедура с_ЗаполнитьРасширениеПереключателя(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВидПереключателя");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЗаголовкаЭлемента");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЭлемента");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КоличествоКолонок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОдинаковаяШиринаКолонок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "СписокВыбора");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШиринаЭлемента");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у календаря
Процедура с_ЗаполнитьРасширениеКалендаря(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыделенныеДаты");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаВМесяцах");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КонецПериодаОтображения");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "НачалоПериодаОтображения");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьПанельМесяцев");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьТекущуюДату");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПеремещениеПоКалендарю");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьНачалоПеретаскивания");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьПеретаскивание");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Рамка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимВыделения");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШиринаВМесяцах");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у индикатора
Процедура с_ЗаполнитьРасширениеИндикатора(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальноеЗначение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МинимальноеЗначение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ориентация");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьПроценты");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Отображение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у полосы регулирования
Процедура с_ЗаполнитьРасширениеПолосыРегулирования(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "БольшойШаг");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальноеЗначение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МинимальноеЗначение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ориентация");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеРазметки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шаг");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ШагРазметки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у диаграммы
Процедура с_ЗаполнитьРасширениеДиаграммы(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у диаграммы ганта
Процедура с_ЗаполнитьРасширениеДиаграммыГанта(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у дендрограммы
Процедура с_ЗаполнитьРасширениеДендрограммы(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у текстового документа
Процедура с_ЗаполнитьРасширениеТекстовогоДокумента(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыделенныйТекст");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у табличного документа
Процедура с_ЗаполнитьРасширениеТабличногоДокумента(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальнаяПолосаПрокрутки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальнаяПолосаПрокрутки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Защита");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИспользуемоеИмяФайла");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьГруппировки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьЗаголовки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьИменаСтрокИКолонок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьИменаЯчеек");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображатьСетку");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеСостояния");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьНачалоПеретаскивания");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьПеретаскивание");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Редактирование");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимМасштабированияПросмотра");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РежимОтображенияВыделения");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекущаяОбласть");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТипКурсоров");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЧерноБелыйПросмотр");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у форматированного документа
Процедура с_ЗаполнитьРасширениеФорматированногоДокумента(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыделенныйТекст");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у HTML документа
Процедура с_ЗаполнитьРасширениеHTMLДокумента(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Документ");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИнформацияПрограммыПросмотра");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у графической схемы
Процедура с_ЗаполнитьРасширениеГрафическойСхемы(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Редактирование");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТекущийЭлемент");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у географической схемы
Процедура с_ЗаполнитьРасширениеГеографическойСхемы(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вывод");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у планировщика
Процедура с_ЗаполнитьРасширениеПланировщика(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВыделенныеЭлементы");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьНачалоПеретаскивания");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РазрешитьПеретаскивание");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
КонецПроцедуры
//Заполняет свойства элемента, которые есть только у периода
Процедура с_ЗаполнитьРасширениеПериода(Элемент, ОписаниеЭлемента)
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Рамка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
#КонецОбласти
#Область КнопкиФормы
//Заполняет свойства элемента с типом КнопкаФормы
Процедура с_ЗаполнитьСвойстваКнопкиФормы(Элемент, ОписаниеЭлемента)
//Основные свойства
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АвтоМаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "АктивизироватьПоУмолчанию");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВажностьПриОтображении");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВертикальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Вид");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Видимость");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Высота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ВысотаЗаголовка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ГоризонтальноеПоложениеВГруппе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Доступность");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Заголовок");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ИмяКоманды");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Картинка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "КнопкаПоУмолчанию");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяВысота");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "МаксимальнаяШирина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Отображение");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеПодсказки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ОтображениеФигуры");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПоложениеКартинки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Пометка");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ПропускатьПриВводе");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоВертикали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "РастягиватьПоГоризонтали");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "СочетаниеКлавиш");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ТолькоВоВсехДействиях");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Фигура");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветРамки");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветТекста");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "ЦветФона");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Ширина");
с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, "Шрифт");
КонецПроцедуры
#КонецОбласти
#Область ЗаполнитьФормуПоОПисаниюВспомогательныеПроцедурыИФункции
//Процедура для заполнения конкретного свойства из описания
Процедура с_ЗаполнитьЗначениеСвойства(Элемент, ОписаниеЭлемента, ИмяСвойства);
Если Элемент[ИмяСвойства] <> ОписаниеЭлемента[ИмяСвойства] Тогда
Элемент[ИмяСвойства] = ОписаниеЭлемента[ИмяСвойства];
КонецЕсли;
КонецПроцедуры
//Процедура для создания элементов по списку описаний
Процедура с_СоздатьЭлементы(Форма, ОписаниеКоллекции)
Для Каждого ОписаниеЭлемента Из ОписаниеКоллекции Цикл
//"Неопределено" в качестве родителя записано у корневых элементов
Если ОписаниеЭлемента.Родитель = Неопределено Тогда
Родитель = Форма;
Иначе
Родитель = Форма.Элементы[ОписаниеЭлемента.Родитель];
КонецЕсли;
//Создаем элемент на форме
Элемент = Форма.Элементы.Добавить(ОписаниеЭлемента.Имя, ОписаниеЭлемента.ТипЭлемента, Родитель);
//Заполняем элемент в соответствии с описанием
с_ЗаполнитьСвойстваЭлементаФормы(Форма, Элемент, ОписаниеЭлемента);
КонецЦикла;
КонецПроцедуры
//Заполняет элемент по описанию с учетом типа элемента
Процедура с_ЗаполнитьСвойстваЭлементаФормы(Форма, Элемент, ОписаниеЭлемента)
Если ОписаниеЭлемента.ТипЭлемента = Тип("ГруппаФормы") Тогда
с_ЗаполнитьСвойстваГруппыФормы(Форма, Элемент, ОписаниеЭлемента);
ИначеЕсли ОписаниеЭлемента.ТипЭлемента = Тип("ТаблицаФормы") Тогда
с_ЗаполнитьСвойстваТаблицыФормы(Форма, Элемент, ОписаниеЭлемента);
ИначеЕсли ОписаниеЭлемента.ТипЭлемента = Тип("ПолеФормы") Тогда
с_ЗаполнитьСвойстваПоляФормы(Элемент, ОписаниеЭлемента);
ИначеЕсли ОписаниеЭлемента.ТипЭлемента = Тип("КнопкаФормы") Тогда
с_ЗаполнитьСвойстваКнопкиФормы(Элемент, ОписаниеЭлемента);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
Конфигурация значения не имеет.
Обе обработки тестировались на платформе 8.3.15.1565
Внешняя обработка заполнения тестировалась на БСП версии 3.0.3.77
Обработка копирования форм от БСП не зависит.
Related Posts
- Получение логина и пароля техподдержки 1С из базы
- Класс для вывода отчета в Excel
- Счет-фактура для УПП
- Библиотека классов для создания внешней компоненты 1С на C#
- Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
- Прайс-лист с артикулом в отдельной колонке
КопироватьДанныеФормы(ВладелецФормы.Объект, ИсточникФормы);
(1)
Во-первых, источник в этом методе идет в первом параметре. Во-вторых, что вы пытаетесь им сделать? В статье я использую КопироватьДанныеФормы(), но сделано это для переноса данных формы, а не элементов.
(2) я не читал статью, думал вы вопрос задал — поэтому копирнул вызов из своего кода.
сейчас пробежал по тексту и слегка в замешательстве от количества костылей.
мне хватало метода КопироватьДанныеФормы() для подобных задач
и что-там в параметрах я использую зависит от моей задачи.
минимизировать безразмерные костыли может помогут идеи
https://forum.infostart.ru/forum9/topic102786/
тут
(3) Странно отвечать не читая статью, но да ладно, время ресурс ограниченный, можно понять.
По ссылке довольно интересное решение, спасибо. Правда там задача немного другая, сохранить и передать параметры не зная их список. У меня же задача сохранить и передать все элементы формы. Предполагаю что с параметрами как раз таки проблем не возникнет просто преобразовать их через ДанныеФормыВЗначение(), что в общем то может сработать.
Использовать же СериализаторXDTO для записи формы в XML врядли сработает по той же причине, по которой она не помещается во-временное хранилище — платформа не позволяет сериализовать форму и считает что она должна быть доступна только на клиенте.
Полагаю, что идея по ссылке применима ко всей форме, поэтому я и закинул ее вам, вдруг вы решите отпимизировать свой продукт и вместо массы странного кода получиться метод на один лист.
И вот потом я обязательно внимательно его прочитаю и заберу себе — моя цель чужие идеи в публичном доступе, а не мучения с их реализацией.
старайтесь!
(5) Сериализация работает для параметров, но не работает для управляемой формы, я проверил.
Отсутствует отображение для типа ‘ФормаКлиентскогоПриложения’
{ВнешняяОбработка.ПроизвольнаяОбработка.Форма.Форма.Форма(120)}: СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Структура);
по причине:
http://v8.1c.ru/8.1/data/core }Structure
http://v8.1c.ru/8.1/data/core }Value
Ошибка преобразования данных XDTO:
Запись значения свойства:
форма: Элемент
имя: {
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя: {
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ФормаКлиентскогоПриложения’
Есть еще идеи как избавиться от костылей? Кстати, а что вы называете костылями?
Форма документа доступна на сервере вне своего модуля, для подключенной обработки с видом ЗаполнениеФормы (примерно так), если имеем дело с БСП.
Нельзя. И никогда не было и не будет можно, пока разработкой платформы рулит С.Нуралиев. По его словам, все эти штуки в метаданных — настолько для внутреннего служебного, что нам не светит.
1. Переменные, объявленные в модуле формы, копируются?
2. Что происходит с данными во временных хранилищах, загнанных туда по GUID исходной формы?
3. Учитываются ли обработчики ожидания исходной формы?
(9)
1. Копировать переменные, объявленные в модуле формы равносильно копированию кода этого модуля. По крайней мере я не знаю другого способа получить к ним доступ. Теоретически да, можно выгрузить модуль в файл и распарсить его. Технически — не проще ли использовать реквизиты формы?
2. Данные формы во временное хранилище передаются через структуру. При помещении в структуру происходит копирование значения. Причем это обычное поведение, исключение я видел разве что с объектами XDTO, да со строками таблиц. В этом случае может быть несколько переменных, управляющих одним объектом. В структуре во временном хранилище же по факту доступа к данным исходной формы нет, она даже может безболезненно перестать существовать. Хотя может быть вы спрашивали что-то другое?
3. Ни обработчики событий, ни обработчики ожидания в новую форму не переносятся.
(8) Забавно что в других языках ограничения создаются в целях безопасности, исключения утечек памяти и подобного, а в 1С из-за несоответствия с концепцией.
(10)
1. Насчёт того, что проще использовать — вопрос к писателям типовых конфигураций) Там есть любители во множестве юзать переменные формы.
2. Я про другое: ПоместитьВоВременноеХранилище(НекиеДанные,ЭтотОбъект.УникальныйИдентификатор) — среди таких бывает важное и даже ключевое.
3. ОК
Вы же в курсе что Вы можете получить форму, сделать на ней любые изменения без обработчиков изменения, а уже потом открывать?
Если я правильно понял суть проблемы, то это решение проще и изящнее будет.
(12)
1. Что верно то верно) Я пожалуй позже добавлю получение переменных, хотя само по себе оно может потянуть на статью, и я не уверен что у меня выйдет. Время покажет)
2. Если верить справке — НекиеДанные исчезнут после закрытия формы. Если хочется сохранить их подольше то лучше использовать
тогда НекиеДанные будут храниться до завершения сеанса.
Кстати спасибо, не знал об этих особенностях. Похоже от ошибок меня спасло только то что данные из временного хранилища я использую сразу.
(13) Я похоже ввел в заблуждение постановкой задачи.
Изначальная проблема с которой я столкнулся и которую не смог решить другими способами, это невозможность установить в события элементов свое действие. Да, у элемента есть метод «УстановитьДействие()», но само действие должно существовать в форме. Если действий много, то все они должны быть прописаны в форме, а это приводит к копированию потрянок текста в каждую из форм.
Сама же статья немножко не об этом. Она о том как взять пустую форму без элементов и заполнить ее элементами другой формы.
(15) Ну насчёт действий можно же проще. Взять да при создании формы, либо получив её и ещё не открывая, порезать все действия. Например
и «адью» всем событийщикам, никто не рыпнется.
(14) Верно, но опять же, многое привязывают к гуиду формы именно чтоб не висело почём зря, на это логику вешают — скопируете вы форму, а времянок-то и нету, хз как код начнёт себя вести.
(16) Удалить действие это частный случай, в нем конечно проще сделать так как предлагаете вы. А установить МоеДействие не прописав процедуру в форму уже не получится.
(18) Но ведь можно прописать в целевую форму один универсальный обработчтик (по аналогии с «Подключаемый_…» из БСП) и дело в шляпе? Будет одна точка входа, из нее уже вызывать свои общие модули.
(19) Точно, именно так и сделано в обработке Заполнение из внешней формы. И именно поэтому весь код в конце (под спойлером) записан одним длинным текстом. Этот текст можно скопировать в общий модуль и вызывать из нужной формы. Неудобство только в том что этот вызов нужно прописывать в каждую форму.
Кстати, использовать «Подключаемый_…» это интересная идея, которой я загорелся после комментария @SlavaKron (7). Правда я пока не разобрался как ее использовать. Может быть можно генерировать адрес временного хранилища, передавать его в подключаемую команду, которая описание формы поместит по этому адресу. В таком случае можно будет даже не менять форму, что очень обрадует тех кто не хочет снимать конфу с поддержки. Если у меня получится я дополню статью)
(20) Я такое делал. Вот обработка, которая внедряется в открытую форму на сервере. Она, правда, сыровата — всё руки не дойдут доделать.
(21) Вау
(20)
Ну так и точка входа для получения структуры данных формы тоже надо прописать в каждую.