Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вставка новой страницы в Word

Вставка новой страницы в Word
Я
   vicof
 
28.04.20 - 23:40
Как можно программно понять, влезет ли у меня N добавляемых строк в таблицу без переноса таблицы на другой лист?
   vicof
 
1 - 28.04.20 - 23:42
Аналог ПроверитьВывод из ТабличногоДокумента
   vicof
 
2 - 04.05.20 - 15:35
ап
   МихаилМ
 
3 - 04.05.20 - 15:50
   vicof
 
4 - 04.05.20 - 15:57
(3) Не вижу там ничего, связанного с заданным вопросом. Они там печатать хотят, а мне таблицу разбить на две, чтобы весь блок текста вошел в ячейку и не разрывался между листами.
   vicof
 
5 - 04.05.20 - 15:58
Можно и в виде пользовательских действий, я макрос записать смогу)
   vicof
 
6 - 04.05.20 - 16:03
Есть мысли выводить строки в попытке..исключении, и после вывода каждой строки смотреть номер листа. Если полностью поместилась, ок, если номер листа больше, чем был, тогда отказываться и вставлять разрыв строки перед выводом первой строки блока.
   vicof
 
7 - 04.05.20 - 16:03
Разрыв страницы*
   vicof
 
8 - 04.05.20 - 16:05
Но может есть более гуманные методы, чем (6)?
   МихаилМ
 
9 - 04.05.20 - 16:33
(8) а ПроверитьВывод  - гуманный метод ?
   vicof
 
10 - 04.05.20 - 16:39
(9) хороший вопрос)
   Сияющий в темноте
 
11 - 04.05.20 - 18:13
у ворда,насколько я помню,форматирование идет в отдельном потоке,так что сразу вставленное не факт,что добавит новый лист.
   vicof
 
12 - 04.05.20 - 23:29
Проблему решил так. 
НомерНачальнойСтраницы = Док.ActiveWindow.Panes(1).Pages.Count();
НомерПоследнейСтроки = ТаблицаСотрудники.Rows.Count;
            
ДобавитьСтроки(ТаблицаСотрудники, ФизическоеЛицо, Объект.НужнаяТаблица);
            
РазорватьСтраницу(Док, НомерНачальнойСтраницы, НомерПоследнейСтроки, НомерТаблицы, ТаблицаСотрудники);


Процедура РазорватьСтраницу(Док, НомерНачальнойСтраницы, НомерПоследнейСтроки, НомерТаблицы, ТаблицаСотрудники)
    
    НомерКонечнойСтраницы = Док.ActiveWindow.Panes(1).Pages.Count();
    
    Если НомерНачальнойСтраницы < НомерКонечнойСтраницы Тогда
        
        ТаблицаСотрудники.Cell(НомерПоследнейСтроки, 1).Range.InsertBreak(7);
        
        НомерТаблицы = НомерТаблицы + 1;
        ТаблицаСотрудники = Док.Tables(НомерТаблицы);
        
    КонецЕсли;

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

Осталось привести это в божеский вид

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.