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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.09.2008, 13:41   #1  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Подскажите пожалуйста как правильно делать суммирование данных (типа integer, decimal) в определённом столбце таблицы.

Например, есть таблица item в ней столбец inventory, я на форму поместил компонент text box и command button.
Надо чтобы при нажатие на кнопку (command button), суммировались все данные в столбце inventory и итог выводился в компонент text box.
Старый 17.09.2008, 14:35   #2  
trabajo is offline
trabajo
Участник
 
21 / 10 (1) +
Регистрация: 15.04.2008
Написать функцию типа

CLEAR(..);
sum := 0;
SETRANGE(..);
IF FIND('-') THEN REPEAT
sum += "..";
UNTIL NEXT = 0;

в триггере OnActivate() кнопки вызов этой функции.
Старый 17.09.2008, 15:28   #3  
Control is offline
Control
Участник
Аватар для Control
 
15 / 11 (1) +
Регистрация: 29.01.2008
Код:
CALCFIELD (FieldRef)
не забыв...
Старый 17.09.2008, 15:51   #4  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Цитата:
Сообщение от Control Посмотреть сообщение
Код:
CALCFIELD (FieldRef)
не забыв...
А если он суммирует на флоуфилд поля? .
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 17.09.2008, 15:53   #5  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Цитата:
Сообщение от lobster Посмотреть сообщение
Подскажите пожалуйста как правильно делать суммирование данных (типа integer, decimal) в определённом столбце таблицы.

Например, есть таблица item в ней столбец inventory, я на форму поместил компонент text box и command button.
Надо чтобы при нажатие на кнопку (command button), суммировались все данные в столбце inventory и итог выводился в компонент text box.
Если суммируемое поле НЕ флоуфилд и суммирование идет по существующему ключу (т.е. фильтруемые поля в записи, по сути, повторяют один из существующих ключей, для которого создан SIFT по нужному полю), то лучше после SETRANGE сразу использовать CALCSUMS .
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 17.09.2008, 17:30   #6  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от FoxSoft2005 Посмотреть сообщение
Если суммируемое поле НЕ флоуфилд и суммирование идет по существующему ключу (т.е. фильтруемые поля в записи, по сути, повторяют один из существующих ключей, для которого создан SIFT по нужному полю), то лучше после SETRANGE сразу использовать CALCSUMS .
Лучше:
if not calcsums(....) then
.... цикл по записям.

Ибо юзер может наложить фильтры, не попадающие под ключ.
Старый 17.09.2008, 17:55   #7  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
CALCSUMS не работает.
Пишет что "сумма не можт быть вычислена.Только обычные поля могут суммироваться."

А с CALCFIELDS вроде что-то счетает, но не выводит итог в text box.

вот что я пишу..

CLEAR(Inventory);
sum:=0;
SETRANGE(Inventory);
IF FIND('-') THEN REPEAT
xRec.CALCFIELDS(xRec.Inventory);
sum += Inventory;
UNTIL NEXT = 0;
Старый 17.09.2008, 18:08   #8  
Corleone is offline
Corleone
Участник
 
355 / 10 (1) +
Регистрация: 27.05.2004
Адрес: London
Попробуй так:

sum := 0;
item.RESET;
item.SETRANGE(Inventory);
if item.FIND('-') THEN
REPEAT
item.CALCFIELDS(Inventory);
sum += item.Inventory;
UNTIL item.NEXT =0;
Старый 17.09.2008, 18:37   #9  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Спасибо все сработало!!!
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:21.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.