|
Ошибка передачи между сервером и клиентом | ☑ | ||
---|---|---|---|---|
0
alexshape
26.07.17
✎
11:50
|
Привет Всем. Подскажите что я делаю не так.
в процедуре : ДобавитьКонтактнуюИнформациюКонтактаВидВыбран Вызываю другую процедуру ничего не возвращаю. ничего не отправляю. Тольок в процедуре создаю Строку таблицы значения реквизиты формы, и создаю элемент на форме &НаКлиенте Процедура ДобавитьКонтактнуюИнформациюКонтактаВидВыбран(ВыбранныйЭлемент, ДополнительныепПараметры) Экспорт Если ВыбранныйЭлемент = Неопределено Тогда Возврат; ИначеЕсли ВыбранныйЭлемент.Значение = "Телефон" Тогда ОбновитьЭлементыКонтактныхЛицТелефоны(); ИначеЕсли ВыбранныйЭлемент.Значение = "Email" Тогда ОбновитьЭлементыКонтактныхЛицEmail(); ИначеЕсли ВыбранныйЭлемент.Значение = "Факс" Тогда // Здесь вставить ОбработчикДляФакса КонецЕсли; КонецПроцедуры &НаСервере Процедура ОбновитьЭлементыКонтактныхЛицEmail(ДанныеКИ = Неопределено) ...Какой то код КонецПроцедуры |
|||
1
Ц_У
26.07.17
✎
11:52
|
Ошибка в чем? ТЗ гоняешь с С на К?
|
|||
2
alexshape
26.07.17
✎
11:53
|
(1) {Справочник.Контрагенты.Форма.ФормаЭлементаУпрВиталий.Форма(786)}: Ошибка при вызове метода контекста (ОбновитьЭлементыКонтактныхЛицEmail)
ОбновитьЭлементыКонтактныхЛицEmail(); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции' |
|||
3
alexshape
26.07.17
✎
14:02
|
Может кто нибудь сталкивался?
|
|||
4
Флориан
26.07.17
✎
14:07
|
(3) поставь 8.3
|
|||
5
Рабочая имитация
26.07.17
✎
14:09
|
(0) > Тольок в процедуре создаю Строку таблицы значения реквизиты формы
...куда-то ее прячешь и делаешь контекстный вызов. Ессно оно на сервер не уедет. "ФормаЭлементаУпрВиталий" - божественно! |
|||
6
2dolist
26.07.17
✎
14:18
|
огнь
|
|||
7
alexshape
26.07.17
✎
14:24
|
(5) ДанныеКонтактныхЛиц - это таблица Значений формы
Код Если ДанныеКИ = Неопределено Тогда ДанныеКИ = ДанныеКонтактныхЛиц.Добавить(); ДанныеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты; КонецЕсли; ИндексКонтакта = ДанныеКонтактныхЛиц.Индекс(ДанныеКИ); ДанныеКонтактныхЛиц[ИндексКонтакта].Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты; ГруппаEmail = Элементы.Добавить("ГруппаДляДобавляемогоEmail_"+ИндексКонтакта, Тип("ГруппаФормы"), Элементы.ДобавляемыйEmail); ГруппаEmail.Вид = ВидГруппыФормы.ОбычнаяГруппа; ГруппаEmail.Отображение = ОтображениеОбычнойГруппы.Нет; ГруппаEmail.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; ГруппаEmail.ОтображатьЗаголовок = Ложь; ДекорацияДляРисунка = Элементы.Добавить("ДекорацияРисункаEmail_"+ИндексКонтакта, Тип("ДекорацияФормы"), ГруппаEmail); ДекорацияДляРисунка.Вид = ВидДекорацииФормы.Картинка; ДекорацияДляРисунка.Ширина = 2; ДекорацияДляРисунка.Высота = 1; ДекорацияДляРисунка.Картинка = БиблиотекаКартинок.КонтактнаяинофрмацияEmail; ДекорацияДляРисунка.Видимость = Истина; ДекорацияЗаголовок = Элементы.Добавить("ДекорацияЗаголовокEmail_"+ИндексКонтакта, Тип("ДекорацияФормы"), ГруппаEmail); ДекорацияЗаголовок.Вид = ВидДекорацииФормы.Надпись; ДекорацияЗаголовок.Ширина = 5; ДекорацияЗаголовок.Заголовок = "Email:"; ПолеПредставление = Элементы.Добавить("ПредставлениеКонтактEmail_" + ИндексКонтакта, Тип("ПолеФормы"), ГруппаEmail); ПолеПредставление.Вид = ВидПоляФормы.ПолеВвода; ПолеПредставление.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ПолеПредставление.ПутьКДанным = "ДанныеКонтактныхЛиц["+ИндексКонтакта+"].Представление"; ПолеПредставление.УстановитьДействие("ПриИзменении", "ПредставлениеКонтактEmail_1ПриИзменении"); ПолеПредставление.УстановитьДействие("Очистка", "Подключаемый_ПредставлениеКИКонтактаОчистка"); // КнопкаНазначитьОсновным = Элементы.Добавить("КнопкаНазначитьОсновнымEmail_"+ИндексКонтакта, Тип("КнопкаФормы"), ГруппаEmail); КнопкаНазначитьОсновным.Отображение = ОтображениеКнопки.Картинка; КнопкаНазначитьОсновным.Картинка = БиблиотекаКартинок.НазначитьОсновным; КнопкаНазначитьОсновным.ИмяКоманды = "НазначитьОсновным"; КнопкаНазначитьОсновным.Ширина = 3; // КнопкаУдалитьПолеТелефона = Элементы.Добавить("КнопкаУдалитьПоленаEmail_"+ ИндексКонтакта, Тип("КнопкаФормы"), ГруппаEmail); КнопкаУдалитьПолеТелефона.Отображение = ОтображениеКнопки.Картинка; КнопкаУдалитьПолеТелефона.Картинка = БиблиотекаКартинок.УдалитьНепосредственно; КнопкаУдалитьПолеТелефона.ИмяКоманды = "УдалитьПоле"; КнопкаУдалитьПолеТелефона.Ширина = 3; |
|||
8
Рабочая имитация
26.07.17
✎
14:34
|
Молодец. Ты меняешь параметр, передаваемый по ссылке, платформа честно пытается тебе вернуть изменённое значение в место вызова. На клиент.
|
|||
9
alexshape
26.07.17
✎
14:59
|
(8) Не очень понял по какой ссылке я передаю параметр. Это же не функция, как она мне что то может вернуть?
Разве я не могу вызывать с клиента серверную процедуру которая добавляет в реквизит формы "таблицазначений" строки? Мне не зачем передавать на сервер, вызов то контекстный |
|||
10
alexshape
26.07.17
✎
15:01
|
(8) и что за параметр я меняю тогда?
|
|||
11
Рабочая имитация
26.07.17
✎
15:27
|
(10) Сколько ж вопросов...
Напиши в объявлении процедуры перед именем параметра магическое слово "Знач" и отстань. Тебе непонятно, а мне неинтересно. |
|||
12
alexshape
26.07.17
✎
15:33
|
(11) Уже, только хотелось разобраться что и как. Все равно спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |