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


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

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

Осталось привести это в божеский вид
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший