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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.11.2005, 17:56   #1  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Ситуация следующая. Сдела формочку для Таблицы Field.
В созданной табличке необходимо указывать номера полей таблиц. Для выбора полей вставил такой вот код в LookUp

FieldList.LOOKUPMODE := TRUE;
IF FieldList.RUNMODAL = ACTION::LookupOK THEN
BEGIN
FieldList.GETRECORD(Fields);
"Value Field No." := Fields."No.";

// Modify,Validate или еще че.
END;

При работе непосредственно из таблички (без формы). Окошко выпадает значение присваивается но почему то незаписывается. Не помагают ни Modify, ни Validate.
При работе из формы для такой таблички если поставить CurrForm.UPDATE в OnAfterValidate то все хорошо.

Дак вот вопрос можно ли как сделать чтоб при работе непосредственно с табличкой поле обновлялось.
__________________
Want to believe...
Старый 18.11.2005, 18:04   #2  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Это глюк навижена. Не обращай внимания. Из формы будет работать.
Старый 21.11.2005, 20:51   #3  
Beetlejuice is offline
Beetlejuice
Участник
 
19 / 10 (1) +
Регистрация: 07.08.2005
Ну почему же сразу "глюк"...просто нужно сообразить.

CLEAR(FieldList); // не забываем очищать по указателю
FieldList.LOOKUPMODE := TRUE;
IF FieldList.RUNMODAL = ACTION::LookupOK THEN
BEGIN
FieldList.GETRECORD(Fields);
loca_rec_current.LOCKTABLE; // это переменная той же записи что и //REC, лочим таблицу
loca_rec_current.GET(line); //выставляем нужную запись
loca_rec_current.Fieldno:= Fields."No.";//дальше понятно.
loca_rec_current.MODIFY;
COMMIT;
END;
Старый 22.11.2005, 10:04   #4  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
2Beetlejuice:
Это конечно круто .. Это может даже работает. Но пожалуй лучше написать обычный лукап без Локтейблов и Коммитов и работать из формы без проблем. Чем нагружать код подобными вещами. Вообще коммитами не надо разбрасываться.
Старый 22.11.2005, 10:18   #5  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Думаю такой код выдаст юзеру "другой пользователь изменил запись после того как она была прочитана из базы".
Старый 22.11.2005, 10:26   #6  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Цитата:
Сообщение от Beetlejuice
Ну почему же сразу "глюк"...просто нужно сообразить.

CLEAR(FieldList); // не забываем очищать по указателю
FieldList.LOOKUPMODE := TRUE;
IF FieldList.RUNMODAL = ACTION::LookupOK THEN
BEGIN
  FieldList.GETRECORD(Fields);
  loca_rec_current.LOCKTABLE; // это переменная той же записи что                                                  //REC, лочим таблицу
  loca_rec_current.GET(line);    //выставляем нужную запись
  loca_rec_current.Fieldno:= Fields."No.";//дальше понятно.
  loca_rec_current.MODIFY;
  COMMIT;
END;
Thnx. Так я тоже пробовал но вот с Locktable то и не догадался .
__________________
Want to believe...
Старый 22.11.2005, 10:29   #7  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Цитата:
Сообщение от SVG
Думаю такой код выдаст юзеру "другой пользователь изменил запись после того как она была прочитана из базы".
Выдаст если сначала поменять через лукап а потом ручками или наоборот. Но "ручками" я просто поле закрою от редактирования и все.
__________________
Want to believe...
Старый 22.11.2005, 10:55   #8  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
не поле, а всю строку надо закрыть
Старый 22.11.2005, 11:35   #9  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
согласен
__________________
Want to believe...
 

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

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

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

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

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