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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.07.2002, 12:12   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Реализация запроса в Аксапте
Добрый день.

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

На SQL Server данный запрос выглядит следующим образом:

PHP код:
select count(* )
from InventSumInventItemLocation
where InventSum
.ItemId InventItemLocation.ItemId
    
and
    
InventItemLocation.MinInventOnHand >= InventSum.availPhysical
    
and
    
InventItemLocation.MinInventOnHand<>
Пробую повторить то же в Аксапте. Например так:

PHP код:
    InventItemLocation inventitemlocation;
    
int cnt;
    ;

    
super();

    
cnt =  str2int(
            (
select count(ItemIdfrom InventSum where
                
(  (InventSum.ItemId == InventItemLocation.ItemId) &&
                   (
InventItemLocation.MinInventOnHand >= InventSum.availPhysical) &&
                   (
InventItemlocation.MinInventOnHand != 0)
                 )
             ).
ItemId);

       print 
int2str(cnt); 
Или так:

PHP код:
    InventSum InventSum;
    
int cnt;
    ;

    
super();

    
cnt =  str2int(
            (
select count(ItemIdfrom InventItemLocation  where
                
(  (InventSum.ItemId == InventItemLocation.ItemId) &&
                   (
InventItemLocation.MinInventOnHand >= InventSum.availPhysical) &&
                   (
InventItemlocation.MinInventOnHand != 0)
                 )
             ).
ItemId);

       print 
int2str(cnt); 
И в первом и во втором случае Аксапта возвращает ноль, хотя записи, удовлетворяющие данным условиям точно есть.

Следующий код вообще не компилируется:

PHP код:
    InventSum InventSum;
    
int cnt;
    ;

    
super();

    
cnt =  str2int(
            (
select count(ItemIdfrom InventItemLocation  join InventSum where
                
(  (InventSum.ItemId == InventItemLocation.ItemId) &&
                   (
InventItemLocation.MinInventOnHand >= InventSum.availPhysical) &&
                   (
InventItemlocation.MinInventOnHand != 0)
                 )
             ).
ItemId);

       print 
int2str(cnt); 
Как реализовать этот запрос в Аксапте ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменить план выполнения запроса Sequel DAX: Администрирование 2 29.05.2008 15:46
Система оповещений в Аксапте (события в Аксапте) raunio DAX: Прочие вопросы 1 29.09.2005 15:44
Размышления на тему “Системы контроля версий в Аксапте”. Андре DAX: База знаний и проекты 31 07.02.2005 12:29
Реализация лизинговой деятельности компании в Аксапте ... 2b4fITin DAX: Функционал 4 19.09.2003 19:00
Реализация замен и аналогов компонентов в Аксапте tav DAX: Функционал 16 01.07.2003 11:10

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

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

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