Текущее время: Сб, авг 23 2025, 13:50

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Снова по настройке Т-13 (разные обозначения для выходного дня)
СообщениеДобавлено: Пт, дек 12 2008, 16:34 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Хочу поделиться проблемой, ибо какой-то "затык" и самому пока никак побороть его не получается.

Задача заключается в следующем. Нужно чтобы в Т-13 для вахтовых графиков выходной день выводился как "R", а для 5-дневки - как "В".

В ПГРВ настроено: для 5-дневки - ОГРВ выходного OFF, для вахтовых графиков - ROT.

Попробовал сделать так:

1) Настроил в T7RUTS:
G Однодневный график рабочего времени Никакой дополнительной обработки Z Тип времени 0010 Я
G Однодневный график рабочего времени OFF R Замена данных однодневного графика В
G Однодневный график рабочего времени ROT R Замена данных однодневного графика R

OFF и ROT - названия ОГРВ выходного дня. Не знаю, воспринимает ли система вообще значение поля NAME в строке, где TYPE=G (у меня стоят ROT и OFF)? А может так вообще нельзя, строка с G должна быть одна? Кто знает, подскажите.

2) Признак 33SG0 настроил таким образом, чтобы в зависимости от класса ОГРВ и класса праздника выводились нужные буквы (У OFF класс=0, у ROT класс=9, для рабочего дня класс=1).

33SG0 YTSG0 - Генерация усл. обозн. для однодн. табеля раб. времени(RU) Статус: активно
TPKLA Класс однодневного графика рабочего времени
0 Класс однодневного графика рабочего времени 0
В
1 Класс однодневного графика рабочего времени 1
FTKLA Класс праздника
1 Класс праздников 1 - праздник
B
иначе
Я
9 Класс однодневного графика рабочего времени 9
R
иначе
X

3) На селекционном экране HRULTAB0 на закладке "Общее" в поле "Код праздника" задается обозначение для выходного дня и там указываю "В".

В результате получаю:
В табель "упорно" выводится "В" в любой выходной день (и для OFF и для ROT), а "R" не хочет ни в какую. Если на задавать обозначение для выходного дня на селекционном экране("В"), то выходные дни выходят в табеле вообще без обозначения. В общем такое ощущение складывается, что программе этот 33SG0 совсем "по фиг", главное - то что в T7RUTS и на селекционном экране....

Здесь на sapforum в одной из веток видел описание настройки Т-13, по нему собственно и делал, кроме моего "изобретения" с 3-мя строками в T7RUTS для типа G. Есть вариант - формировать особый вид времени в дни с ОГРВ=ROT и под него настроить замену буквы через T7RUTS.
Но хотелось бы воспользоваться тем что уже есть в стандарте, зачем-то этот 33SG0 сделали?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:09 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вт, июл 25 2006, 14:50
Сообщения: 3481
Откуда: Moscow
Пол: Мужской
Гммм.. А в HRUITAB0F
Code:
*   number of working hours
        IF psp-stdaz IS INITIAL.
*   holiday code (defined at the selection screen)
          g_5yts-tscd0 = p_hday.
        ELSE.
          MOVE-CORRESPONDING psp TO pc2ba.
          PERFORM re549d USING c_feature_sg0 ' ' g_5yts-tscd0 rc.
          IF sy-subrc NE 0.
            CALL METHOD g_log->add_message_to_log
              EXPORTING
                im_msg_type   = 'E'
                im_msg_number = '133'.
            STOP.
          ENDIF.
        ENDIF.

У вас в этот самый re549d вообще прога заходит? Т.к. если на селекционнике что-то есть, то признак не отработает


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:42 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Как я понимаю, в условии
* number of working hours
IF psp-stdaz IS INITIAL.
* holiday code (defined at the selection screen)
g_5yts-tscd0 = p_hday.
ELSE.

проверяется, есть ли рабочие часы в этот день.

Если часов нет (в выходной psp-stdaz=0), то выполняется условие IF, а если часы есть, то тогда как раз работает ELSE


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:43 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вт, июл 25 2006, 14:50
Сообщения: 3481
Откуда: Moscow
Пол: Мужской
Дмитрий Николаенко написал(а):
Как я понимаю, в условии
* number of working hours
IF psp-stdaz IS INITIAL.
* holiday code (defined at the selection screen)
g_5yts-tscd0 = p_hday.
ELSE.

проверяется, есть ли рабочие часы в этот день.

Если часов нет (в выходной psp-stdaz=0), то выполняется условие IF, а если часы есть, то тогда как раз работает ELSE

Да, на другую строку посмотрел. Но вопрос остается.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:45 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Получается, чтобы работал признак 33SG0 нужно чтобы кусок кода из ELSE выполнялся всегда, независимо от psp-stdaz?

Получается что нужно модифицировать стандарт?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:46 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Заходит, но только если в этот день рабочие часы <> 0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:51 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
По стандарту получается, что признак 33SG0 анализируется только для рабочих дней (psp-stdaz<>0), а для выходных (psp-stdaz=0) - значение читается с селекционного экрана....
Т.е. мой вариант с настройкой 33SG0 для разного обозначения выходного дня не пройдет, если не модифицировать стандарт....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 17:54 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вт, июл 25 2006, 14:50
Сообщения: 3481
Откуда: Moscow
Пол: Мужской
Дмитрий Николаенко написал(а):
Получается, чтобы работал признак 33SG0 нужно чтобы кусок кода из ELSE выполнялся всегда, независимо от psp-stdaz?

Получается что нужно модифицировать стандарт?

Может тогда лучше в
Code:
        INCLUDE zx_hrultab0_day_processing.

сделать еще один вызов признака?
Да и в сап можно написать, пожаловаться на нерабочий признак.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Снова по настройке Т-13 (разные обозначения для выходного дня)
СообщениеДобавлено: Пт, дек 12 2008, 17:55 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Дмитрий Николаенко написал(а):

1) Настроил в T7RUTS:
G Однодневный график рабочего времени Никакой дополнительной обработки Z Тип времени 0010 Я
G Однодневный график рабочего времени OFF R Замена данных однодневного графика В
G Однодневный график рабочего времени ROT R Замена данных однодневного графика R

OFF и ROT - названия ОГРВ выходного дня. Не знаю, воспринимает ли система вообще значение поля NAME в строке, где TYPE=G (у меня стоят ROT и OFF)? А может так вообще нельзя, строка с G должна быть одна? Кто знает, подскажите.


Убедился, что это плохой вариант, несколько строк для G. Во-первых, нужного результата не дает, во-вторых, с отображением таких записей в SM30 есть проблемы, они то показываются, то нет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 12 2008, 18:02 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Proforg написал:
Может тогда лучше в
Code:
        INCLUDE zx_hrultab0_day_processing.

сделать еще один вызов признака?
Да и в сап можно написать, пожаловаться на нерабочий признак.


Спасибо за совет! Думаю, что стоит попробовать оба варианта :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Снова по настройке Т-13 (разные обозначения для выходного дн
СообщениеДобавлено: Ср, дек 17 2008, 14:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, мар 11 2005, 10:54
Сообщения: 315
Откуда: Москов
А не пробували сделать как с отпусками в выходные дни?
Не помню номер ноты. Смысл там такой: на весь период отсутствия генерится вид времени YABS (это из ноты имя, можно свое придумать).
Генерите его на выходные вахтовиков. Присваивайте HOURS = -1. Это делается в схеме расчета времени (pt60).
Далее в t7ruts указываете какую букву показывать при наличии данного вида времени.
Но тут, мне кажется, не обойтись одной записью G.

_________________
САП маст дай...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Снова по настройке Т-13 (разные обозначения для выходного дн
СообщениеДобавлено: Чт, дек 18 2008, 15:35 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 28 2007, 15:53
Сообщения: 21
Откуда: Москва
Этот вариант тоже рассматривался как запасной. Но мне больше понравилось с инклюдом. Через признак удобнее, как мне кажется.
Мы так и сделали:

*&---------------------------------------------------------------------*
*& Include ZX_HRULTAB0_DAY_PROCESSING
*&---------------------------------------------------------------------*
IF psp-stdaz IS INITIAL.
if g_5yts-tscd0 = p_hday.
g_5yts-tscd0 = ''.
MOVE-CORRESPONDING psp TO pc2ba.
PERFORM re549d USING c_feature_sg0 ' ' g_5yts-tscd0 rc.
WRITE:
g_5yts-tscd0 TO v_day-tmcode1.
IF sy-subrc NE 0.
CALL METHOD g_log->add_message_to_log
EXPORTING
im_msg_type = 'E'
im_msg_number = '133'.
STOP.
ENDIF.
endif.
ENDIF.


Всё получилось, в сответствии с признаком 33SG0. :pivo:


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

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


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

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


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

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