Текущее время: Пт, июл 18 2025, 12:44

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Вед.гарантий в Стандарте не понимает дробн.сроки (0,5 года)
СообщениеДобавлено: Пт, май 23 2008, 12:13 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, мар 29 2007, 14:15
Сообщения: 7
Откуда: R/3 4.7 -> ECC 6.0
n.b. ТЕМУ корректнее назвать "Не верный пересчет дробных сроков в 'Образец гарантии' "


День добрый!

Интересная ситуация: завожу Образец гарантии [пусть будет № 21]: "Установка рем.набора", счетчик "WARRANTY_TIME = 1,5" (ЕИ "Мес").
Открываю ЕО, блок Гарантия -> задаю НачалоГарантии = 01.05.2008, ОбразецГарантии = 21.

Однако вместо гарантии на полтора месяца, имеем гарантию на 2 месяца (точнее 60 дней, ибо по Гарантии детализация в Днях). Если в ОбразецГарантии поставить WARRANTY_TIME = 1,4, получим гарантию на 1 месяц (30 дней). => т.е. система тупо округляет срок гарантии, причем не до Дней, а до Месяца(!), уже потом переводя это оч.грубое округление в количество дней.

Если переделать счетчик (вместо автоматический (Time-based) задать стандартный, с указанием показаний ч/з ТочкуИзмерения), то все отлично, можно прекрасно заводить показания с 1 знаком после запятой, система все понимает.

_________________
Everything is dust in the wind (c) Kansas


Последний раз редактировалось mistique Пт, май 23 2008, 13:58, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 23 2008, 12:14 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, мар 29 2007, 14:15
Сообщения: 7
Откуда: R/3 4.7 -> ECC 6.0
Копаю дальше... В CUNI для ЕИ "Мес" стоит "0 знаков после запятой". Ах вот оно что!

ОК, задаем новую ЕИ в группе ВРЕМЯ = "МE1" (Мес.1): пересчет на секунды = 2 592 000 / 1, Десятичные разряды = 1, ДесРазрДляОкругления = 1, Код ИСО = MON. (Т.е. имеем ЕИ "МЕ1" = "месяцы с точностью до 1 знака после запятой").
В GM04 создаем счетчик WARRANTY_TIME_MONTH, ставим галку "ЗависОтВрем". (Т.е. счетчик автоматический).
В CT04 создаем признак WARRANTY_TIME_MONTH, число разрядов = 4, из них десятичных = 1. ЕИ ставим нашу "МЕ1" (Мес.1).
Создаем новый ОбразецГарантии - № 22, со счетчиком WARRANTY_TIME_MONTH = 1,5.

ИТОГ: никаких изменений. Система по-прежнему при указании в ЕО нового Образца гарантии, в котором стоит счетчик "WARRANTY_TIME_MONTH=1,5 Мес.1", округляет его до 2 (и соответственно считает, что гарантия истечет через 60 дней). Если =1.4, округляет до 1 (истечет через 30 дней).

_________________
Everything is dust in the wind (c) Kansas


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 23 2008, 13:43 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, мар 29 2007, 14:15
Сообщения: 7
Откуда: R/3 4.7 -> ECC 6.0
(САПфорум упал не вовремя..)
В Help'е ничего на эту тему не нашел, в Курсах тем более. На Форуме тоже не нашел, если не считать пару похожих вопросов без ответов (потому тему и завел, авось еще кому пригодится).

В общем полез в отладку. Косяк в итоге обязан следующему: в вызове UNIT_CONVERSION_SIMPLE (см. форму warr_time_counter_enddate_get) :

call function 'UNIT_CONVERSION_SIMPLE'
exporting
input = i_gazwi " 3.888E+06 (1,5 месяца в секундах)
unit_in = l_si_unit " SEC
unit_out = l_iso_unit " MON
importing
output = l_count " В итоге = 2
---------
используется переменная l_count (локальная, объявлена тут же в форме), тупо прибитая молотком как "data: l_count type i" (целое).

'UNIT_CONVERSION_SIMPLE' в процессе работы корректно переводит 3.888E+06 из SEC в MON, получая значение "1.5", и если бы l_count была типа P, то все было бы кучеряво. Но так как она типа I, в итоге имеем то, что имеем. Настройки ЕИ в CUNI или CT04 курят в сторонке.

САП видимо считает это фичей, потому как в ECC 6.0 все так же :(

_________________
Everything is dust in the wind (c) Kansas


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

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


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

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


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

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