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