Текущее время: Сб, июл 19 2025, 04:09

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Настройка отступов от левого и правого края страницы при печати смартформы.
СообщениеДобавлено: Ср, фев 22 2006, 16:20 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Здравствуйте.
Подскажите, пожалуйста, как можно установить размеры отступов от левого и правого края для печати смартформы.
Есть ли возможность установить их в самой смартформе или менять их в программе?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 22 2006, 17:21 
Ассистент
Ассистент

Зарегистрирован:
Пн, сен 26 2005, 11:53
Сообщения: 46
в "атрибутах формуляра->опции вывода" выбрать формат страницы;
в "страницах->опции вывода" - формат (горизонтальный|вертикальный)
в "окно->опции вывода" - отступ сверху - слева и ширину - высоту.
соответственно, отступ справа будет равен
ширина страницы минус отступ слева минус ширина окна
зная, например, что А4 - это 210х297 можно все посчитать

только так, вроде бы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 22 2006, 18:37 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
да это понятно...
но проблема в следующем:
я сделал формуляр, но мне нужно все окна ( их порядка 150) сдвинуть на пол сантиметра вправо. Я хочу это сделать увеличив отступ от левого края на эти полсантиметра...
иначе придется в каждом окне прибавлять левый отступ......


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, фев 26 2006, 09:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Про SmartForm ничего не скажу, а по поводу SAPScript-формуляра - можно сделать программно:
Code:
  DATA: form_header       TYPE itcta,
        form_lines        TYPE TABLE OF tline,
        form_pages        TYPE TABLE OF itctg,
        form_page_windows TYPE TABLE OF itcth,
        form_paragraphs   TYPE TABLE OF itcdp,
        form_strings      TYPE TABLE OF itcds,
        form_tabs         TYPE TABLE OF itcdq,
        form_windows      TYPE TABLE OF itctw.

  DATA: it_custom TYPE zscr_t_win.

  DATA: wa    LIKE LINE OF form_page_windows,
        wcust LIKE LINE OF it_custom.

  DATA: x_delta_main TYPE zscr_delta_x,
        y_delta_main TYPE zscr_delta_y.

* считывание данных формуляра -----------------------------------------&
  CALL FUNCTION 'READ_FORM'
       EXPORTING
            form         = form_name
       IMPORTING
            form_header  = form_header
       TABLES
            form_lines   = form_lines
            pages        = form_pages
            page_windows = form_page_windows
            paragraphs   = form_paragraphs
            strings      = form_strings
            tabs         = form_tabs
            windows      = form_windows.
  IF form_header IS INITIAL.
*   MSG: формуляр отсутствует в текущем манданте системы
    MESSAGE e001(zscript) WITH form_name RAISING no_form.
  ENDIF.

* считывание данных настроек ------------------------------------------&
  CALL METHOD read_custom_data
    EXPORTING  form_name      = form_name
               fvar_name      = fvar_name
    IMPORTING  x_delta        = x_delta_main
               y_delta        = y_delta_main
               et_custom      = it_custom
    EXCEPTIONS OTHERS         = 1.
  IF sy-subrc <> 0.
    MESSAGE ID     sy-msgid
            TYPE   sy-msgty
            NUMBER sy-msgno
            WITH   sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
            RAISING no_custom_data.
  ENDIF.

* изменение координат окон (TOP-LEFT) ---------------------------------&
  LOOP AT form_page_windows INTO wa.
    READ TABLE it_custom INTO wcust WITH KEY tdwind = wa-tdwindow.
    IF sy-subrc IS INITIAL.
      IF in_repair NE space.
        wa-tdwleft = wa-tdwleft + wcust-x_delta.
        wa-tdwtop  = wa-tdwtop  + wcust-y_delta.
      ELSE.
        wa-tdwleft = wa-tdwleft - wcust-x_delta.
        wa-tdwtop  = wa-tdwtop  - wcust-y_delta.
      ENDIF.
    ELSE.
      IF in_repair NE space.
        wa-tdwleft = wa-tdwleft + x_delta_main.
        wa-tdwtop  = wa-tdwtop  + y_delta_main.
      ELSE.
        wa-tdwleft = wa-tdwleft - x_delta_main.
        wa-tdwtop  = wa-tdwtop  - y_delta_main.
      ENDIF.
    ENDIF.
    MODIFY form_page_windows FROM wa TRANSPORTING tdwleft tdwtop.
  ENDLOOP.

* сохранение формуляра ------------------------------------------------&
  CALL FUNCTION 'SAVE_FORM'
       EXPORTING
            form_header  = form_header
       TABLES
            form_lines   = form_lines
            pages        = form_pages
            page_windows = form_page_windows
            paragraphs   = form_paragraphs
            strings      = form_strings
            tabs         = form_tabs
            windows      = form_windows.

  COMMIT WORK AND WAIT.

Данный код я использовал для динамического сдвига окон SAP Script'а по данным настройки.
Думаю, для SmartForm можно сделать что-нибудь подобное.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, фев 26 2006, 10:02 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Спасибо!


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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