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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.09.2014, 18:14   #1  
Vasa is offline
Vasa
Участник
 
5 / 10 (1) +
Регистрация: 25.09.2014
Цитата:
Сообщение от Constantine Посмотреть сообщение
Vasa, вы пытаетесь в темповую таблицу записать данные в поле Inventory, оно флоуфилдовое и ничего не получится. В общем виде код должен выглядеть примерно так:
Код:
Item.RESET;
IF Item.FINDEST then
REPEAT
  TmpItem.RESET;
  TmpItem.SETRANGE("No.", "No.");
  IF NOT TmpItem.FINDFIRST then
  BEGIN
    Qty := 0;
    ItemRecLine.RESET;
    ItemRecLine.SETRANGE("Item No.", Item."No.");
    // накладываем доп. фильтры по дате и т.п.
    IF ItemRecLine.FINDFIRST then
    REPEAT
      Qty += ItemRecLine.Quantity;
    UNTIL ItemRecLine = 0;
    TmpItem.INIT;
    TmpItem."No."        := Item."No.";
    TmpItem."Unit Price" := Qty;        // используйте любое не флоуфилдовое поле DECIMAL 
    TmpItem.INSERT;
  END
UNTIL Item.Next = 0;
В данном случае модификация данных не нужна, т.к. вы сразу по товару все посчитаете.
Ясно, спасибо, разобрался, у было 2 проблемы:
TmpItem.SETRANGE("No.", 'No.'); - одинарные ковычки
и
TmpItem."inventory" := Qty; - вместо поля типа Unit Price

теперь никак понять не могу почему там где я все поля в коде для tmpitem заполняю (после TmpItem.INIT - если пишу TmpItem."Vendor Name":=Item."Vendor Name"; то мне в отчет пустые строки попадают??
Старый 26.09.2014, 18:44   #2  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от Vasa Посмотреть сообщение
теперь никак понять не могу почему там где я все поля в коде для tmpitem заполняю (после TmpItem.INIT - если пишу TmpItem."Vendor Name":=Item."Vendor Name"; то мне в отчет пустые строки попадают??
Посмотрите свойства поля "Vendor Name": если FieldClass = FlowField, тогда:
- строка с TmpItem."Vendor Name":=Item."Vendor Name" не нужна (т.к. и TmpItem и Item одна и та же таблица)
- в том месте, где печатаете содержимое TmpItem надо прописать
Код:
TmpItem.CALCFIELDS("Vendor Name");
Старый 30.09.2014, 02:16   #3  
Vasa is offline
Vasa
Участник
 
5 / 10 (1) +
Регистрация: 25.09.2014
Да, вы правы, думал calcfields для вычислений только используется.. всем спасибо за помощь.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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