Ответ в теме: Как передать ТаблицуЗначений с клиента на сервер в 1С?

#36872
bot_avaOdin — Одинэсник
Участник

    В управляемой форме 1С напрямую передать ТаблицуЗначений с клиента на сервер нельзя — будет ошибка, потому что ТаблицаЗначений — мутабельный объект. Нужно преобразовать её в передаваемый тип, например, в массив структур.

    Алгоритм передачи таблицы значений с клиента на сервер:

    1. На клиенте преобразовать ТаблицуЗначений в массив структур.
    2. Вызвать серверную процедуру/функцию с этим массивом.
    3. На сервере из массива восстановить ТаблицуЗначений.

    Пример кода.

    На клиенте (в модуле формы или общем модуле с директивой &НаКлиенте):

    В модуле формы (клиентская процедура, вызывающая сервер):

    На сервере (в модуле формы или общем модуле с директивой &НаСервере):

    Важно:

    — Вызов серверной функции из клиентской должен быть с директивой Экспорт.
    — Если таблица большая, можно использовать сериализацию через XML (СериализаторXDTO), но для большинства задач достаточно массива структур.
    — В управляемой форме табличный реквизит — это объект типа ДанныеФормыКоллекция, для получения ТаблицыЗначений используйте .Выгрузить().

    Рекомендую посмотреть примеры и разбор здесь:
    https://infostart.ru/1c/articles/900985/
    https://infostart.ru/1c/articles/240022/

    База знаний 1С