Как в 1С передать таблицу значений с клиента на сервер
Вопрос:
Как корректно передавать данные между клиентом и сервером в управляемых формах, например таблицы значений или выборки?
Ответы:
Проще всего сделать передачу поместив таблицу значение во временно хранилище.
Например:
&НаКлиенте
Процедура ДелаемТаблицуЗначенийНаКлиенте ()
.....
АдресХранилища = ПоместитьВоВременноеХранилище(ТаблицаЗначений); //помещаем нашу ТЗ
СчитываемНаСервере(АдресХранилища)
....
КонецПроцедуры
&НаСервере
Процедура СчитываемНаСервере(АдресХранилища)
.....
ТаблицаЗначения = ПолучитьИзВременногоХранилища(АдресХранилища); //получаем обратно
....
КонецПроцедуры
Вроде должно работать 🙂
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
Еще можно преобразовать таблицу в какой нибудь другой типа данных.
Видел как то такое извращение:
ТекстТЗ = ЗначениеВСтрокуВнутр(ТаблицаЗначений); //получаем текстовое представление таблицы
Передаем переменную в любую процедуру — хоть клиентскую, хоть серверную.
И там делаем вот такое:
ТаблицаЗначений = ЗначениеИзСтрокиВнутр(ТекстТЗ);
Комментарии
Таблицу значений &НаКлиенте не создать и, соответственно, в хранилище не сложить, в тонком и web клиентах ТЗ недоступна
А если ТЗ это реквизит формы?
ЗначениеИзСтрокиВнутр на Тонком клиенте не проканает:
ЗначениеИзСтрокиВнутр (ValueFromStringInternal)
Синтаксис:
ЗначениеИзСтрокиВнутр()
Параметры:
(обязательный)
Тип: Строка.
Системное представление значения в строковом виде.
Возвращаемое значение:
Тип: Произвольный.
Значение, полученное из строкового системного представления.
Описание:
Преобразует значение из строкового системного представления во внутреннее.
Доступность:
Сервер, толстый клиент, внешнее соединение. Для тонкого клиента недоступно :о(