Имя: Пароль:
1C
1С v8
Ошибка отображения типов: Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'
0 invictus
 
26.01.24
03:15
40 минут бьюсь над двумя примитивными строчками. При изменении кол-ва должна меняться цена. В общий модуль занес процедуру изменения

Процедура ОбновитьСумму(ТекущДанные) Экспорт
    ТекущДанные.Сумма = ТекущДанные.Количество * ТекущДанные.Цена;    
КонецПроцедуры

При изменении срабатывает событие
Процедура ТоварыКоличествоПриИзменении(Элемент)
    ТекДанные = Элементы.Товары.ТекущиеДанные;
    АвтоматическийРассчет.ОбновитьСумму(ТекДанные);
КонецПроцедуры


И возникает ошибка
Ошибка при вызове метода контекста (ОбновитьСумму)
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(22)}:АвтоматическийРассчет.ОбновитьСумму(ТекДанные);

по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'



Что не так? В другой конфигурации точно такой же код работает
1 Admin_Net_1C
 
26.01.24
08:16
Создай структуру, заполни ее и передавай как параметр при серверном вызове:


ТекДанные = Элементы.Товары.ТекущиеДанные;
... // создание структуры с нужными полями
ЗаполнитьЗначениеСвойств(<ТвояСтруктура>, ТекДанные)
...
АвтоматическийРассчет.ОбновитьСумму(<ТвояСтруктура>)
2 Волшебник
 
26.01.24
08:41
АвтоматическийРассчет исправьте на АвтоматическийРасчет
3 invictus
 
27.01.24
01:50
Большое спасибо за ответ!
1) Проблема решена включением флажка "Клиент". Однако вопрос, получается, что этот общий модуль будет исполняться на Клиенте? (но ведь у сервера и вызова сервера тоже стоит включенный флажок)

Или же при вызове с Клиента будет исполняться на Клиенте, а при вызове с Сервера на сервере?

2) Стало интересно, тогда какая тут будет директива компиляции, если включены эти 3 флажка?

3) Как я понял, я могу передать ТекДанные на сервер представив их в виде структуры. Но опять глупый вопрос, я не могу отправить ТекДанные в их изначальном виде потому что ...? (я так особо и не понял почему ТекДанные не могут попасть на сервер)
4 Rettro
 
05.02.24
02:21
"ТекДанные" содержат "ДанныеФормыЭлементКоллекции", а это мутабельный тип. следовательно на сервер не может перенестись
5 mikecool
 
05.02.24
08:58
за отправку на сервер для расчета суммы - эцих с гвоздями пожизненно
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.