В процессе работы прикладного решения часто бывает нужно передавать данные из одной формы в другую. Примером такого обмена данными между формами является передача табличной части из формы документа в форму подбора и обратно.
Можно передавать данные через клиент в параметре типа ДанныеФормыКоллекция, а можно использовать для этого временное хранилище, работа с которым будет происходить на сервере.
С одной стороны, при передаче данных через клиент мы минимизируем вызовы сервера. Но объем передаваемых данных может быть при этом довольно большим. Кроме того, поскольку на клиенте присутствуют не все данные коллекций форм, а только их видимая часть (см. ), то данные при передаче будут постепенно «дочитываться» с сервера.
С другой стороны, этого можно избежать, передавая данные через временное хранилище, минуя клиент, хотя для этого и потребуются дополнительные вызовы сервера.
Посмотрим, какое решение более оптимально. Рассмотрим пример.
Предположим, в табличную часть документа РасходнаяНакладная подбираются товары из справочника Товары. При нажатии кнопки Подбор, расположенной в форме документа, должна открываться форма подбора, в которую передаются строки табличной части документа. После того как пользователь произведет подбор товаров из справочника и закроет форму подбора, отобранные товары передаются обратно в табличную часть расходной накладной (рис. 4.66).

Рис. 4.66. Подбор товаров в табличную часть расходной накладной
Рассмотрим возможные варианты решения этой задачи.