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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2017, 13:38   #1  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Покупка нескольких ОС (ошибка)
В ходе проверки приобретения нескольких ОС (МОС) на версии AX 2012 R3 столкнулся с ошибкой при проверке строк закупки. Закупается 5 штук, например, ноутбуков стоимостью 25000 каждый. Подтверждаю заказ на покупку и "Количество ОС для номенклатуры не соотвествует количеству указанных инвентарных номеров" (орфография - фиг с ней).
Кто-то добрый в таблице RAssetPurchTrans организовал следующую проверку (метод checkBeforePost()):
X++:
if (! _line.Category  &&
        localAcquisitionPrice <= rAssetParameters.LowCostAmountLimit)
    {
        if (RAssetPurchTrans::exist(_line))
        {
            return checkFailed("@GLS116219");
        }
        return true;
    }
Проверка на принадлежность категории закупок спорная, но бог бы с ней. При проверке совпадения количества закупаемых ОС (МОС) и количества связанных карточек используется метод exist() !!!:
X++:
public static boolean exist(Common _common)
{
    return (select firstonly rassetPurchTrans
               where rassetPurchTrans.TableRecId   == _common.RecId &&
                     rassetPurchTrans.TableTableId == _common.TableId).RecId != 0;
}
Эта же проверка используется и при покупке ОС (стоимость поднял до 50000).
Проверять надо не наличие записей, а на совпадение количества в строке покупки с количеством записей в таблице RAssetPurchTrans, связанных со строкой.
(интересно, кто-нибудь тестировал процесс покупки ОС в российском подразделении?)
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 02.02.2017, 15:54   #2  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Добавил метод countRec(), заменил проверку exist() на сравнение countRec с количеством по строке к немедленной поставке (поставке). Нормально отработала покупка пяти ноутбуков, карточки перешли в статус куплено. Представляю, каким геморроем оборачивалась закупка спецодежды в AX 2012 R3.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Теги
ax 2012 r3, ос

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сторнирование оп. ввод в эксплуатаций ОС. выходит ошибка Ezop DAX: Функционал 0 21.12.2016 09:54
Российские ОС – ошибка сторно ввода в эксплуатации Starling DAX: Функционал 2 10.10.2013 19:49
DAX 4.0 Покупка ОС через ЗАКАЗ НА ПОКУПКУ IntoTheRain DAX: Функционал 12 11.03.2010 22:32
Массовая внутригрупповая продажа/покупка ОС Evgeniy2020 DAX: Функционал 0 12.02.2009 12:25
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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