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

Удаление страницы MS Word из 1С

Удаление страницы MS Word из 1С
Я
   MistaEr
 
24.12.18 - 15:21
Формирую печать некого документа на каждого клиента по одному листу. Клиентов может быть максимум 7. Если в документе всего 2 клиента, нужно удалить последние 5 листов. Подскажите как это сделать?
 
 
   MistaEr
 
1 - 24.12.18 - 15:22
Есть такая ветка 
1С->Word по OLE. Как удалить страницу?
делаю как там прописано, начинает удалять с предпоследней страницы, последняя так и остается
   MistaEr
 
2 - 24.12.18 - 15:37
Или уж все включить в таблицу и удалять строки таблицы WordDoc.Tables(1).Rows(НомерСтроки).Delete()
   Alexandr_U1982
 
3 - 24.12.18 - 15:46
Как вариант, можно поставить закладки и удалять их.
   MistaEr
 
4 - 24.12.18 - 16:46
(3) а есть функция удаления закладок?
   Fish
 
5 - 24.12.18 - 16:48
(0) Может, проще сразу не плодить лишние листы?
   МимохожийОднако
 
6 - 24.12.18 - 16:49
(5) Ну вот. Всё испортил
   Alexandr_U1982
 
7 - 24.12.18 - 16:59
(4)
Область       = Документ.Application.Selection;
Область.Start = Документ.Bookmarks("Раздел10").Start;
Область.End   = Документ.Bookmarks("Раздел10").End;
Область.Cut();
   Alexandr_U1982
 
8 - 24.12.18 - 17:00
Вместо "Cut()" надо поставить команду удаления.
   MistaEr
 
9 - 24.12.18 - 17:09
(5) я бы с удовольствием. мне кажется еще удаление долго проходит
   MistaEr
 
10 - 24.12.18 - 17:16
Я бы добавлял по типу:
Вывести горизонтальный разделитель
Вывести секцию
 
 Рекламное место пустует
   MistaEr
 
11 - 24.12.18 - 18:10
(7) МаксимумПокупателей = 7;
    Пока МаксимумПокупателей > КоличествоПокупателей Цикл
        Область       = WordDoc.Application.Selection;
        Область.Start = WordDoc.Bookmarks("Область" + МаксимумПокупателей).Start;
        Область.End   = WordDoc.Bookmarks("Область" + МаксимумПокупателей).End;
        Область.Delete();
    КонецЦикла;
    
Область7 удаляет, а Область6 уже нет
   MistaEr
 
12 - 24.12.18 - 18:15
Пардон,
МаксимумПокупателей = 7;
    Пока МаксимумПокупателей > КоличествоПокупателей Цикл
        Область       = WordDoc.Application.Selection;
        Область.Start = WordDoc.Bookmarks("Область" + МаксимумПокупателей).Start;
        Область.End   = WordDoc.Bookmarks("Область" + МаксимумПокупателей).End;
        Область.Delete();
        МаксимумПокупателей = МаксимумПокупателей - 1;
    КонецЦикла;

Вот так удаляет текст закладок.
Но пустые странички остаются
   Alexandr_U1982
 
13 - 24.12.18 - 18:17
(12)Попробуй, когда устанавливаешь закладку в Word, выделить всю страничку, включая разделитель страниц (если он там есть).
   MistaEr
 
14 - 27.12.18 - 11:03
(13) Огромное спасибо! все получается!
   Вафель
 
15 - 27.12.18 - 11:31
может лучше выводить страницы, чем удалять?
   seacat72
 
16 - 27.12.18 - 11:36
это не спортивно
   Alexandr_U1982
 
17 - 27.12.18 - 11:58
Бывают печатные формы со сложной структурой, в которых проще в макет забить сразу весь текст (таблицы, рисунки и т.д.) и в дальнейшем, в зависимости от условий, удалять из него не нужные фрагменты.

Например, печатная форма трудового договора.
Проще сделать так, чтобы она сразу содержала максимальное количество текста и удалять его оттуда, чем из 1С в документ Word закидывать различные разделы. При этом нет проблем с форматированием текста и сохранением нумерации пунктов/разделов.
   MistaEr
 
18 - 27.12.18 - 12:29
(15) Чтоб выводить слишком много кода писать и переделывать сложнее

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