SAPфорум.RU
https://sapboard.ru/forum/

Смена стиля в смартформе
https://sapboard.ru/forum/viewtopic.php?f=13&t=95410
Страница 1 из 1

Автор:  Kuranov.Dmitry [ Ср, сен 06 2017, 00:04 ]
Заголовок сообщения:  Смена стиля в смартформе

Здравствуйте,
У меня есть смартформа, и к ней разработано два стиля.
Можно ли установить в смартформе стиль в зависимости от переданного параметра?

Есть решение - скопировать смартформу и каждой копии назначить свой стиль, но этого хотелось бы избежать, чтобы потом не сопровождать обе формы.

Автор:  Besa [ Чт, сен 07 2017, 10:35 ]
Заголовок сообщения:  Re: Смена стиля в смартформе

Kuranov.Dmitry написал(а):
Здравствуйте,
У меня есть смартформа, и к ней разработано два стиля.
Можно ли установить в смартформе стиль в зависимости от переданного параметра?

Есть решение - скопировать смартформу и каждой копии назначить свой стиль, но этого хотелось бы избежать, чтобы потом не сопровождать обе формы.

Сам не делал
погуглите https://archive.sap.com/discussions/thread/414447 потом нам расскажите

Автор:  Kuranov.Dmitry [ Чт, сен 07 2017, 17:20 ]
Заголовок сообщения:  Re: Смена стиля в смартформе

Besa написал:
Kuranov.Dmitry написал(а):
Здравствуйте,
У меня есть смартформа, и к ней разработано два стиля.
Можно ли установить в смартформе стиль в зависимости от переданного параметра?

Есть решение - скопировать смартформу и каждой копии назначить свой стиль, но этого хотелось бы избежать, чтобы потом не сопровождать обе формы.

Сам не делал
погуглите https://archive.sap.com/discussions/thread/414447 потом нам расскажите

там сказано как установить его в редакторе... статично.

Автор:  olegbash [ Чт, сен 07 2017, 18:10 ]
Заголовок сообщения:  Re: Смена стиля в смартформе

Вижу три способа:

1) Сделайте Alternative и в нем condition в зависимости от нужного Вам параметра.
В ветке Alternative сделайте статичные текстовые блоки с различными стилями

2) (или можете сделать текстовый блок с условием)

3) также Вы можете сделать конструкцию IF в самом текстовом блоке.
в текстовом блоке можно делать строку команда /:

Автор:  Kuranov.Dmitry [ Вт, сен 12 2017, 16:41 ]
Заголовок сообщения:  Re: Смена стиля в смартформе

olegbash написал(а):
Вижу три способа:

1) Сделайте Alternative и в нем condition в зависимости от нужного Вам параметра.
В ветке Alternative сделайте статичные текстовые блоки с различными стилями

получается две смартформы, под одной крышей, к тому же в смарформе уже напихано куча разветвлений и циклов, что боюсь превратит её в бардак.

olegbash написал(а):

2) (или можете сделать текстовый блок с условием)

эта идея мне пожалуй больше нравится, продублировать каждый текстовый элемент, и указать ему условие. ( нашел свойство стиль у конкретного текстового элемента).
Но пока вроде как удалось договорится с заказчиком ,что два стиля ему не нужны :)

Думал можно в начале смартформы вставить элемент кода и там сделать что-то вроде

Code:
CALL FUNCTIOn set_style
  EXPORTING
      stylename = p_stylename

Автор:  Besa [ Ср, сен 13 2017, 15:15 ]
Заголовок сообщения:  Re: Смена стиля в смартформе  Тема решена

Цитата:
Но пока вроде как удалось договорится с заказчиком ,что два стиля ему не нужны

Это наверное лучший вариант :)

Цитата:
Думал можно в начале смартформы вставить элемент кода и там сделать что-то вроде

Можно через одно место, в качестве поиска геморроя себе и другим.

В интерфейс фольмуляра добавить поле куда будете передавать стиль при call function.
В глобальных определениях в "инициализации" добавить код:

Code:
field-symbols <style_new> type any.
field-symbols <style_def> type any.

assign ('STYLE') to <style_new>.
assign ('%HEADER-STDSTYLE') to <style_def>.
if <style_new> is assigned and <style_new> ne space
  and <style_def> is assigned.
  <style_def> = <style_new>.
endif.


https://archive.sap.com/discussions/thread/3238960

Автор:  Kuranov.Dmitry [ Ср, сен 13 2017, 18:28 ]
Заголовок сообщения:  Re: Смена стиля в смартформе

Besa написал:
Можно через одно место, в качестве поиска геморроя себе и другим.

В интерфейс фольмуляра добавить поле куда будете передавать стиль при call function.
В глобальных определениях в "инициализации" добавить код:

Code:
field-symbols <style_new> type any.
field-symbols <style_def> type any.

assign ('STYLE') to <style_new>.
assign ('%HEADER-STDSTYLE') to <style_def>.
if <style_new> is assigned and <style_new> ne space
  and <style_def> is assigned.
  <style_def> = <style_new>.
endif.


https://archive.sap.com/discussions/thread/3238960



Спасибо, то что нужно

Автор:  dedzinatajs [ Пт, сен 15 2017, 20:31 ]
Заголовок сообщения:  Re: Смена стиля в смартформе

Цитата:
Code:
field-symbols <style_new> type any.
field-symbols <style_def> type any.

assign ('STYLE') to <style_new>.
assign ('%HEADER-STDSTYLE') to <style_def>.
if <style_new> is assigned and <style_new> ne space
  and <style_def> is assigned.
  <style_def> = <style_new>.
endif.



Браво, это действительно круто :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/