Текущее время: Пт, июл 18 2025, 12:34

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Чт, дек 25 2008, 08:17 
Начинающий
Начинающий

Зарегистрирован:
Пн, дек 08 2008, 09:35
Сообщения: 17
Привет всем.

У меня в шаблоне Excel'я есть блок подписей, состоящий из нескольких строк. Мне нужно сделать так, что если нет места на все строки этого блока на первой странице, то чтобы целиком тогда печатался на другой странице, а не разрывался на две части на двух страницах.
Для вызова шаблона в Excel я использую ZWWW_OPENFORM.

Хотя бы, в какую сторону копать? Можно ли это реализовать стандартными настройками Excel или надо самому считать кол-во строк в документе и высчитывать, когда сделать разрыв страницы? Если так, то как мне создать разрыв страницы средствами ZWWW?

Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Чт, дек 25 2008, 10:47 
Директор
Директор

Зарегистрирован:
Вт, июл 18 2006, 17:44
Сообщения: 1001
Откуда: что и все
Пол: Мужской
Да, делал такое -- заказчик просил не только блок подписей но и многие другие блоки

1) делать неразрывными
2) в случае разрывов в предусмотренных местах делать разные верхние/нижние колонтитулы, гибко это дело настраивая.

В итоге написал свой вывод в Excel, который верстает на стороне абапа учитывая высоту строк.

В твоём случае можно сделать гораздо проще -- запускать макрос, который смотрит где находится последний автоматический HPageBreak и если он внутри подписей, то ставит ручной разрыв где это можно сделать.

--
Илья

_________________
Telegram-chat: PO, CPI-PI, java, groovy


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Чт, дек 25 2008, 15:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Это легко сделать стандартными средствами, ничего даже специально вызывать не надо. Нужно написать макрос на стандартное событие Workbook_BeforePrint, у меня примерно так:
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean) 'Неразрывные подписи
  ActiveSheet.ResetAllPageBreaks
  Dim R As Range
  Set R = Range("ИтогиПодписи")
  Set R = R.Offset(-1, 0).Resize(R.Rows.Count + 1, R.Columns.Count)
  R.Rows.PageBreak = xlPageBreakNone
  For Each Rw In R.Rows
    If Rw.PageBreak = xlPageBreakAutomatic Then
      R.Rows.PageBreak = xlPageBreakManual
    End If
  Next
End Sub

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Последний раз редактировалось Parazit Чт, сен 11 2014, 22:41, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Сб, дек 27 2008, 10:46 
Начинающий
Начинающий

Зарегистрирован:
Пн, дек 08 2008, 09:35
Сообщения: 17
chumpa и Parazit, спасибо за информацию!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Сб, дек 27 2008, 12:44 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 20 2006, 16:54
Сообщения: 64
Откуда: Пермь
pagebreak можно вставить просто ручками в шаблон.
нужно выделить линию, меню вставка->разрыв страницы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Пн, дек 29 2008, 14:52 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 01 2005, 19:32
Сообщения: 253
Откуда: Москва
MV написал(а):
pagebreak можно вставить просто ручками в шаблон.
нужно выделить линию, меню вставка->разрыв страницы

Этот будет только мешать, если строк в таблице мало и перенос блока подписей не нужен.
Все-таки придется использовать немного кода.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Чт, сен 11 2014, 17:26 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 08 2009, 09:34
Сообщения: 14
Откуда: Москва
Пол: Мужской
Добры день! Похоже перестали работать Неразрывные подписи
Быстренко проверил тестовый пример иZWWW_SAMPLE_NVOICE из ZWWW_EXCEL (накидал в таблицу еще десяток строк) и убедился
что разрыв вставляется в любом месте поименованного диапазона "ИтогоПодписи". Стал уже сомневаться даже. Может в примере надо ручками в макросах чего дописать? Не понятно. Microsoft® Office 2010 SP2 MSO (14.0.7128.5000) лицензионный. Где копать то?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Чт, сен 11 2014, 22:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
gomes написал:
Добры день! Похоже перестали работать Неразрывные подписи
Быстренко проверил тестовый пример иZWWW_SAMPLE_NVOICE из ZWWW_EXCEL (накидал в таблицу еще десяток строк) и убедился
что разрыв вставляется в любом месте поименованного диапазона "ИтогоПодписи". Стал уже сомневаться даже. Может в примере надо ручками в макросах чего дописать? Не понятно. Microsoft® Office 2010 SP2 MSO (14.0.7128.5000) лицензионный. Где копать то?

Посмотрите в шаблоне "Параметры страницы". Если там стоит признак "Разместить не более чем...", то Excel-ю плевать на наши ручные разделители.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Пт, сен 12 2014, 09:25 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 08 2009, 09:34
Сообщения: 14
Откуда: Москва
Пол: Мужской
Добрый день! Да шаблоне ZWWW_SAMPLE_INVOICE действительно стояла галка "...не более чем", преключил на масштаб 100% (пробовал и 95%). Результат тот же, подписи разрывает. Не понятно. По коду процедуры должен вставиться разрыв типа ручной. Но нет. Может она не отрабатывает? Главное все работало! Я же на основе этого примера кучу шаблонов сделал. Может чего с настройками офиса? Правда там стоит все макросы разрешены.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Пт, сен 12 2014, 09:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
gomes написал:
Добрый день! Да шаблоне ZWWW_SAMPLE_INVOICE действительно стояла галка "...не более чем", преключил на масштаб 100% (пробовал и 95%). Результат тот же, подписи разрывает. Не понятно. По коду процедуры должен вставиться разрыв типа ручной. Но нет. Может она не отрабатывает? Главное все работало! Я же на основе этого примера кучу шаблонов сделал. Может чего с настройками офиса? Правда там стоит все макросы разрешены.

Можете прислать готовую форму, которая косячит?!
misterxyz (сбк) mail (тчк) ru

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Пт, сен 12 2014, 12:59 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 08 2009, 09:34
Сообщения: 14
Откуда: Москва
Пол: Мужской
Отправил в личку с рабочего. Хотя она такая же почти как в пакете ZWWW...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Пт, сен 12 2014, 13:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
gomes написал:
Отправил в личку с рабочего. Хотя она такая же почти как в пакете ZWWW...

Посмотрел, всё работает! Надо только помнить, что реальная разбивка производится по событию Workbook_BeforePrint, т.е. в момент печати или просмотра перед печатью.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неразбиваемый блок строк в шаблоне Excel
СообщениеДобавлено: Пт, сен 12 2014, 14:00 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 08 2009, 09:34
Сообщения: 14
Откуда: Москва
Пол: Мужской
Да, работает. Только при печати (при предпросмотре у меня точно не работает). Это я видать подзабыл этот факт. Спасибо что напомнили. И тут возник вопрос, а если эту процедуру посадить на событие вывода на экран? Никто не пробовал? ну чтоб юзеров не пугать и не обременять чтением инструкций.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB