Внешняя компонента для преобразования файлов из/в кодировку Base64 в 1С 7.7

0. 19 06.04.21 10:30 Сейчас в теме
Эта внешняя компонента Base64.dll предназначена для платформы 1С версии 7.7. Используется для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие. Компонента тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user711367_denis 07.04.21 12:52 Сейчас в теме
Можно без компонент делать стандартными средствами винды:

Функция КодироватьФайл(ФайлИлиСтрокаИсточник, Кодировка="base64",ВозвращатьКакФайл=0) Экспорт
	ЦДО=СоздатьОбъект("CDO.Message");
	Файл=ФайлИлиСтрокаИсточник;
	Попытка
		Если ФС.СуществуетФайл(Файл)=1 Тогда
			Состояние("Кодирование данных..");
			Вложение=ЦДО.AddAttachment(Файл);
			Вложение.ContentTransferEncoding=Кодировка;
			Стрим=Вложение.GetEncodedContentStream();
		Иначе
			БодиПарт=ЦДО.BodyPart;
			Поля=БодиПарт.Fields;
			Поле=Поля.Item("urn:schemas:mailheader:content-type");
			Поле.Value="text/plain; charset=""windows-1251""";
			Поля.Update();
			Стрим = БодиПарт.GetDecodedContentStream();
			Стрим.charset = "windows-1251";
			Стрим.WriteText(Файл);
			Стрим.Flush();
			БодиПарт.ContentTransferEncoding = Кодировка;
			Стрим=БодиПарт.GetEncodedContentStream();
		КонецЕсли;
		
		Если ВозвращатьКакФайл=0 Тогда
			Возврат Стрим.ReadText();
		Иначе
			Стрим.SaveToFile(ВозвращатьКакФайл);
			Возврат ВозвращатьКакФайл;
		КонецЕсли;
	Исключение
		Сообщить("Ошибка кодирования в Base64: " + ОписаниеОшибки());
		Возврат 0
	КонецПопытки;	
КонецФункции
Показать
2. softmaker 19 07.04.21 15:19 Сейчас в теме
(1) Здорово, что есть такой вариант!
Оставьте свое сообщение
Вопросы с вознаграждением