В 1с77 создать XML-файл в кодировке UTF-8, с помощью компоненты V7Plus

1. Kuzya_brаtsk 314 15.03.21 11:47 Сейчас в теме
Доброго времени суток, друзья!
Стоит задача написать выгрузку накладных поставщика из 1с7.7 ТиС 9.2 в формате XML c кодировкой UTF-8,
Сделал, НО с кодировкой Windows-1251, как задать требуемую кодировку в момент создания файла?
Вознаграждение за ответ
Показать полностью
Найденные решения
4. umev 15.03.21 13:09 Сейчас в теме +0.4 $m
А разве при создании не достаточно указать UTF-8?
Анализатор=СоздатьОбъект("AddIn.XMLParser");
Корень=Анализатор.СоздатьДокумент();
Корень.Кодировка ="UTF-8";
Kuzya_brаtsk; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user856012 14 15.03.21 12:12 Сейчас в теме
(1) Если мне не изменяет склероз, то просто "задать кодировку" не получится: 7.7 не работает с UTF-8.

Но можно программно перекодировать строки из Windows-1251 в UTF-8 перед записью в файл, код взять, например, отсюда: https://infostart.ru/public/18816/

Проверено на личном опыте, работает.
Kuzya_brаtsk; +1 Ответить
2. DenisCh 15.03.21 11:54 Сейчас в теме
Можно пробовать через MSXML
Ссылка на пример
Kuzya_brаtsk; +1 Ответить
4. umev 15.03.21 13:09 Сейчас в теме +0.4 $m
А разве при создании не достаточно указать UTF-8?
Анализатор=СоздатьОбъект("AddIn.XMLParser");
Корень=Анализатор.СоздатьДокумент();
Корень.Кодировка ="UTF-8";
Kuzya_brаtsk; +1 Ответить
6. Kuzya_brаtsk 314 16.03.21 04:44 Сейчас в теме
5. VladimirB 17 15.03.21 16:57 Сейчас в теме +0.1 $m
(1)
Функция ПерекодироватьСтроку_Из_Win_в_UTF_8(_Строка) Экспорт
	НоваяСтрока = ""; 
	Для i=1 по СтрДлина(_Строка) Цикл 
		Символ = Сред(_Строка,i,1); 
		КодСимвола = КодСимв(Символ); 
		Если (КодСимвола > 191) и (КодСимвола < 224) Тогда // А - Я 
			НоваяСтрока = НоваяСтрока + Симв(208)+Симв(КодСимвола-48); 
		ИначеЕсли (КодСимвола > 223) и (КодСимвола < 240) Тогда // а - п 
			НоваяСтрока = НоваяСтрока + Симв(208)+Симв(КодСимвола-48); 
		ИначеЕсли (КодСимвола > 239) и (КодСимвола < 256) Тогда // р - я 
			НоваяСтрока = НоваяСтрока + Симв(209)+Симв(КодСимвола-112); 
		ИначеЕсли (Символ = "ё") или (Символ = "Ё") Тогда 
			НоваяСтрока = НоваяСтрока + Симв(208)+Симв(КодСимвола-39); 
		ИначеЕсли (Символ = "№") Тогда 
			НоваяСтрока = НоваяСтрока + Симв(226)+Симв(132)+Симв(150);


	    Иначе 
			НоваяСтрока = НоваяСтрока + Символ; 
		КонецЕсли; 
	КонецЦикла; 
	Возврат НоваяСтрока; 
КонецФункции
Показать
Kuzya_brаtsk; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот