Не работает символ переноса из 1с в Word 2013

1. w00fer 25.04.17 14:13 Сейчас в теме
Пересмотрел кучу вопросов на эту тему и так ничего не помогло. Выводится или квадрат или просто как строка. Пробовал Символы.ПС, Символ(13) + Символ(10), ^|, ^p. В старом Word работал такой вариант


СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
           НСтр("ru = '%1
           |
           |%2'"),
           Строка,    
           Пользователь.ПредставлениеВДокументах);
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. v3rter 25.04.17 14:34 Сейчас в теме
3. w00fer 25.04.17 14:51 Сейчас в теме
(2) Пишет "Текст XML содержит недопустимый символ"
pavelpribytkin96; +1 Ответить
4. v3rter 25.04.17 17:16 Сейчас в теме
Не совсем понял, как именно и куда они передаются.

П.С. Символ(31) - это мягкий перенос.
pavelpribytkin96; +1 Ответить
8. w00fer 26.04.17 10:51 Сейчас в теме
(4) Конфигурация у меня документооборот. Посмотрел в общем модуле, файл word заполняется с помощью xml. В коде нашел что символ переноса строки заменяется на <w:cr/>. Просто в тексте он отображается как абзац , но в таблице выводятся квадраты. Это получается что в таблице нельзя использовать абзац? (Извиняюсь, что сразу не уточнил)
pavelpribytkin96; +1 Ответить
5. starik-2005 3036 25.04.17 17:25 Сейчас в теме
6. v3rter 25.04.17 17:35 Сейчас в теме
(5) Я тоже поначалу перепутал с мягким переносом. На самом деле нужно передать в параметре перевод строки, который ранее передавался неким символом, который в новом ворде 2013 трактуется по-другому. Поэтому и переспрашиваю про процесс передачи, если это OLE, то в конце формирования можно сделать замену средствами самого Word. И попутно интересно, какой код символа или набор символов уходил вместо "|".
pavelpribytkin96; +1 Ответить
7. starik-2005 3036 25.04.17 17:46 Сейчас в теме
Фактически ворд для такого случая в XML пишет <w:br/>...
pavelpribytkin96; +1 Ответить
9. v3rter 26.04.17 11:12 Сейчас в теме
А просто Символ(10) ?

http://stackoverflow.com/questions/27223228/differences-between-vblf-vbcrlf-vbcr-constants
Constant Value Description
----------------------------------------------------------------
vbCr Chr(13) Carriage return
vbCrLf Chr(13) & Chr(10) Carriage return–linefeed combination
vbLf Chr(10) Line feed

vbCr : - return to line beginning
Represents a carriage-return character for print and display functions.

vbCrLf : - similar to pressing Enter
Represents a carriage-return character combined with a linefeed character for print and display functions.

vbLf : - go to next line
Represents a linefeed character for print and display functions.
Показать


Есть ещё ^l, но не докопался до кода, подозреваю, что всё тот же 10.
pavelpribytkin96; +1 Ответить
10. w00fer 26.04.17 12:12 Сейчас в теме
(9) Квадрат вместо символ(10)
pavelpribytkin96; +1 Ответить
11. v3rter 26.04.17 13:12 Сейчас в теме
Нда. Может пойти от обратного: добавить перевод строки в ворде вручную, а затем открыть его как объект и посмотреть в отладчике что там?
12. w00fer 26.04.17 13:43 Сейчас в теме
Дописал чтобы когда текст в таблице, то вместо переноса подставлялся <w:br/> вместо <w:cr/> , так работает.
1с похоже не пользуются новыми версиями MS Office...
nkp14108; SultanBul; v3rter; +3 Ответить
16. SultanBul 15.09.17 22:56 Сейчас в теме
(12)

<w:br/> помогает, но только первый раз.
При перезаполнении заполненного файла часть после <w:br/> задваивается, потом затраивается и так далее.
Михаил не победили это?
pavelpribytkin96; +1 Ответить
17. w00fer 20.09.17 15:40 Сейчас в теме
(16) Я переписал саму процедуру, которая заполняет файл. И в ней поменял <w:cr/> на <w:br/> при заполнении в таблице
pavelpribytkin96; +1 Ответить
18. SultanBul 31.10.17 13:12 Сейчас в теме
(16)
Коллеги, добрый день.

Работает, но только первый раз.
При перезаполнении заполненного файла часть после <w:br/> задваивается, потом затраивается и так далее.
https://www.facebook.com/groups/1C.DOC8/permalink/731908173661636/
Как решить? Какие есть идеи?
Прикрепленные файлы:
21. Wolfich 06.08.20 09:23 Сейчас в теме
вдруг кому-нибудь еще понадобится решение:
нужно в коде процедуры АвтозаполнениеШаблоновФайловКлиентСервер.ВыполнитьЗаменуПолейИСтрокВДокументеMSOfficeOpenXML

перенести формирование строки образца таблицы

Если ФлагНайденаСтрокаТаблицы Тогда
КопияСтрокиXML.ЗаписатьБезОбработки(СтрЗамены);
КонецЕсли;


выше ее заполнения.
32. kabantus 02.12.22 12:11 Сейчас в теме
(21)
вдруг кому-нибудь еще понадобится решение:
нужно в коде процедуры АвтозаполнениеШаблоновФайловКлиентСервер.ВыполнитьЗаменуПолейИСтрокВДокументеMSOfficeOpenXML

перенести формирование строки образца таблицы

Если ФлагНайденаСтрокаТаблицы Тогда
КопияСтрокиXML.ЗаписатьБезОбработки(СтрЗамены);
КонецЕсли;


выше ее заполнения.
Не помогло. Вообще не ясно что и куда переносить. Решили проблему созданием дополнительного пустого автозаполняемого текстового поля непосредственно перед редактируемым текстом. Но пришлось это поле защищать паролем от случайного удаления пользователем.
13. _Farsh_ 10 26.04.17 13:52 Сейчас в теме
А вот так ?? Символы.ПС
pavelpribytkin96; +1 Ответить
14. w00fer 26.04.17 14:11 Сейчас в теме
(13) Это и есть перенос строки и в вопросе написано
pavelpribytkin96; +1 Ответить
15. _Farsh_ 10 26.04.17 14:13 Сейчас в теме
(14) Не увидел извиняюсь.
pavelpribytkin96; +1 Ответить
19. Bubuyka 35 15.01.20 13:56 Сейчас в теме
Понимаю, что старая тема, но мало ли кому пригодится:
Текст = "Начало текста" + символ(94) + символ(112) + " продолжение текста";

Замена = ДокументWord.Content.Find;
Замена.Execute("{Параметр}", , , , , , , , ,Текст , wdReplaceAll);

В итоге в word файле будет выглядеть так:

Начало текста
продолжение текста
Ushkin; isiter_1; vasylyboytsov; user1210458; Альтаир; user712426; freeek; antti2013; olegans; mangy; vitek_chainik; Nowa; kabantus; Никс; eugenty; malets; Starliner; LeXXeR; magv; MarMargo; PORGY3000; user961510; eViLL; T.A.Sh.; con-men; О.Ж; Olenevod; djserega; foatmail; darika; and60; Патриот; v0vjik; additive; maritariny; +35 Ответить
20. maritariny 23.01.20 11:33 Сейчас в теме
(19) спасибо, очень даже пригодилось!
25. and60 09.02.21 13:27 Сейчас в теме
(19) Аллах милостив!) долгих лет тебе)
что это за набор волшебный? и где о нем можно было узнать то..?
26. SlavaKron 09.02.21 15:05 Сейчас в теме
(25)
символ(94) + символ(112)
это просто ^p – специальное сочетание, обозначающее знак абзаца. Кто хоть раз использовал расширенную замену word, знает о нем.
Прикрепленные файлы:
user712426; +1 Ответить
39. user712426 13.12.23 08:22 Сейчас в теме
(19)
символ(94) + символ(112)

спасибо, добрый человек!
40. isiter_1 11.02.24 20:54 Сейчас в теме
Спасибо!!!
(19)Очень помогло!!!!
22. Urupa 08.10.20 08:39 Сейчас в теме
Кому-то может быть пригодится:

Доработал напильником процедуру: АвтозаполнениеШаблоновФайловКлиентСервер.ВыполнитьЗаменуПолейИСтрокВДокументеMSOfficeOpenXML.

А именно что изменил: изменения помечены как //Корректировка
Код всей процедуры
kabantus; ReDvAlL; +2 Ответить
23. plyshu 19.11.20 04:24 Сейчас в теме
(22)Будьте добры, скажите, что означает тег <w:cr>. Почти нигде нет толкового объяснения.
33. kabantus 06.12.22 11:39 Сейчас в теме
(23)
<w:cr> - возврат каретки
<w:br> - разрыв строки
34. kabantus 06.12.22 19:00 Сейчас в теме
(22)
Кому-то может быть пригодится:

Доработал напильником процедуру: АвтозаполнениеШаблоновФайловКлиентСервер.ВыполнитьЗаменуПолейИСтрокВДокументеMSOfficeOpenXML.

А именно что изменил: изменения помечены как //Корректировка

Большое спасибо! Сам не осилил, так как при чтении атрибутов во время отладки творилось что-то странное.
Считанные данные в табло отображались корректно, а по Shift + F9 переменные были пустыми.
Возможно причина была в платформе.
35. nayd 9 01.06.23 13:09 Сейчас в теме
(22) при этом способе не сохраняется отступ первой строки в абзаце. Во второй и последующих строк текст начинается без отступа.
Может кто знает, как победить?
24. aleksey.latishev 26.01.21 16:23 Сейчас в теме
(19) дай бог тебе здоровья!
27. and60 10.02.21 09:26 Сейчас в теме
(26) Больше интересно, почему не работают символы перевода строки и возврата каретки(точнее не во всех случаях!), и есть ли более верный и 100% рабочий способ переноса строки
28. SlavaKron 10.02.21 10:21 Сейчас в теме
(27)
точнее не во всех случаях
В каких случаях? У меня всё работает:
	Word = Новый COMОбъект("Word.Application");
	Документ = Word.Documents.Add();
	
	Word.Selection.Paragraphs.Alignment = 0; // выравнивание по левому краю
	Word.Selection.Paragraphs.FirstLineIndent = 0; // перваястрока без отступа
	
	Текст = "Первая строка" + Символы.ПС + "Вторая строка"; // абзац
	Word.Selection.TypeText(Текст);
	
	Word.Selection.TypeText(Символы.ПС);
	
	Текст = "Первая строка" + Символ(11) + "Вторая строка"; // разрыв строки
	
	Word.Selection.TypeText(Текст);
	
	Word.Visible = 1;
	Word.WindowState = 2;
	Word.WindowState = 1;
Показать
Прикрепленные файлы:
36. nayd 9 01.06.23 13:56 Сейчас в теме
(28) в docx бы.
Замена на символ возврата каретки дает новую проблему: вторая и последующая строки в многострочном тексте становятся без отступа абзаца (красной строки)
29. Obertone 74 14.10.21 12:14 Сейчас в теме
Покопался в этой теме в связи с одной задачей по переходу на новые строки и обнаружил, что сочетание Символы.ВК + Символы.ПС спокойно воспринимается Вордом 2013 как переход на новую строку. Так что все костыли с символами и заменами для обеспечения перехода на новую строку вовсе не нужны.
30. eViLL 02.12.21 11:42 Сейчас в теме
(29) В Office 2016 перевод строки срабатывает благодаря Символы.ВК (неожиданно), но при этом в нумерованном списке не проставляется следующий номер, а Символы.ПС просто превращается в квадрат. Для Шестнадцатого ворда единственное рабочее решение - "символ(94) + символ(112)".
freeek; bluntschi; Nowa; kabantus; sabretoothed; Obertone; +6 Ответить
31. Obertone 74 02.12.21 12:11 Сейчас в теме
(30) Спасибо за описание, теперь понятно, где проблема по этой теме ещё осталась. Возьмём на заметку.
37. nayd 9 01.06.23 14:02 Сейчас в теме
(30) вот так в результате выглядит (Office LTSC 2021, но как я понял внутри Office 2016)
Переносы строк не появляются
Прикрепленные файлы:
38. shevlad 02.07.23 10:46 Сейчас в теме
(19) спасибо большое, очень пригодилось!
Оставьте свое сообщение

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