|
Перенос прикрепленных файлов | ☑ | ||
---|---|---|---|---|
0
first_may
06.06.24
✎
10:47
|
Добрый день.
Есть две одинаковые конфигурации. По ошибки прикрепили файлы к документам не в той базе. Подскажите пож, как можно автоматически перенести эти прикрепления в другую базу? руками - это крайний вариант, так как количество не маленькое. |
|||
1
craxx
06.06.24
✎
11:05
|
(0) Нарисовать правила обмена в КД2 и перенести
|
|||
2
first_may
06.06.24
✎
11:25
|
(1) только надо знать что переносить..
какие регистры и справочники |
|||
3
craxx
06.06.24
✎
12:11
|
(2) Телепатов тут нет, название конфигураций не озвучено
|
|||
4
lamme
06.06.24
✎
12:14
|
есть обработка -
перенос справочников и документов между идентичными конфигурациями как для уф так и для обычных форм попробуй |
|||
5
craxx
06.06.24
✎
12:16
|
(4) в общем случае не прокатит, там надо понимать где картинка лежит, может и в РС.
|
|||
6
first_may
06.06.24
✎
12:21
|
(3) базы ерп..
я посмотрел на что ссылается файл, вернее элемент справочника присоединенный файл.. регистры сведений - двоичныеданныефайлов - сведенияофайлах - файлыврабочем каталоге |
|||
7
Лирик
06.06.24
✎
12:25
|
(6) Две одинаковые конфигурации не есть две одинаковые базы. Файлы прикрепляются к владельцам. Если ты уверен что в в двух базах владельцы идентичны (вплоть до УИД) тогда можно (4) во всех остальных случаях (1)
|
|||
8
Aleksey
06.06.24
✎
12:27
|
(6) Есть еще вариант что файлы физически хранятся вне базы.
|
|||
9
first_may
06.06.24
✎
12:41
|
(7) доки точно одинаковые..
они переносились через выгрузка/загрузка в формате xml.. остались только файлы к ним.. "перенос справочников и документов между идентичными конфигурациями " - но не регистров получается только через КД? |
|||
10
Лирик
06.06.24
✎
13:09
|
(9) Для обычных форм я пользовался "Выгрузкой загрузкой данных XML" v. 2.1.6
Там есть все. Для УФ не искал подобного, ибо мне проще КД 2. Наверно, запустив ЕРП в режиме обычных форм можно и ей перенести.
|
|||
11
first_may
06.06.24
✎
13:49
|
(10) в ерп есть такая же, но с ее помощью не получается выгрузить..
|
|||
12
Ногаминебить
06.06.24
✎
13:55
|
Приспособить готовое под свои специфичные потребности часто получается дольше. Цепануться любым привычным и знакомым способом (ком, хттп) и перетащить.
|
|||
13
PLUT
06.06.24
✎
14:11
|
(0) сериализацией влёгкую, если пофигурации одинаковые
выгрузка ПодробностиДанныеДляВыгрузки = ПолучитьДанныеДляВыгрузкиНаСервере(); ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб)); СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ДанныеДляВыгрузки, НазначениеТипаXML.Явное); Текст = Новый ТекстовыйДокумент; Текст.УстановитьТекст(ЗаписьJSON.Закрыть()); Текст.Записать(ИмяФайла); &НаСервере Функция ЭлементВТекстJSON(Элем) ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб)); СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, Элем.ПолучитьОбъект(), НазначениеТипаXML.Явное); Возврат ЗаписьJSON.Закрыть(); КонецФункции &НаСервере Функция ПредставлениеСправочника(Ссылка) ТекстПредставление = Ссылка.Метаданные().Синоним + " " + XMLСтрока(Ссылка); Возврат ТекстПредставление; КонецФункции &НаСервере Функция ПолучитьДанныеДляВыгрузкиНаСервере() ДанныеДляВыгрузки = Новый Соответствие(); Выборка = тут магические заклинания по получению нужных сцылок справочника для выгрузки Пока Выборка.Следующий() Цикл ТекСпр = Выборка.Ссылка; ДанныеДляВыгрузки.Вставить(ПредставлениеСправочника(ТекСпр), Новый Структура("Справочник", ЭлементВТекстJSON(ТекСпр) ) ); КонецЦикла; Возврат ДанныеДляВыгрузки; КонецФункции загрузка ПодробностиТекстовыйФайл = Новый ТекстовыйДокумент; ТекстовыйФайл.Прочитать(ИмяФайла); РезультатЗагрузки = ЗагрузитьСправочникИзФайлаJSONНаСервере(ТекстовыйФайл.ПолучитьТекст()); Если РезультатЗагрузки["Успех"] Тогда Сообщить("Справочник загружен"); Иначе Сообщить("Ошибка: " + РезультатЗагрузки["ТекстСообщения"]); КонецЕсли; &НаСервере Функция ЗагрузитьСправочникИзФайлаJSONНаСервере(ТекстJSON) РезультатЗагрузки = Новый Структура("Успех, |ТекстСообщения", Ложь, "" ); ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекстJSON); ДанныеДляЗагрузки = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON); //Соответствие: Ключ, Значение: Структура(Справочник) СписокДокументов = Новый Массив; Для Каждого ТекЭлем из ДанныеДляЗагрузки Цикл Попытка Если ТекЭлем.Значение.Свойство("Справочник") Тогда //Справочник ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекЭлем.Значение["Справочник"]); ОбъектИзФайла = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON); ОбъектИзФайла.ОбменДанными.Загрузка = Истина; ОбъектИзФайла.Записать(); КонецЕсли; РезультатЗагрузки.Вставить("Успех", Истина); Исключение РезультатЗагрузки.Вставить("Успех", Ложь); РезультатЗагрузки.Вставить("ТекстСообщения", ОписаниеОшибки()); КонецПопытки; КонецЦикла; Возврат РезультатЗагрузки; КонецФункции |
|||
14
PLUT
06.06.24
✎
14:27
|
+(13) для выгрузки/загрузки регистров сведений придется еще немного магических заклинаний насыпать, но ссуть та же
|
|||
15
first_may
06.06.24
✎
14:33
|
(14) справочники прикрепленных уже сделаны..
они даже отображаются на форме в разделе Файлы.. но открыть их нельзя, так как понимаю что сами находятся вот тут регистры сведений - двоичныеданныефайлов - сведенияофайлах - файлыврабочем каталоге |
|||
16
PLUT
06.06.24
✎
14:37
|
(15) смерть кощея в яйце
РС двоичныеданныефайлов Измерения Файл - тип: ОпределяемыйТип.ПрисоединенныйФайл Ресурсы ДвоичныеДанныеФайла - тип: ХренилищеЗначения |
|||
17
PLUT
06.06.24
✎
14:46
|
+(16)
вот тут пример "оборачивания" (слово то какое!) сохранения/восстановления Хренилища значения при сериализации в XML (для JSON аналогично) https://infostart.ru/1c/articles/1514425/ |
|||
18
first_may
06.06.24
✎
15:56
|
Спасибо всем..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |