Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
По теме из базы знаний
- Обработка групповой выгрузки файлов из Хранилища дополнительной информации ...
- IMAGE RESIZE с групповой обработкой файлов изображений Хранилища Дополнительной информации !!!
- Просмотр хранилища дополнительной информации
- Печать файлов из Хранилища дополнительной информации .doc, .xls, .pdf и изображения
- Сжатие картинок в хранилище дополнительной информации для УТ 10.3 и УПП
Найденные решения
Не надо ничего в КД делать.Все сделано до вас.В УТ 10.3 Сервис->Выгрузка данных в идентичную конфигурацию.Открываешь закладку Правила выгрузки данных.Жмешь кнопку Загрузить правила обмена.ДАлее снимаешь все галочки и устанавливаешь только для справочника хранилище дополнительной информации.Указываешь период выгрузки и файл в который будешь выгружать.Жмешь выполнить.В другой конфигурации Сервис-Прочие обмены данными-Универсальный обмен данными.На закладке загрузка выбираешь выгруженный файл.Жмешь Загрузить данные и радуешься жизни!!!
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не надо ничего в КД делать.Все сделано до вас.В УТ 10.3 Сервис->Выгрузка данных в идентичную конфигурацию.Открываешь закладку Правила выгрузки данных.Жмешь кнопку Загрузить правила обмена.ДАлее снимаешь все галочки и устанавливаешь только для справочника хранилище дополнительной информации.Указываешь период выгрузки и файл в который будешь выгружать.Жмешь выполнить.В другой конфигурации Сервис-Прочие обмены данными-Универсальный обмен данными.На закладке загрузка выбираешь выгруженный файл.Жмешь Загрузить данные и радуешься жизни!!!
Чуток запаздали с ответом, написал обработку для себя
Выкладываю, вдруг кому пригодиться6
В итоге в каталоге временных файлов в папке "Хранилище" (эту папку создать вручную) выгрузятся все файлы из хранилище. В процедуре загрузки все втянуться обратно
Выкладываю, вдруг кому пригодиться6
/////Выгрузка
Процедура КнопкаВыполнитьНажатие(Кнопка)
Текст = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ХранилищеДополнительнойИнформации.Ссылка,
| ХранилищеДополнительнойИнформации.ПометкаУдаления,
| ХранилищеДополнительнойИнформации.Предопределенный,
| ХранилищеДополнительнойИнформации.Наименование,
| ХранилищеДополнительнойИнформации.ВидДанных,
| ХранилищеДополнительнойИнформации.ИмяФайла,
| ХранилищеДополнительнойИнформации.Объект,
| ХранилищеДополнительнойИнформации.Хранилище,
| ХранилищеДополнительнойИнформации.ТекстФайла,
| ХранилищеДополнительнойИнформации.ЗначениеРазделенияДоступа
|ИЗ
| Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
|ГДЕ
| ХранилищеДополнительнойИнформации.ВидДанных = &ВидДанных
| И ВЫРАЗИТЬ(ХранилищеДополнительнойИнформации.Объект КАК Справочник.Номенклатура) ССЫЛКА Справочник.Номенклатура";
//| (НЕ (ВЫРАЗИТЬ(ХранилищеДополнительнойИнформации.ИмяФайла КАК СТРОКА(20))) = """")";
Запрос.УстановитьПараметр("ВидДанных", Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл);
Выборка = Запрос.Выполнить().Выгрузить();
Инд = ЭлементыФормы.Индикатор1;
Инд.Значение = 0;
Инд.МаксимальноеЗначение = Выборка.Количество();
Для Каждого Стр Из Выборка Цикл
Если ТипЗнч(Стр.Хранилище) <> Тип("ДвоичныеДанные") Тогда
ДвоичныеДанные = Стр.Хранилище.Получить();
Иначе
ДвоичныеДанные = Стр.Хранилище;
КонецЕсли;
Сообщить(Стр.Объект);
ИмяФайла = Строка(Стр.Объект.Код) + ";" +Строка(Стр.Наименование) + "=" + Строка(Стр.ИмяФайла);
Попытка
ДвоичныеДанные.Записать(КаталогВременныхФайлов() + "Хранилище\" + Строка(ИмяФайла));
Текст.ДобавитьСтроку(ИмяФайла);
Исключение
КонецПопытки;
Инд.Значение = Инд.Значение + 1;
КонецЦикла;
Текст.Записать("C:\TEMP\Хранилище\filesheet.txt");
КонецПроцедуры
////Загрузка
Процедура ОсновныеДействияФормыДействие(Кнопка)
Текст = Новый ТекстовыйДокумент;
// открытие файла
Текст.Прочитать("C:\Temp\Хранилище\filesheet.txt");
Если Текст.КоличествоСтрок() = 0 Тогда
Текст = "Файл пуст";
Сообщить(Текст);
ПоказатьОповещениеПользователя(Текст);
Возврат
КонецЕсли;
Индик = ЭлементыФормы.Индикатор1;
Индик.МаксимальноеЗначение = Текст.КоличествоСтрок();
Индик.Значение = 0;
// перебор строк текстового документа
Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл //
ОбработкаПрерыванияПользователя();
// получить строку файла с указанным номером
Стр = Текст.ПолучитьСтроку(НомерСтроки);
Позиция = Найти(Стр, ";");
КонНоменклатуры = Сред(Стр,1,Позиция-1);
ИмяФайлаИНаименование = Сред(Стр, Позиция+1);
Позиция1 = Найти(ИмяФайлаИНаименование, "=");
Наименование = Сред(ИмяФайлаИНаименование,1,Позиция1-1);
ИмяФайла = Сред(ИмяФайлаИНаименование, Позиция1+1);
Сообщить(КонНоменклатуры + " " + ИмяФайла);
СпрНоменклатура = Справочники.Номенклатура.НайтиПоКоду(КонНоменклатуры);
ЭлементХранилище = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
ЭлементХранилище.ИмяФайла = ИмяФайла;
ЭлементХранилище.Наименование = Наименование;
ЭлементХранилище.Объект = СпрНоменклатура.Ссылка;
Файл = Новый Файл(КаталогВременныхФайлов() + "Хранилище\" + Стр);
ХранилищеКартинки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Файл.ПолноеИмя),Новый СжатиеДанных(9));
ЭлементХранилище.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;
ЭлементХранилище.Хранилище = ХранилищеКартинки;
ЭлементХранилище.Записать();
Индик.Значение = Индик.Значение + 1;
КонецЦикла
КонецПроцедуры
ПоказатьВ итоге в каталоге временных файлов в папке "Хранилище" (эту папку создать вручную) выгрузятся все файлы из хранилище. В процедуре загрузки все втянуться обратно
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот