Имя: Пароль:
1C
1С v8
Ошибка преобразования данных XDTO:
,
0 ЧепухаКакаяТо
 
10.11.14
13:46
До этого писал в основном на обычном приложении, но решил осваивать УФ.

Хотел написать элементарную процедуру автоматической подстановки в ТЧ документа реквизитов справочника. Выдает ошибку Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:

Код:
&НаКлиенте
Процедура СписокРаботСтатьяУчетаПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.СписокРабот.ТекущиеДанные;
    СписокЗначений = ПолучитьРеквизитыСправочника(СтрокаТабличнойЧасти.СтатьяУчета);
    СтрокаТабличнойЧасти.ЕдиницаИзмерения = ЗначениеВДанныеФормы(СписокЗначений.ЕдиницаИзмерения);
    //СтрокаТабличнойЧасти.КодРесурса = СписокЗначений.КодРесурса;
КонецПроцедуры

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


Так не привычно спотыкаться на такой фигне, на обычных такого не было =(
1 Cube
 
10.11.14
13:48
(0) Закомменирй строку

СтатьяУчета = СтатьяУчета.ПолучитьОбъект();

и удивись.
2 ЧепухаКакаяТо
 
10.11.14
13:49
Немного не так ЗначениеВДанныеФормы(, это я уже позже дописал, примерно понимаю что данные на форме и данные из коллекции список значений имеют разный тип и чтобы вставить в ТЧ их надо как то преобразовывать...
3 ЧепухаКакаяТо
 
10.11.14
13:53
Удивлен =)
4 Cube
 
10.11.14
13:57
(3) Просто СтатьяУчета - это переменная, которую ты передал с клиента на сервер. В эту же переменную ты пихаешь значение, которое не может существовать &НаКлиенте и, когда оно возвращается клиенту, то возникает ошибка.
5 ЧепухаКакаяТо
 
10.11.14
14:11
Вот так работает:
&НаКлиенте
Процедура СписокРаботСтатьяУчетаПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.СписокРабот.ТекущиеДанные;
    Соответствие = ПолучитьРеквизитыСправочника(СтрокаТабличнойЧасти.СтатьяУчета);
    СтрокаТабличнойЧасти.ЕдиницаИзмерения = Соответствие.Получить("ЕдиницаИзмерения");
    СтрокаТабличнойЧасти.КодРесурса = Соответствие.Получить("КодРесурса");
КонецПроцедуры

&НаСервере
Функция ПолучитьРеквизитыСправочника(СтатьяУчета)
    Соответствие = Новый Соответствие;
    Соответствие.Вставить("ЕдиницаИзмерения", СтатьяУчета.ЕдиницаИзмерения );
    Соответствие.Вставить("КодРесурса", СтатьяУчета.КодРесурса);
    Возврат Соответствие;
КонецФункции
7 Cube
 
01.12.14
12:37
(6) Это чё, новый вид спама?))))))))

Дата регистрации: 30 ноября 2014; вчера
8 Kamas
 
01.12.14
12:39
(7) кто то тиц повышает
9 Kamas
 
01.12.14
12:40
(8) сомневаюсь что волшебнику это понравится
10 Franchiser
 
гуру
01.12.14
23:59
Чепуха какая-то
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.