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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2007, 18:05   #1  
Hub is offline
Hub
Участник
 
51 / 10 (1) +
Регистрация: 20.05.2008
Объявляю переменные recKey (тип Record, таблица Key) и lvTableNo (тип Integer).
далее скрипт:

lvTableNo := 1; // таблица реально существует с данным ID
recKey.SETFILTER(recKey.TableNo,'%1',lvTableNo);
recKey.FIND('-'); // эта строка выдает ошибку

Ошибка: "Нет Key в пределах фильтра. Фильтры: TableNo: 1".

1. Прокомментируйте, пожалуйста, ошибку.
2. Каким образом отфильтровать тыблицу Key в скрипте, чтоб вытащить ключи произвольной таблицы?
Старый 05.09.2007, 19:09   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А что это за таблица под номером 1? У меня все больше с трех начинается....
Старый 06.09.2007, 10:28   #3  
Hub is offline
Hub
Участник
 
51 / 10 (1) +
Регистрация: 20.05.2008
Цитата:
Сообщение от Fordewind Посмотреть сообщение
А что это за таблица под номером 1? У меня все больше с трех начинается....
Company Information. Хотя это не принципиально важно, при любом существующем номере (table ID) возникает ошибка.

PS фильтр по имени таблицы работает "на ура", правда, почему-то относительно долго, ведь записей в таблице Key всего несколько тысяч, причем для такого количества записей наличие индексов роли не играет.
Старый 06.09.2007, 13:02   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А вы не путаете таблицы с формами?

форма номер 1 = Company Information
таблица номер 79 = Company Information
Старый 06.09.2007, 13:07   #5  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Пользуйтесь RecordRef
RecordRef.KEYINDEX(1); - первичный ключ
Старый 06.09.2007, 13:10   #6  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Пример перечисления всех полей ключевых (FieldRef):

KeyRef := RecordRef.KEYINDEX(1);
FOR i := 1 TO KeyRef.FIELDCOUNT DO BEGIN
FieldRef := KeyRef.FIELDINDEX(i);
END;

Да... забыл сказать CU Change Log Management в свое время помог разобраться во разных Ref-ах
Может и Вам сгодится
Старый 07.09.2007, 10:29   #7  
Hub is offline
Hub
Участник
 
51 / 10 (1) +
Регистрация: 20.05.2008
Цитата:
Сообщение от Fordewind Посмотреть сообщение
А вы не путаете таблицы с формами?

форма номер 1 = Company Information
таблица номер 79 = Company Information
Прошу прощения, действительно форма. Хотя суть дела не меняет "Хотя это не принципиально важно, при любом существующем номере (table ID) возникает ошибка."
Старый 07.09.2007, 10:32   #8  
Hub is offline
Hub
Участник
 
51 / 10 (1) +
Регистрация: 20.05.2008
Цитата:
Сообщение от randrews Посмотреть сообщение
Пример перечисления всех полей ключевых (FieldRef):

KeyRef := RecordRef.KEYINDEX(1);
FOR i := 1 TO KeyRef.FIELDCOUNT DO BEGIN
FieldRef := KeyRef.FIELDINDEX(i);
END;

Да... забыл сказать CU Change Log Management в свое время помог разобраться во разных Ref-ах
Может и Вам сгодится
Во, что надо, спасибо!
 

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

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

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

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

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