Текущее время: Вс, сен 07 2025, 17:02

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


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

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


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

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