xranilische_znachenij_v_fajl_s_fajla_luchshee

Хранилище значений в файл \ с файла (лучшее) + меню выбора файлов

&НаКлиенте
Процедура СохранитьВФайл(Команда)
	ИмяФайла = ПолучитьИмяФайла(РежимДиалогаВыбораФайла.Сохранение);
	Если ПустаяСтрока(ИмяФайла) Тогда
		Возврат;
	КонецЕсли;
	
	Попытка
		ФайлТЗ = Новый ТекстовыйДокумент;
		ФайлТЗ.УстановитьТекст(ПолучитьДанныеТЗ());
		ФайлТЗ.Записать(ИмяФайла);
		Доработки_Сервер.ОтправитьСообщениеПользователю("Успешно сохранено");
	Исключение
		Доработки_Сервер.ОтправитьСообщениеПользователю("Ошибка сохранения");
	КонецПопытки;
КонецПроцедуры
&НаКлиенте
Функция ПолучитьИмяФайла(Режим)
	
	ВыборФайла = Новый ДиалогВыбораФайла(Режим);
	ВыборФайла.ПолноеИмяФайла = "";
	Фильтр = "Таблица значений 1С(*.1ct)|*.1ct";
	ВыборФайла.Фильтр = Фильтр;
	ВыборФайла.МножественныйВыбор = Ложь;
	ВыборФайла.Выбрать();
	
	Возврат ВыборФайла.ПолноеИмяФайла;
	
КонецФункции
&НаСервере
Функция ПолучитьДанныеТЗ()
	
	ДанныеТЗ = Новый ХранилищеЗначения(ТЧПартнеры.Выгрузить());
	Возврат XMLСтрока(ДанныеТЗ);
	
КонецФункции// ПолучитьДанныеТЗ()
&НаКлиенте
Процедура ЗагрузитьИзФайла(Команда)
	
	ТЧПартнеры.Очистить();
	
	ИмяФайла = ПолучитьИмяФайла(РежимДиалогаВыбораФайла.Открытие);
	Если ПустаяСтрока(ИмяФайла) Тогда
		Возврат;
	КонецЕсли;
	
	ФайлТЗ = Новый ТекстовыйДокумент;
	ФайлТЗ.Прочитать(ИмяФайла);
	ЗагрузитьДанныеТЗ(ФайлТЗ.ПолучитьТекст());
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьДанныеТЗ(Данные)
	
	ДанныеТЗ = XMLЗначение(Тип("ХранилищеЗначения"), Данные).Получить();
	Если ТипЗнч(ДанныеТЗ) = Тип("ТаблицаЗначений") Тогда
		ТЧПартнеры.Загрузить(ДанныеТЗ);
	КонецЕсли;
	
КонецПроцедуры
  • /sites/data/pages/xranilische_znachenij_v_fajl_s_fajla_luchshee.txt
  • Последнее изменение: 2023/02/26 20:25
  • tro