|
Реализация формы элемента справочника при помощи html | ☑ | ||
|---|---|---|---|---|
|
0
pksnik
12.06.23
✎
12:54
|
Здравствуйте. Каким образом можно реализовать форму элемента справочника при помощи html? Интересует именно передача полей ввода.
Имеется вот такой код: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) СформироватьПоле(); КонецПроцедуры &НаСервере Процедура СформироватьПоле() ПолеHTML = "<!DOCTYPE html> |<html lang='ru' xmlns='http://www.w3.org/1999/xhtml'> |<head> | <meta charset='utf-8' /> | <title></title> | <style> | .custom-btn { | width: 180px; | height: 40px; | color: #fff; | border-radius: 5px; | padding: 10px 25px; | font-family: 'Lato', sans-serif; | font-weight: 500; | background: transparent; | cursor: pointer; | transition: all 0.3s ease; | position: relative; | display: inline-block; | box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.5), 7px 7px 20px 0px rgba(0,0,0,.1), 4px 4px 5px 0px rgba(0,0,0,.1); | outline: none; | } | | .btn-1 { | background: rgb(6,14,131); | background: linear-gradient(0deg, rgba(6,14,131,1) 0%, rgba(12,25,180,1) 100%); | border: none; | } | | .btn-1:hover { | background: rgb(0,3,255); | background: linear-gradient(0deg, rgba(0,3,255,1) 0%, rgba(2,126,251,1) 100%); | } | .btn-2 { | background: rgb(255, 0, 0); | background: linear-gradient(0deg, rgb(255 0 0) 0%, rgb(141 10 10) 100%); | border: none; | } | | .btn-2:hover { | background: rgb(255 106 0); | background: linear-gradient(0deg, rgb(198 19 19) 0%, rgb(248 99 99) 100%); | } | </style> |</head> |<body> | <button data-button-id='1' class='custom-btn btn-1'>Записать и закрыть</button> | <button data-button-id='2' class='custom-btn btn-2'>Записать</button> |<form> | <fieldset> | <legend>Основная информация</legend> | <p><label for='code'>Код <em>*</em></label><input type='text' id='code'></p> | <p><label for='name'>Наименование <em>*</em></label><input type='text' id='name'></p> | <p><label for='harakter'>Характеристика</label><input type='text' id='harakter'></p> | <p><label for='tovar'>Товар(Ссылка на справочник)</label><input type='text' id='tovar'></p> | </fieldset> | </form> |</body> |</html>"; КонецПроцедуры &НаКлиенте Процедура ПолеHTMLПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) Если ДанныеСобытия.Anchor = Неопределено Тогда Если ДанныеСобытия.Button = Неопределено Тогда Возврат Иначе Если ДанныеСобытия.Button.attributes.length = 0 Тогда Возврат; Иначе Для каждого Атрибут Из ДанныеСобытия.Button.attributes Цикл Если Атрибут.name = "data-button-id" Тогда ОбработатьОткрытиеФормы(Атрибут.value); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; Иначе Если ДанныеСобытия.Anchor.attributes.length = 0 Тогда Возврат; Иначе Для каждого Атрибут Из ДанныеСобытия.Anchor.attributes Цикл Если Атрибут.name = "data-button-id" Тогда ОбработатьОткрытиеФормы(Атрибут.value); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; КонецПроцедуры &НаКлиенте Функция ОбработатьОткрытиеФормы(ЗначениеКнопки) Соответствие = Новый Соответствие; Соответствие.Вставить("1","Справочник.Виды.ФормаСписка"); Соответствие.Вставить("2","Справочник.Виды.ФормаСписка"); Если ЗначениеКнопки = "1" Тогда ЭтотОбъект.Записать(); ЭтотОбъект.Закрыть(); Иначе ОткрытьФорму(Соответствие[ЗначениеКнопки]); КонецЕсли; Если ЗначениеКнопки = "2" Тогда ЭтотОбъект.Записать(); Иначе ОткрытьФорму(Соответствие[ЗначениеКнопки]); КонецЕсли КонецФункции Так же в самом справочнике есть два реквизита: Товар(ссылка на другой справочник) и Характеристика(обычная строка). |
|||
|
1
Волшебник
12.06.23
✎
19:13
|
Не морочьте людям голову. Сделайте обычную форму.
|
| Форум | Правила | Описание | Секции | Поиск |