**Хранилище значений в файл \ с файла (лучшее) + меню выбора файлов**
&НаКлиенте
Процедура СохранитьВФайл(Команда)
ИмяФайла = ПолучитьИмяФайла(РежимДиалогаВыбораФайла.Сохранение);
Если ПустаяСтрока(ИмяФайла) Тогда
Возврат;
КонецЕсли;
Попытка
ФайлТЗ = Новый ТекстовыйДокумент;
ФайлТЗ.УстановитьТекст(ПолучитьДанныеТЗ());
ФайлТЗ.Записать(ИмяФайла);
Доработки_Сервер.ОтправитьСообщениеПользователю("Успешно сохранено");
Исключение
Доработки_Сервер.ОтправитьСообщениеПользователю("Ошибка сохранения");
КонецПопытки;
КонецПроцедуры
&НаКлиенте
Функция ПолучитьИмяФайла(Режим)
ВыборФайла = Новый ДиалогВыбораФайла(Режим);
ВыборФайла.ПолноеИмяФайла = "";
Фильтр = "Таблица значений 1С(*.1ct)|*.1ct";
ВыборФайла.Фильтр = Фильтр;
ВыборФайла.МножественныйВыбор = Ложь;
ВыборФайла.Выбрать();
Возврат ВыборФайла.ПолноеИмяФайла;
КонецФункции
&НаСервере
Функция ПолучитьДанныеТЗ()
ДанныеТЗ = Новый ХранилищеЗначения(ТЧПартнеры.Выгрузить());
Возврат XMLСтрока(ДанныеТЗ);
КонецФункции// ПолучитьДанныеТЗ()
&НаКлиенте
Процедура ЗагрузитьИзФайла(Команда)
ТЧПартнеры.Очистить();
ИмяФайла = ПолучитьИмяФайла(РежимДиалогаВыбораФайла.Открытие);
Если ПустаяСтрока(ИмяФайла) Тогда
Возврат;
КонецЕсли;
ФайлТЗ = Новый ТекстовыйДокумент;
ФайлТЗ.Прочитать(ИмяФайла);
ЗагрузитьДанныеТЗ(ФайлТЗ.ПолучитьТекст());
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьДанныеТЗ(Данные)
ДанныеТЗ = XMLЗначение(Тип("ХранилищеЗначения"), Данные).Получить();
Если ТипЗнч(ДанныеТЗ) = Тип("ТаблицаЗначений") Тогда
ТЧПартнеры.Загрузить(ДанныеТЗ);
КонецЕсли;
КонецПроцедуры