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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2014, 20:12   #1  
Vasa is offline
Vasa
Участник
 
5 / 10 (1) +
Регистрация: 25.09.2014
Добрый день!
Работаю с навижн совсем недавно. Появилась задача: Необходимо вывести отчет по товарам, перемещенным (в связи с ремонтом к примеру) из одного магазина в другой.
Как делаю: в report designer добавляю 2 таблицы:
- основная: item sales lines (возможно ошибаюсь в точном ее названии) - в ней задаю фильтры "по дате" - когда было перемещение и "по отделу".
- вложенная: item - из нее в отчет буду выводить - код товара и наименование и "количество перемещенного товара" (но т.к. этого поля в таблице нет, поэтому беру Quantity из таблицы item sales lines)
И вроде все ничего - но появилась необходимость "группировки записей" - т.е. избежать в отчете одинаковых записей товаров (и просуммировать их перемещенное количество). Сделать это возможно только программно. Делаю так:
1) создаю временную таблицу: в CAL Globals добавляю переменную tmpitem и ставлю ее свойство temporary(yes).
2) в свойствах item sales lines – сортировка по Item No.
3) в свойствах item – сортировка по No., взаимосвязь: No.=FIELD(Item No.)
4)добавляю код (в OnPreRecord item):
***********************************************************
IF Item.FINDSET THEN
REPEAT
// tmpItem - временная таблица, которая будет содерж. Сгруппир. записи
tmpItem.RESET;

// накладываю фильтр на записи, по которым хочу сделать группировку
tmpItem.setrange("No.",’No.’);

IF NOT tmpItem.FINDFIRST THEN BEGIN
// не нашел требуемое сочетание, добавляю запись
tmpItem := Item;
tmpItem.insert(FALSE)
END ELSE BEGIN
// нашел требуемое сочетание, группирую и суммирую
tmpItem.Inventory += item sales lines.Quantity; // в правильности не уверен
tmpItem.MODIFY(FALSE);
END;
UNTIL Item.NEXT = 0;
// по идее теперь во временной таблице д.б. сгруппированные записи, c проссумир. их Кол-вом
*****************************************************************

ВОПРОСЫ (ЧТО я делаю не так?):
1) когда находится одинаковый товар во временной таблице, выскакивает системная ошибка("товар под №№ уже существует"), причем в условие: END ELSE BEGIN (см.код) - программа НЕ переходит!!! Почему?????
2) Как в коде правильно просуммировать к-во перемещенных товаров??
 


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

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

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