Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Заметки о динамических документах
Динамические документы 2-го типа создаются быстрее
(http://*****/abap-osnovi/user-interface/dinamicheskie-dokumenty-chast-2/).
При создании сложных заголовках удобно использовать абсолютную нумерацию колонок, а не относительную (относительно выводимого поля в строке), для этого используется переменная
cl_dd_table_area ->act_col_no
пример:
*****
* CLASS lcl_event_handler_sv *
*****
CLASS lcl_event_handler_sv DEFINITION.
PUBLIC SECTION.
METHODS:
handle_links FOR EVENT clicked OF cl_dd_link_element
IMPORTING sender,
ENDCLASS. "lcl_event_handler_sv DEFINITION
*****
DATA: gdd_tarea TYPE REF TO cl_dd_table_area,
gdd_link TYPE REF TO cl_dd_link_element.
DATA: link_no TYPE sdydo_element_name.
DATA: handler_sv TYPE REF TO lcl_event_handler_sv.
DATA: ii TYPE i,
iii TYPE i,
last_write TYPE i,
st_rab1 TYPE string,
wa TYPE string,
id_r TYPE string.
DATA str_html TYPE string.
gdd_tarea->act_col_no = 5.
CALL METHOD gdd_tarea->span_rows
EXPORTING
col_with_span = 5
no_of_rows = 2.
CALL METHOD gdd_tarea->add_text
EXPORTING
text = 'Заголовок 1'.
gdd_tarea->act_col_no = 6.
CALL METHOD gdd_tarea->span_columns
EXPORTING
col_start_span = 6
no_of_cols = 4.
CALL METHOD gdd_tarea->add_text
EXPORTING
text = 'Заголовок 2'.
Возникла необходимость вывода в форму и работы с переменной типа CHECKBOX.
Удалось решить эту проблему следующим образом.
Создаем в нужном месте ссылку и вешаем прерывание, как обычно, только чтоб ее не было видно:
CALL METHOD gdd_tarea->add_link
EXPORTING
text = ''
name = link_no
tooltip = 'согласование'
IMPORTING
link = gdd_link.
SET HANDLER handler_sv->handle_links FOR gdd_link.
Формируем строку, и перед CALL METHOD gdd_tarea->new_row.
*определим строки HTML кода для нашей строки в gdd_tarea->html_table
SEARCH gdd_tarea->html_table FOR gdd_tarea->cursor.
IF sy-subrc EQ 0.
ii = sy-tabix.
ENDIF.
CALL METHOD gdd_tarea->new_row.
last_write = ii.
SEARCH gdd_tarea->html_table FOR gdd_tarea->cursor.
IF sy-subrc EQ 0.
iii = sy-tabix - 1.
ELSE.
iii = 0.
ENDIF.
*запишем HTML код
WHILE last_write <= iii.
READ TABLE gdd_tarea->html_table INDEX last_write INTO wa.
CONCATENATE str_html wa INTO str_html.
ADD 1 TO last_write.
ENDWHILE.
* очистим
DELETE gdd_tarea->html_table FROM ii TO iii.
* найдем id линка
FIND 'id=' IN str_html MATCH OFFSET iiii.
IF sy-subrc EQ 0.
iiii = iiii + 4.
st_rab1 = str_html+iiii.
FIND '"' IN st_rab1 MATCH OFFSET iiii.
IF sy-subrc EQ 0.
iiii = iiii.
MOVE st_rab1(iiii) TO id_r.
ENDIF.
ENDIF.
* строка HTML кода для CHECKBOX, галка включена (checked), Id формируем сами * (не обязательно), определяем действие по onclick - инициируем нажатие линка * по ID
CONCATENATE '<input type="checkbox" checked id="chb' id_r
'" onclick="document. getElementById(''' id_r ''').click();void(0);"><a' INTO st_rab1.
*вставим перед линком наш HTML
REPLACE '<a' WITH st_rab1 INTO str_html.
*запишем измененный HTML
CALL METHOD gdd_tarea->html_insert
EXPORTING
contents = str_html
CHANGING
position = ii.
......
Дальше формируем следующие строки.


