L_COMMON
Краткое описание :
Округление скидкиОписание :
Счета, ДО на продажуЧто измененно :
Округление скидки
Установлены настройки:
Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Округление в документах сбыта \ математическое до 0,01
Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Скидки \ Алгоритмы скидок в ДО на продажу по умолчанию\ сложные
Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Скидки \ Корректировать сложные скидки с учетом округления цены \ НЕТ или ДА (расчет одинаковый в итоге)
Заведена сложная скидка к исходной сумме в размере 3 %
Пример:
МЦ (без налогов) 5 шт по цене 39,5 всего на сумму 197,5
Клиенту нужен следующий расчет:
5 шт. по 39.50. Итого 197.50.
Скидка 3% = 5,925, Стоимость товара со скидкой - 191.575.
Округляя получаем 191.58.
Цена при оприходовании в накладной = 191.58/5 = 38.316.
Округляя получаем 38.32.
Сейчас получается, что система считает следующим образом:
5 х 39,5 =197,5 сумма без скидки
197,5 х 3% = 5,925 - скидка с учетом округления = 5,93
197,5 - 5,93 =191,57 - стоимость товара со скидкой
191,57 / 5 = 38,314
Как измененно :
Удалены настройки
"Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Скидки \ Корректировать сложные скидки с учетом округления цены"
"Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Скидки \ Корректировать простые скидки с учетом округления цены"
Добавлена новая, которая распространяется на оба типа скидок:
"Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Скидки \ Корректировать скидки с учетом округления цены"
При пересчете сложных скидок по позиции спецификации в ДО на продажу появляется диалог с параметром
[.] с учетом округления цены
(это замена устаревшей настройки "Корректировать сложные скидки с учетом округления цены")
Новая настройка "Корректировать скидки с учетом округления цены" для простых скидок работает как и ранее настройка "Корректировать простые скидки с учетом округления цены".
Для сложных скидок работает так же при расчете скидки по позиций спецификации - округляет скидку или сначала цену с учетом неокругленной скидки.
Для сложных скидок, которые рассчитываются для шапки ДО, скидка не округляется (так же как и для простых скидок). Такая скидка применяется в сумме ДО, которая округляется, а потом корректируется уже окончательно скидка.
Пример:
Сумма позиций в ДО 100 руб.
Скидка 3.1111% = 3,1111 руб
Сумма с учетом скидки 96.8889 руб.
Округляем:
Сумма ДО 96.89 руб
Скидка 3.11 руб.
L_COMMON
Краткое описание :
Цикл при проверке(обновлении) реестра настроекОписание :
Проверка реестра настроекЧто измененно :
После установки последних обновлений, при входе в Систему начинается проверка реестра настроек.
При проверке Система постоянно стоит на сообщении "Инициализация значений PickRep.cUser".
Как измененно :
Оптимизирован запрос на изменение таблиц UserDeskRep, PickRep для инициализации значений cUser.
Для БД на Оракл или MS запросы будут выполняться с использованием DSQL.
Если обновление таблиц при обновлении настроек было прервано (снято), то требуется это сделать вручную:
update visual 'Инициализация значений UserDescrRep.cUser' UserDeskRep
where (( UserDeskRep.ATL_ORIGINOFFICE /== x$Users.xu$UserOffice AND
UserDeskRep.OwnName /== x$Users.xu$LoginName ))
set UserDeskRep.cUser := x$Users.Atl_NRec;
update visual 'Инициализация значений PickRep.cUser' PickRep
where (( PickRep.ATL_ORIGINOFFICE /== x$Users.xu$UserOffice AND
PickRep.OwnName /== x$Users.xu$LoginName ))
set PickRep.cUser := x$users.atl_nRec;
Для БД на Оракл или MS SQL можно использовать следующие запросы:
sql update userdeskrep set cUser = coalesce((select x$Users.atl_nRec from x$Users where userdeskrep.ATL_ORIGINOFFICE = x$Users.xu$UserOffice and userdeskrep.OwnName = x$Users.xu$LoginName), #comp(0));
sql update pickrep set cUser = coalesce((select x$Users.atl_nRec from x$Users where pickrep.ATL_ORIGINOFFICE = x$Users.xu$UserOffice and pickrep.OwnName = x$Users.xu$LoginName), #comp(0));
Необходимость ручного обновления можно проверить наличие записей в указанных таблицах с cUser = 0:
select * from UserDeskRep where (( 0 == cUser ));
select * from PickRep where (( 0 == cUser ));