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