Правило обмена прикрепленных файлов

Здравствуйте! Не могу решить задачу, есть правила обмена между базами УНФ-УНФ, обмен идёт через веб сервис при записи номенклатуры между базами. Все хорошо, все данные попадают в другую базу сразу, но вот с прикреплёнными файлами проблема, не могу понять и найти пример, как передать файл картинки в другую базу. Может кто реализовывал такое? Заранее благодарен!

OneTracker - трекер учета рабочего времени программиста 1С

Ответы

markers
#1, 16 июля 2020 10:26

Не совсем понятно, как именно у вас обмен происходит, но можно получить двочиные данные / картинку как текст, вызвав Base64Строка(); и на другой стороне выполнив обратное преобразование Base64Значение();


a45
#2, 16 июля 2020 10:26

ДвоичныеДанные = ...

	Если ДвоичныеДанные <> Неопределено Тогда
		
		АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
	
		ПараметрыФайла = Новый Структура();
		ПараметрыФайла.Вставить("Автор", ПараметрыСеанса.ТекущийПользователь);
		ПараметрыФайла.Вставить("ВладелецФайлов", Ссылка);
		ПараметрыФайла.Вставить("ИмяБезРасширения", Ссылка.Код);
		ПараметрыФайла.Вставить("РасширениеБезТочки", Прав(Путь,3));
		ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное");
		ПараметрыФайла.Вставить("ГруппаФайлов");
		
		РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресВХранилище);
		
		Сообщить("[+] Картинка добавлена " + Объект.Артикул);
		
	Иначе
		
		Сообщить("[Х] Нет двоичных данных " + Объект.Артикул);
		
	КонецЕсли;


ShadoW_Tula
#3, 16 июля 2020 10:30

(1) markers, обмен через веб сервис с использованием правила конвертации, всё работает, кроме передачи картинки.


ShadoW_Tula
#4, 16 июля 2020 10:34

(2) a45, немного не понятен смысл помещать во временное хранилище, если файл в источнике уже ХранилищеЗначения...


ShadoW_Tula
#5, 16 июля 2020 10:36

(2) a45, Безымянный.png


reborn85
#6, 16 июля 2020 10:39

СП
ПоместитьВоВременноеХранилище - Сохраняет сериализуемое значение во временное хранилище.
ХранилищеЗначения - Предназначен для хранения значения в специальном формате. Он может быть записан в поля базы данных, имеющие соответствующий тип. Это позволяет сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля

совершенно разные понятия


a45
#7, ред. 16 июля 2020 10:47

(5) ShadoW_Tula, событие после загрузки. а двоичные данные как вариант через параметр Base64Строка()


ShadoW_Tula
#8, 16 июля 2020 10:46

(6) reborn85, да, точно, понял)))


ShadoW_Tula
#9, 16 июля 2020 10:48

(7) a45, ага, попробую разобраться)))


Модератору