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