AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.03.2010, 16:18   #1  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
? Кредитный лимит по договору
Коллеги, прошу совета...

Цель: настроить систему так, чтобы она проверяла кредитный лимит по клиентам и в случае его превышения выдавала Предупреждение. При этом по некоторым клиентам ведутся договоры, а по другим нет.

Что сделано:
1. Настройки модуля РсК (приложение 1)
2. Настройки карточки клиента (приложение 3). По этому клиенту как раз не ведутся договоры

Результаты:
1. Для разноски накладных со знаком "+"(обычные продажи) - цель достигнута
2. Для разноски накладных со знаком "-" (возвраты, исправления ошибок и т.д.) - при разноске, если кредитный лимит превышен, всегда вываливается Ошибка, разнести в итоге невозможно. Ошибка следующего содержания:
"Для кода партнера ** сумма кредитных лимитов по контрактам 8 570,00 превосходит итоговый кредитный лимит 8 000,00"
3. Замечено, что такая ошибка валится - только если установлен флаг "Кредитный лимит по договору". Без этого флажка - накладные со знаком "-" разносятся как надо (выпадает предупреждение, разноска завершается).

Почему флаг "Кредитный лимит по договору" не дает разносить мне накладные со знаком минус?

Ax 2009 rollup 3
Изображения
  
Старый 29.03.2010, 17:25   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
В 4.0 был баг по кредитному лимиту по договору - даже если договор не использовался, а галка стояла, то выдавалась ошибка. Программист посмотреть не может? Детально описать багу смогу чуть позже.
__________________
Ivanhoe as is..
Старый 29.03.2010, 17:57   #3  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
даже если договор не использовался, а галка стояла, то выдавалась ошибка.
делаю тоже самое - только указываю договор - эффект такой же, говорит что по договору "номер договора" превышен лимит и разносить отказывается. Но я ведь хочу ПРЕДУПРЕЖДЕНИЕ, а не ошибку.

Как мне кажется, кредитный лимит по договору при разноске отрицательных накладных в любом случае выдает ошибку, несмотрю на то что в настройках стоит "Предупреждение" (и не важно - пустой договор или нет).

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Детально описать багу смогу чуть позже.
буду очень благдарен...

зы: почему-то проблемы именно с минусовыми накладными (возвраты, исправления ошибок и т.д.), по обычным продажам такой проблемы не замечено
Старый 08.04.2010, 11:18   #4  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
пришлось привлечь программиста....

на выходе проблем с кредитным лимитом по договорам оказалось еще больше, чем ожидалось...

При проставленном флаге "Кредитный лимит по договору" в параметрах модуля "Расчеты с клиентами":
1. договор в заказе не указан - это означает, что кредитный лимит 0, т.е. ничего разнести не получится
2. договор в заказе указан и в нем кредитный лимит не указан (стоит 0) - тоже ничего разнести не получится. Это мне показалось странным, т.к. без флага "Кредитный лимит по договору" , если в клиенте я не указываю кредитный лимит (оставляю 0) - это означает неограниченный кредитный лимит...
3. Исходная проблема: Почему флаг "Кредитный лимит по договору" не дает разносить мне накладные со знаком минус?
как выяснилось тут проблема даже не в разноске, а в сопоставлении исходной накладной и сторно (у меня в сторно-заказе тип сопоставления = "помеченные операции", поэтому после разноски сразу идет сопоставление - и валится ошибка). Т.е. зачем-то в сопоставлении проводок по клиенту при включенном кредитном лимите по договору добавлена проверка, что сопоставлять я могу только если по договору не превышен кредитный лимит.

Пример:
по клиенту и договору кредитный лимит = 1000р.(кредитный лимит по договору включен). по клиенту и договору всего 4 проводки. 3 накладные: 500р, 600р, 100р
и 1 сторно проводка: -100р. Т.е. сальдо по договору 1100р, кредитный лимит превышен.
Сопоставить по этому договору я ничего не могу, т.к. по договору превышен кредитный лимит.

Очень странное поведение, ведь в аналогичном случае без флага "Кредитный лимит по договору": кредитный лимит по клиенту = 1000р и он превышен (сальдо по клиенту = 1100р) - сопоставлять я могу без каких либо ошибок.

Почему нельзя сопоставлять проводки клиента при превышении кредитного лимита по договору?

Зачем вообще (идеологически) при сопоставлении проводок клиента проверять кредитный лимит по договору (и не проверять в целом по клиенту) ?

Последний раз редактировалось d&m; 08.04.2010 в 11:21.
Старый 04.03.2011, 10:58   #5  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
кредитный лимит по договору по-прежнему не даёт спокойно жить
Проблема возникает:
1. При включенном кредитном лимите по договору (Расчеты с клиентами / Настройка / Параметры, закладка Кредитоспособность, поле Кредитный лимит по договору = да)
2. При сопоставлении/рассопоставлении проводок по клиенту/поставщику

В сопоставляемых/рассопоставляемых проводках НЕ используется договор (проблема в методе checkCreditLimitWithoutContract на таблице RContractTable):
1. Если кредитный лимит по клиенту/поставщику = 0, то наличие положительного сальдо по клиенту не даст вам сопоставить/рассопоставить ни одну из проводок по такому клиенту. Однако кредитный лимит равный 0 - по смыслу это неограниченный кредитный лимит (если в карточке клиента не стоит флаг «Обязательный кредитный лимит»)
X++:
  if (creditMax < creditLimitContractTotal)
    {
        ret = checkFailed(strfmt("@GEE31748",_partnerCode,creditLimitContractTotal,creditMax));
т.к. creditmax = 0 - всегда имеем ерор

2. Для сальдо поставщика забыли минус. В итоге – если мы поставщику больше платили, чем закупали (положительное сальдо по поставщику) – мы не сможем сопоставить/рассопоставить ни одну из проводок.

Как есть:
balanceWithoutContract = vendTable.openBalanceMSTPerContract_RU('','');
Как надо:
balanceWithoutContract = - vendTable.openBalanceMSTPerContract_RU('','');

В сопоставляемых/рассопоставляемых проводках используется договор (проблема в методе checkAvailableCreditLimit на таблице RContractTable):
1. Такая же ошибка при сравнении нулевого кредитного лимита и открытого сальдо. Кредитный лимит равен 0 – всегда получаем ерор.
2. нет ошибки с минусом для сальдо поставщика
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try.

Последний раз редактировалось d&m; 04.03.2011 в 11:18.
За это сообщение автора поблагодарили: EVGL (5).
Теги
договор, кредитный лимит

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
По договору нужно периодически продавать клиенту определенный товар. Как лучше реализовать в Аксапте? mazzy DAX: Функционал 12 10.04.2009 10:38
Кредитный лимит и списание дебиторской задолженности DAX 4.0 SP2 FP1 EE Ivanhoe DAX: Функционал 0 09.09.2008 15:12
СФ по агентскому договору Daisy DAX: Функционал 4 07.09.2007 16:18
Лимит пополнения... KIV DAX: Функционал 22 26.10.2004 15:56
Почему договору нельзя сквозную аналитику присвоить? George V. Tavrizoff DAX: Функционал 3 27.02.2004 11:05

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:48.