Текущее время: Вс, июл 27 2025, 19:46

Часовой пояс: 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 часа


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

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


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

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