|
Ошибка передачи данных между клиентом и сервером. Но я ничего не передаю... | ☑ | ||
---|---|---|---|---|
0
Ученик дилетанта
19.09.19
✎
20:15
|
Добрый вечер!
Вот такой код: &НаКлиенте Процедура ТабличнаяЧасть1ОдинПриИзменении(Элемент) СделатьКрасиво(ЗначениеАктивнойЯчейки,НомерТекСтроки,ИмяКолонки) КонецПроцедуры &НаСервере Процедура СделатьКрасиво(ЗначениеАктивнойЯчейки,Строка,Колонка) ТекТаблица = Объект.Таблица.Выгрузить(,"Один,Два,Три,Четыре,Пять,Шесть,Семь,Восемь,Девять"); Сч = 0; СвязьНомеровИИменКолонок = новый Структура; Для Каждого Колонка Из ТекТаблица.Колонки Цикл СвязьНомеровИИменКолонок.Вставить(Колонка.Имя,Сч); Сч = Сч+1; КонецЦикла; ТекОбъект = РеквизитФормыВЗначение("Объект"); ТекОбъект.Таблица[0].ЦветЯчейкиОдин = Перечисления.ЦветаЯчеек.Красный; ЗначениеВРеквизитФормы(ТекОбъект,"Объект"); КонецПроцедуры Вызывает такую ошибку: {Документ.ЧудесныйДокумент.Форма.ФормаДокумента.Форма(48)}: Ошибка при вызове метода контекста (СделатьКрасиво) СделатьКрасиво(ЗначениеАктивнойЯчейки,НомерТекСтроки,ИмяКолонки); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'КолонкаТаблицыЗначений' Я не могу понять где тут происходит передача КолонкаТаблицыЗначений. В качестве параметров процедуры передаю число, строку и ссылку на перечисление. Назад вообще ничего не возвращаю. подскажите, люди добрые... Подозреваю вот эту строку: ЗначениеВРеквизитФормы(ТекОбъект,"Объект") но как без нее отобразить изменения в тЧ объекта не знаю. |
|||
1
Dzenn
гуру
19.09.19
✎
20:29
|
В чём задача заключается? Кажется, ты очень усложняешь. Может, использовать простое условное форматирование?
|
|||
2
lodger
19.09.19
✎
20:34
|
"В качестве параметров процедуры передаю число, строку и ссылку на перечисление."
не равно "СделатьКрасиво(ЗначениеАктивнойЯчейки,НомерТекСтроки,ИмяКолонки)" |
|||
3
lodger
19.09.19
✎
20:35
|
ставь точку на вызове и посмотри каждый параметр. один из них будет "ЭлементКоллекции..тырыпыры", а их передавать нельзя.
|
|||
4
Ученик дилетанта
19.09.19
✎
20:35
|
(1) А я и использую условное форматирование. Мне надо многократно обойти таблицу, проверяя различные параметры, перед тем как выставить значение реквизитов, связанных с условным форматированием, для этого удобно использовать ТаблицуЗначений, а она доступна только на сервере.
|
|||
5
Ученик дилетанта
19.09.19
✎
20:36
|
(2) Не совсем понял, что вы имеете в виду. Что я передаю не ссылку на перечисление, а элемент перечисления?
|
|||
6
Ученик дилетанта
19.09.19
✎
20:38
|
(2) ТипЗнч, вызванный для передаваемых параметров, возвращает "строка", "число", "ИмяПеречисления".
|
|||
7
Ученик дилетанта
19.09.19
✎
20:39
|
Опять же какая разница, что я передаю с клиента на сервер? Этот тип доступен на клиенте, значит на сервере тем более доступен. Ошибка должна возникать при обратной передаче. А где она эта передаче? в этом изначальный вопрос.
|
|||
8
lodger
19.09.19
✎
20:46
|
(7) доступен там и сям, а для передачи не сериализуется.
|
|||
9
Ученик дилетанта
19.09.19
✎
20:50
|
https://ibb.co/bNYfN5N Проверил на табло, типы такие, как я говорил...
|
|||
10
H A D G E H O G s
19.09.19
✎
21:05
|
Процедура СделатьКрасиво(ЗначениеАктивнойЯчейки,Строка,Колонка)
Заменить на Процедура СделатьКрасиво(ЗначениеАктивнойЯчейки,Строка,Знач Колонка) |
|||
11
H A D G E H O G s
19.09.19
✎
21:06
|
Для Каждого Колонка Из ТекТаблица.Колонки Цикл
переменной "Колонка" присваивается значение типа КолонкаТаблицыЗначений, которое пытается вернуться на клиент |
|||
12
Ученик дилетанта
19.09.19
✎
21:14
|
(11) Спасибо! Действительно проблема в совпадении имени переменной итератора цикла и параметра процедуры!
|
|||
13
Ученик дилетанта
19.09.19
✎
21:15
|
(10) Достаточно было поменть в итераторе "Колонка" на "ТекКолонка"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |