Вставить объект в буфер обмена средствами 1С



Платформа 1С 8.3 позволяет работать с буфером обмена с помощью внешней компоненты COMОбъект("HtmlFile").

Внимание! Структура базы приёмника и структура база источника должно быть 100% идентичной!



Вставить объект в буфер обмена с помощью внешней компоненты в 1С 8.3:



&НаКлиенте

Процедура Вставить_объект_В_буфер_обмена(Команда)



COM_Объект = Новый COMОбъект("htmlfile");

Вставить_объект_НаСервере(COM_Объект.ParentWindow.ClipboardData.Getdata("Text"));



КонецПроцедуры



&НаСервере

Процедура Вставить_объект_Сервере(ТекСтрока)



Новая_запись=Новый ЧтениеXML;

Новая_запись.УстановитьСтроку(ТекСтрока);

Новая_запись.Прочитать(); // элемент Root

Новая_запись.Прочитать(); // элемент с документом



Если ВозможностьЧтенияXML(Новая_запись) Тогда // получаем тип данных XML из Новая_запись

СсылкаНаОбъект=ПрочитатьXML(Новая_запись);

СсылкаНаОбъект.Ссылка.УникальныйИдентификатор();

Пользователю = Новый СообщениеПользователю;

Если СсылкаНаОбъект.Ссылка.Пустая() Тогда

СсылкаНаОбъект.Записать();

Пользователю.Текст = "Загружен "+СсылкаНаОбъект.Ссылка;

Иначе

СсылкаНаОбъект = СсылкаНаОбъект.Ссылка.ПолучитьОбъект();

ЗаполнитьЗначенияСвойств(СсылкаНаОбъект, Новая_запись);

Пользователю.Текст = "Изменен "+СсылкаНаОбъект.Ссылка;

КонецЕсли;

Пользователю.Сообщить();

КонецЕсли;



Новая_запись.Закрыть();



КонецПроцедуры



✍️ @odin1C_rus