Как создать элементы формы 1с
Перейти к содержимому

Как создать элементы формы 1с

  • автор:

Программирование 1С 8.х для начинающих

  • Вы здесь:
  • Главная
  • Статьи
  • Конфигурация
  • Форма
  • Программное создание элементов управляемых форм 1C

Поделитесь в соцсетях

Конфигурация

Программное создание элементов управляемых форм 1C

Подробности Категория: Форма

    • Как программно добавить Группу на форму?
    • Как программно добавить Поле ввода на форму?
    • Как программно добавить колонку в ТЧ?
    • Как программно вывести табличную часть документа на управляемую форму?
    • Как Добавить программно флажок на форму?
    • Как установить событие для программно созданного элемента?

    В чем удобство использования программного создания элементов формы:

    1. более удобно находить изменения между конфигурациями
    2. Изменять форму «на лету» в процессе работы
    3. Минимизировать изменения типовой конфигурации (в некоторых конфигурациях для этого созданы Переопределяемые модули/процедуры)

    Рассмотрим наиболее частые вопросы, все действия показаны здесь проводятся в форме в процедуре ПриСозданииНаСервере

    Как программно добавить Группу на форму?

    ГруппаТовары = Элементы.Добавить("ГруппаТовары", Тип("ГруппаФормы"),Элементы); // Добавляет группу на форму ГруппаТовары.Заголовок = "Товары на продажу";

    Как программно добавить Поле ввода на форму?

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

    Как программно добавить колонку в ТЧ?

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

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

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

    Как Добавить программно флажок на форму?

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

    Как установить событие для программно созданного элемента?

    НовыйРеквизит = ЭлементыФормы.Добавить("ЭтоИностранныйПоставщик", Тип("ПолеФормы"), ГруппаТовары); 
    НовыйРеквизит.Заголовок = "Это иностранный поставщик";
    НовыйРеквизит.Вид = ВидПоляФормы.ПолеФлажка;
    НовыйРеквизит.ПутьКДанным = "Объект.ЭтоИностранныйПоставщик"; НовыйРеквизит.УстановитьДействие("ПриИзменении", "ЭтоИностранныйПоставщикПриИзменении"); // ЭтоИностранныйПоставщикПриИзменении - это название процедуры которая находится в модуле формы

    Недостаточно прав для комментирования

    Программное создание элементов формы в управляемом приложении

    Сегодня поговорим о том, как программно создать кнопку и поле ввода в управляемой форме.

    Программное создание кнопки

    Для создания кнопки, нам потребуется добавить команду, саму кнопку и обработчик ее нажатия (это по желанию).

    Все манипуляции нужно проводить на сервере.

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

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

    Программное создание поля ввода

    Для создания поля ввода потребуется добавить форме реквизит и само поле ввода, как и в случае с кнопкой, все манипуляции нужно проводить на сервере.

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

    Процедура СоздатьПоле(Команда)
    СоздатьПолеНаСервере();
    КонецПроцедуры
    Процедура СоздатьПолеНаСервере()
    //Добавляем реквизит
    нРеквизиты = Новый Массив;

    Реквизит = Новый РеквизитФормы(«Реквизит1», Новый ОписаниеТипов(«Строка»), , «Созданное поле», Истина);

    нРеквизиты.Добавить(Реквизит);
    ИзменитьРеквизиты(нРеквизиты);
    //Добавляем поле ввода
    Элемент = ЭтаФорма.Элементы.Добавить(«Поле», Тип(«ПолеФормы»), ЭтаФорма);
    Элемент.Вид = ВидПоляФормы.ПолеВвода;
    Элемент.ПутьКДанным = «Реквизит1»;
    КонецПроцедуры

    Если создаваемый элемент нужно поместить в какую-либо группу, то это делается при создании этого элемента, указыванием нужного родителя:

    Элемент = ЭтаФорма.Элементы.Добавить(«Кнопка1», Тип(«КнопкаФормы»), ЭтаФорма.Элементы.Группа1);

    В данном случае кнопка добавиться в элемент с названием «Группа1» и будет отображаться в соответствие со свойствами этого элемента.

    Как видите, все очень просто, и если захотеть, то всю форму в управляемом приложении можно рисовать программно (другие элементы управления создаются аналогично).

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

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

    Оценка статьи:

    УжасноПлохоНеплохоХорошо Отлично(оценок: 2, средняя оценка: 5,00 из 5)

    1С Управляемые Формы. Программное создание реквизитов , команд, элементов (Часть 1)

    Введение в управляемая форма 1С реквизиты элементы команды

    Рекомендуется модифицировать управляемые формы типового решения 1С программно для удобного будущего обновления и исключения конфликтов, а также для удобной работы с изменениями и надежности при использовании механизма расширений.
    В некоторых типовых конфигурациях 1С (ЕРП 2, УТ 11) используется механизм упрощенного изменения конфигурации. Статьи о типовом механизме можно найти в разделе полезных ссылок. Данный механизм используется в БСП, и его необходимо знать при модификации типовых конфигураций.
    При добавлении элементов на форму программно можно отредактировать практически любое свойство из панель свойств, которое можно установить вручную в конфигураторе.
    Также все описанные в текущем разделе процедуры и функции находятся во внешней обработке УпрФормы.

    Примеры работы с объектом «ДанныеФормыКоллекция» и созданием дин. списка и таблицы значений программно можно будет посмотреть в части 2.

    Для запуска обработки в режиме предприятия необходимо наличие объектов «Справочники.Номенклатура», подчиненный ему «Справочники.ХарактеристикиНоменклатуры» и «РегистрыСведений.ЦеныНоменклатуры”.

    Программное переопределение обработчиков событий формы и элементов формы

    Переопределить обработчики событий формы можно в обработчике «ПриСозданииНаСервере» (кроме самого обрабочика «ПриСозданииНаСервере») или в теле модуля формы в контексте сервера (например, Переопределение событий ПриЧтениинаСервере и ПриСозданииНаСервере).

    &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЭтаФорма.УстановитьДействие(“ОбработкаВыбора”, “пр_ОбработкаВыбора”) КонецПроцедуры

    В теле модуля формы:

    #Если Сервер Тогда ЭтаФорма.УстановитьДействие("ПриСозданииНаСервере", "пр_ПриСозданииНаСервере"); #КонецЕсли

    А в новой процедуре нужно добавить вызов основной, если такая процедура есть.

    &НаСервере Процедура пр_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ПриСозданииНаСервере(Отказ, СтандартнаяОбработка); КонецПроцедуры

    Аналогично можно поступить и с обработчиками элементов формы:

    Элементы.Номенклатура.УстановитьДействие(“ПриИзменении”, “пр_НоменклатураПриИзменении”)

    Программное создание групп формы.

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

    Доступные виды групп формы:

    Программное добавление команды на форму.

    Удалить команду можно при помощи метода коллекции формы команд: Команды.Удалить(). Удалять можно только те команды, которые были созданы программно.

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

    Программное создание декораций форм.

    &НаСервере Процедура пр_СоздатьДекорацию() //добавить надпись Элемент = Элементы.Добавить("Надпись1", Тип("ДекорацияФормы"), Элементы["пр_Группа1"]); Элемент.Вид = ВидДекорацииФормы.Надпись; Элемент.Заголовок = "Добавленная надпись"; //для того, чтобы добавить картинку, необходимо выбрать ВидДекорацииФормы.Картинка Элемент = Элементы.Добавить("Картинка1", Тип("ДекорацияФормы"), Элементы["пр_Группа1"]); Элемент.Вид = ВидДекорацииФормы.Картинка; Элемент.Картинка = БиблиотекаКартинок.Бесконечность; КонецПроцедуры

    Программное добавление реквизита на форму.

    Добавлять новые реквизиты в управляемую форму и удалять необходимо с помощью метода ИзменитьРеквизиты(), куда в параметры передается массив добавляемых реквизитов и массив удаляемых. Удалять при этом можно только те реквизиты, которые были созданы программно.

    &НаСервере Процедура пр_СоздатьРеквизиты() // Массив для новых реквизитов ДобавляемыеРеквизиты = Новый Массив; // Опишем ревизиты формы Реквизит_Использование = Новый РеквизитФормы("пр_Использование", Новый ОписаниеТипов("Булево"), "", "Использование"); Реквизит_Номенклатура = Новый РеквизитФормы("пр_Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"), "", "Номенклатура"); Реквизит_Характеристика = Новый РеквизитФормы("пр_Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"), "", "Характеристика"); Реквизит_Количество = Новый РеквизитФормы("пр_Количество", Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(10, 3)), "", "Количество"); Реквизит_УдалитьКоличество = Новый РеквизитФормы("пр_УдалитьКоличество", Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(10, 3)), "", "Удалить_Количество"); //если используется БСП, то можно для определения описания типов использовать функцию //ОбщегоНазначения.ОписаниеТипаСтрока(ДлинаСтроки) //ОбщегоНазначения.ОписаниеТипаЧисло(Разрядность, РазрядностьДробнойЧасти = 0, ЗнакЧисла = Неопределено) //ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты) Реквизит_Информация = Новый РеквизитФормы("пр_Информация", ОбщегоНазначения.ОписаниеТипаСтрока(100), "", "Информация"); // Для наглядности заполним массив после описания реквизитов формы ДобавляемыеРеквизиты.Добавить(Реквизит_Использование); ДобавляемыеРеквизиты.Добавить(Реквизит_Номенклатура); ДобавляемыеРеквизиты.Добавить(Реквизит_Характеристика); ДобавляемыеРеквизиты.Добавить(Реквизит_Количество); ДобавляемыеРеквизиты.Добавить(Реквизит_УдалитьКоличество); ДобавляемыеРеквизиты.Добавить(Реквизит_Информация); // Добавим новые реквизиты в форму ИзменитьРеквизиты(ДобавляемыеРеквизиты); КонецПроцедуры &НаСервере Процедура пр_УдалитьРеквизиты() // Массив для удаляемых реквизитов УдаляемыеРеквизиты = Новый Массив; //указываем путь к удаляемому реквизиту УдаляемыеРеквизиты.Добавить("пр_УдалитьКоличество"); //К добавленным реквизитам нужно обращаться через переменную ЭтаФорма // Добавим новые реквизиты в форму ИзменитьРеквизиты(,УдаляемыеРеквизиты); КонецПроцедуры

    Вывод реквизитов на форму.

    &НаСервере Процедура пр_ВывестиРеквизитыНаФорму() НовыйЭлемент = Элементы.Добавить("пр_Использование", Тип("ПолеФормы"), Элементы.пр_Страница1); НовыйЭлемент.ПутьКДанным = "пр_Использование"; НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка; НовыйЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; //установим обработчик события элементы НовыйЭлемент.УстановитьДействие("ПриИзменении", "пр_ИспользованиеПриИзменении"); НовыйЭлемент = Элементы.Добавить("пр_Номенклатура", Тип("ПолеФормы"), Элементы.пр_Страница1); НовыйЭлемент.ПутьКДанным = "пр_Номенклатура"; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; //установить параметр выбора элемента НовыйМассив = Новый Массив(); НовыйПараметр = Новый ПараметрВыбора("Отбор.ПометкаУдаления", Ложь); НовыйМассив.Добавить(НовыйПараметр); НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив); НовыйЭлемент.ПараметрыВыбора = НовыеПараметры; НовыйЭлемент.УстановитьДействие("ПриИзменении", "пр_НоменклатураПриИзменении"); НовыйЭлемент = Элементы.Добавить("пр_Характеристика", Тип("ПолеФормы"), Элементы.пр_Страница1); НовыйЭлемент.ПутьКДанным = "пр_Характеристика"; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.Заголовок = "Характеристика номенклатуры"; //добавить связь параметров выбора по реквизиту владелец в зависимости от выбранной номенклатуры НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "пр_Номенклатура"); НовыйМассив = Новый Массив(); НовыйМассив.Добавить(НоваяСвязь); НовыйЭлемент.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыйМассив); НовыйЭлемент.УстановитьДействие("ПриИзменении", "пр_ХарактеристикаПриИзменении"); НовыйЭлемент = Элементы.Добавить("пр_Количество", Тип("ПолеФормы"), Элементы.пр_Страница1); НовыйЭлемент.ПутьКДанным = "пр_Количество"; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; //установить формат НовыйЭлемент.ФорматРедактирования = "ЧДЦ=0; ЧРГ=.; ЧН=Отсутствует"; НовыйЭлемент = Элементы.Добавить("пр_Информация", Тип("ПолеФормы"), Элементы.пр_Страница1); НовыйЭлемент.ПутьКДанным = "пр_Информация"; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; //установить список выбора НовыйЭлемент.РежимВыбораИзСписка = Истина; Массив = Новый Массив; Массив.Добавить("Необходимо дозаказать"); Массив.Добавить("Достаточно"); Массив.Добавить("Оформить полный заказ"); НовыйЭлемент.СписокВыбора.ЗагрузитьЗначения(Массив); КонецПроцедуры &НаКлиенте Процедура пр_ИспользованиеПриИзменении(Элемент) КонецПроцедуры

    Вызов процедур при создании на сервере 1С

    После описания всех процедур выводим их в процедуре ПриСозданииНаСервере. Также можно изменить программно некоторые свойства формы, например, заголовок. Чтобы был виден только наш заголовок, нужно отключить свойство Автозаголовок.

    &НаСервере &НаСервере Процедура пр_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //установим заголовок формы ЭтаФорма.Заголовок = "Шаблон для программной работы с реквизитами, командами и элементами формы"; ЭтаФорма.АвтоЗаголовок = Ложь; пр_СоздатьГруппы(); пр_СоздатьНовуюКоманду(); пр_СоздатьДекорацию(); пр_СоздатьРеквизиты(); пр_УдалитьРеквизиты(); пр_ВывестиРеквизитыНаФорму(); КонецПроцедуры

    Некоторые советы при программном редактировании формы

    • Если вы не используете префиксы при создании новых команд и элементов рекомендуется проверять существование создаваемых объектов по имени с помощью метода Найти(), который вернет Неопределено, если объект в коллекции не найден:
      • Элементы.Найти(«пр_Владелец»);
      • Команды.Найти(«пр_НоваяКоманда»);
      &НаКлиентеНаСервереБезКонтекста // Функция определяет существует ли реквизит у объекта. // Функция ЕстьРеквизитОбъекта(мОбъект, ИмяРеквизита) КлючУникальности = Новый УникальныйИдентификатор; СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); ЗаполнитьЗначенияСвойств(СтруктураРеквизита, мОбъект); Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; КонецФункции // ЕстьРеквизитОбъекта()
      • Свойства, методы и коллекции управляемой формы описаны в синтакс-помощнике в разделе «Интерфейс (управляемый)»;
      • Изучите БСП, если она имеется в вашей конфигурации. Например в общем модуле «ОбщегоНазначения» уже описаны функции для создания объекта ОписаниеТипов, необходимого при создании новых реквизитов на форме:
        • ОбщегоНазначения.ОписаниеТипаСтрока(ДлинаСтроки) — Создает объект ОписаниеТипов, содержащий тип Строка;
        • ОбщегоНазначения.ОписаниеТипаЧисло(Разрядность, РазрядностьДробнойЧасти = 0, ЗнакЧисла = Неопределено) — Создает объект ОписаниеТипов, содержащий тип Число;
        • ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты) — Создает объект ОписаниеТипов, содержащий тип Дата;
        • ОбщегоНазначенияВызовСервера.ЦветСтиля(ИмяЦветаСтиля) — Функция получает цвет стиля по имени элемента стиля;
        • ОбщегоНазначенияВызовСервера.ШрифтСтиля(ИмяШрифтаСтиля) — Функция получает шрифт стиля по имени элемента стиля.

        Итак, взглянем на получившийся результат. Все элементы на форме созданы программно:

        Как создать элементы формы 1с

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

        &НаКлиенте
        Процедура ВидНоменклатурыПриИзменении(Элемент)
        парам = СписокПараметровНоменклатуры();
        для Каждого тек из Парам цикл
        полеВ = СоздатьПолеВвода(тек); // Сюда параметр не передается
        //обработка отображения поля
        КонецЦикла;

        Элементы.ПараметрыФильтров.Видимость = Истина;
        КонецПроцедуры

        &НаСервере
        Функция СписокПараметровНоменклатуры()
        запрос = новый запрос();
        запрос.Текст = «ВЫБРАТЬ
        | ВидыНоменклатурыПараметрыНоменклатуры.НаименованиеПараметра КАК Параметр,
        | ВидыНоменклатурыПараметрыНоменклатуры.ТипПараметра КАК Тип,
        | ВидыНоменклатурыПараметрыНоменклатуры.НомерСтроки КАК НомерСтроки
        |ИЗ
        | Справочник.ВидыНоменклатуры.ПараметрыНоменклатуры КАК ВидыНоменклатурыПараметрыНоменклатуры
        |ГДЕ
        | ВидыНоменклатурыПараметрыНоменклатуры.Ссылка = &Ссылка
        |
        |УПОРЯДОЧИТЬ ПО
        | НомерСтроки»;
        запрос.УстановитьПараметр(«Ссылка», ВидНоменклатуры);
        парам = запрос.Выполнить().Выгрузить();
        СтруктураПараметров = новый Структура;

        для Каждого тек из Парам цикл
        СтруктураПараметров.Вставить(СтрЗаменить(тек.Параметр, » «, «»), Строка(тек.Тип));
        КонецЦикла;

        Функция СоздатьПолеВвода(тек)
        ГруппаФильров = Элементы.ПараметрыФильтров; //обычная группа на форме
        Если не тек.Значение = «ДаНет» тогда
        отборНаФорме = ЭтаФорма.элементы.Добавить(тек.Ключ, Тип(«ПолеФормы»), ГруппаФильров);
        отборНаФорме.Вид = ВидПоляФормы.ПолеВвода;
        иначе
        отборНаФорме = ЭтаФорма.элементы.Добавить(тек.Ключ, Тип(«ПолеФормы»), ГруппаФильров);
        отборНаФорме.Вид = ВидПоляФормы.ПолеФлажка;
        КонецЕсли;
        //отборНаФорме.Заголовок = тек.Параметр;
        отборНаФорме.ПоложениеЗаголовка=ПоложениеЗаголовкаЭлементаФормы.Лево;
        отборНаФорме.Видимость=Истина;
        ОтборСтруктура = новый Структура;
        ОтборСтруктура.Вставить(«Параметр», отборНаФорме);
        возврат ОтборСтруктура
        КонецФункции

        : Ошибка при вызове метода контекста (СоздатьПолеВвода)
        полеВ = СоздатьПолеВвода(тек);
        по причине:
        Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
        по причине:
        Ошибка преобразования данных XDTO:
        Запись значения свойства ‘ret’:
        форма: Элемент
        имя: ret
        по причине:
        Ошибка преобразования данных XDTO:
        Запись значения свойства ‘Value’:
        форма: Элемент
        имя: Value
        по причине:
        Ошибка отображения типов:
        Отсутствует отображение для типа ‘ПолеФормы’

        Пробывал на сервере создаль элементы формы, потом отобразить их на клиенте, это вариант 2, тоже не пошло, т.к. при переходе в в клиент у формы нужных реквизитов не оказалось

        вариант 3, пробывал создать и отобразить прям на сервере, но нечего не происходит.

        Помогите пожалуйста разобраться.

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

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