Имя: Пароль:
1C
 
Элементы управления html.
0 Deahianaianyrto
 
14.03.16
11:37
Я вывожу html в поле html-документа.
Как мне обрабатывать в 1С клики по кнопкам в  html? Какие я должен передать параметры в странице html?
1 Deahianaianyrto
 
14.03.16
11:53
Неужели никто не знает?
2 Deahianaianyrto
 
14.03.16
11:59
Может кинете ссылку на описание?
3 sash-ml
 
14.03.16
12:08
версия платформы, какие формы?
4 Остап Сулейманович
 
14.03.16
12:26
(0) Вот содержимое HTML :
Реквизит1 = "
|<HTML>
|<body>
|<form>
|<input type='button' name = 'MyExcellentButton' value = 'Привет'>
|</form>
|</form>
|</dody>
|</HTML>
|";
Уложено в "Поле HTML документа" на форме. К событию "ПриНажатии" поля привязан обработчик :
Реквизит1ПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)

В ДанныеСобытия приходят
ДанныеСобытия.Element.name = "MyExcellentButton"
ДанныеСобытия.Event.type = "click"

Все вроде в наличии. Зачем еще что-то "передать параметры в странице html" я понять затрудняюсь.
5 Остап Сулейманович
 
14.03.16
12:30
+ (4) Добавил еще 2 кнопки :
<input type='button' name = 'MyExcellentButton1' value = 'Привет'>
<input type='button' name = 'MyExcellentButton2' value = 'Привет'>
<input type='button' name = 'MyExcellentButton3' value = 'Привет'>

В обработчик Реквизит1ПриНажатии в параметр ДанныеСобытия в поле ДанныеСобытия.Element.name приходит вполне корректное имя кнопаря "MyExcellentButton1", "MyExcellentButton2" или "MyExcellentButton3".
6 Deahianaianyrto
 
14.03.16
12:52
А что означает Реквизит1ПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) ?
Я имею готовую html-форму. Я в ней должен описать еще Реквизит1ПриНажатии ?
7 Deahianaianyrto
 
14.03.16
12:53
Что означает (откуда взялся) Реквизит1?
8 Deahianaianyrto
 
14.03.16
12:53
(4) 6 и 7 Вам.
9 Остап Сулейманович
 
14.03.16
12:54
(7) Реквизит1 - это имя поля HTML-документа на форме 1С.
10 Остап Сулейманович
 
14.03.16
12:56
+ (9) Если я правильно понял - то вот это вот : "Я имею готовую html-форму." отображается на форме 1С?

ЗЫ. Ну так написано в (0). "Я вывожу html в поле html-документа." Вот имя "поле html-документа." в моем случае и есть "Реквизит1". Ну лень мне было его в куда-то переименовывать.
11 Deahianaianyrto
 
14.03.16
12:56
А где в HTML описано, какой запускать обработчик?
12 Остап Сулейманович
 
14.03.16
12:58
(11) В HTML в теге <FORM> - свойство action.
13 Остап Сулейманович
 
14.03.16
12:59
+ (12) Зачем тебе события HTML? Ты же смотришь на все из 1С?
14 AceVi
 
14.03.16
13:00
(11) Ты свойства Поля HTML в 1С смотрел?
Там в самом конце список кучи событий этого поля в т.ч. и onclick
15 GreenLab
 
14.03.16
13:10
Ну как пример
Процедура СписокПроизводителейМоделейРазмеровonclick(Элемент, pEvtObj)
    
    pEvtObj.returnValue = Ложь;
    Если ВРег(pEvtObj.srcElement.tagName) = "BUTTON" Тогда
        
        СсылкаТекст = pEvtObj.srcElement.value;
        
        Если Найти(СсылкаТекст,"#brand#") > 0 Тогда
            УникальныйИдентификаторСтрока = СтрЗаменить(СсылкаТекст,"#brand#","");
            мПредыдущаяГруппа             = Справочники.НоменклатураИнтернетКаталог.ПустаяСсылка();
            мТекущаяГруппа                = Справочники.НоменклатураИнтернетКаталог.ПолучитьСсылку(Новый УникальныйИдентификатор(УникальныйИдентификаторСтрока));
            ЗаполнитьГруппыТоваров();
        ИначеЕсли Найти(СсылкаТекст,"#model#") > 0 Тогда    
            УникальныйИдентификаторСтрока = СтрЗаменить(СсылкаТекст,"#model#","");
            мПредыдущаяГруппа             = мТекущаяГруппа.Родитель;
            мТекущаяГруппа                = Справочники.НоменклатураИнтернетКаталог.ПолучитьСсылку(Новый УникальныйИдентификатор(УникальныйИдентификаторСтрока));
            ЗаполнитьГруппыТоваров();
        ИначеЕсли Найти(СсылкаТекст,"#nomenclature#") > 0 Тогда  
            
            
        ИначеЕсли Найти(СсылкаТекст,"#buy#") > 0 Тогда    
            УникальныйИдентификаторСтрока = СтрЗаменить(СсылкаТекст,"#buy#","");
            Номенклатура                  = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(УникальныйИдентификаторСтрока));
            Если ЗначениеЗаполнено(Номенклатура) Тогда
                ДобавитьТоварВКорзину(Номенклатура);
            КонецЕсли;
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
16 Deahianaianyrto
 
14.03.16
13:24
Спасибо большое! Вы мне очень помогли!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший