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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.05.2007, 13:47   #1  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Банальная вроде бы задача, но я чего-то не могу разобраться.
Существует несколько карточных форм (фильтруют записи по значению одного поля) и табличная форма, ссылающиеся на одну и ту же таблицу.
Задача на карточных формах сделать кнопку вызова табличной формы (чтобы в табличной форме при этом применялся такой же фильтр). Ну и RunFormOnRec соответственно тоже.
Ну это не сложно - просто ставишь Run Form и указываешь RunFormView с такими же значениями как и в картотечной форме.

НО нужно еще на табличной форме сделать меню с фильтрами. Делаю фильтры с помощью SETVIEW. Но у мнея складываеца такое впечатление, что SETVIEW фильтрует записи
таблицы, а в то же время сама табличная форма продолжает фильтровать записи для отображения с теми параметрами, что были указаны в RunFormView при ее вызове.
Чтобы это обойти стал делать по другому: RunFormView в картотечных формах не заполнять, а этот же фильтр ставить в OnAfterGetCurrRecord ориентируясь на значение поля, в текущей
записи, т.к. она соответствует записи в карточной форме.

Фильтры взаимоисключающие. И получается следущее. Вызываю табличную форму из первой карточной - все отлично. Закрываем ее, но фильтр то на источнике данных остается.
( в этом месте описания я понял, что его надо убирать перед закрытием формы OnQueryCloseForm() SETVIEW('') )

Обидно. Так долго писал, грамотно излагая.
Как, все таки, верно говорится: "Правильно сформулированный вопрос уже содержит 80% ответа."
Старый 25.05.2007, 15:06   #2  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Рановато я обрадовался
Теперь другая проблема с формами. Форма кадровые приказы и в ней сабформа приказ на прием к примеру.
Надо чтобы при вводе фамилии она заносилась в название приказа.
Пишу следущее в TextBox OnAfterValidate сабформы, который содержит фамилию:
Код:
PersOrderHeader.GET("Order No.");
PersOrderHeader.Name:='Прием '+"Last Name";
PersOrderHeader.MODIFY;
Вот такой код вообще не вносит изменений в таблицу на которую ссылается PersOrderHeader.
Если я пишу так:
Код:
PersOrderHeader.GET('ПРИМ070016'); //взял для отладки номер конкретного приказа
PersOrderHeader.Name:='Прием '+"Last Name";
PersOrderHeader.MODIFY;
Вот такой код записывает в таблицу, но в контроле формы кадровые приказы это значение всеравно не появляется.
Подскажите как надо правильно делать?
Старый 25.05.2007, 15:10   #3  
Forward is offline
Forward
Участник
 
101 / 10 (1) +
Регистрация: 21.05.2007
Форма не знает, что ей нужен UPDATE;
Старый 25.05.2007, 15:19   #4  
ekya is offline
ekya
Участник
 
16 / 10 (1) +
Регистрация: 14.05.2007
можно сделать так:
объявить переменную, такого же типа, как Rec, назовем ее NewRec;

NewRec.reset();
NewRec.filtergroup(2);
устанавливаем фильтры
NewRec.filtergroup(0);
form.run(0, NewRec);
Старый 25.05.2007, 15:23   #5  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Не лазил в эту форму, но могу предположить, что breakpoint на строку PersOrderHeader.GET("Order No."); поможет - посмотрите перед гетом чему равно "Order No.".

Могу предположить, что имя вносите до вставки самой строки (в сабформе) (при DelayedInsert=TRUE например)
Старый 25.05.2007, 15:31   #6  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
2 randrews
Нет в сабформе я пробовал менять в уже введенных строчках - в таблицу пишется а на контроле главной формы не отображается.
как вот это победить?
Старый 25.05.2007, 18:11   #7  
NeNavision_imported is offline
NeNavision_imported
Участник
Аватар для NeNavision_imported
 
241 / 10 (1) +
Регистрация: 12.08.2005
Никак. Из сабформы основную форму обновить нельзя .
Ну или только на основную повесить таймер, который будет ее обновлять. Но отладка будет затруднительна.)
__________________
Должен остаться только один.
Старый 28.05.2007, 11:41   #8  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
А может можно както повесить UPDATE на сочетание горячих клавишь, а из сабформы както его сэмулировать?

Еще какая-то странность переименовал дал одной кнопке Name вместо номера и теперь навижн ругаеца при вызове формы
"Форма не распознает элемент 1000000060", что это такое?
Старый 28.05.2007, 12:57   #9  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
У какого-то элемента, возможно сво-во ParentControl ссылается на этот номер. Выгрузите объект в TXT - поищите по "1000000060", где эта цифра используеится
Старый 28.05.2007, 13:38   #10  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Проверил - не ссылается.
Странно вообще. Компилируется нормально, а вот при вызове формы ругается. Причем я переименовал только 1 кнопку, которую сам до этого же и добавил. Просто сегодня мне стало надо делать ее невидимой в некоторые моменты и я дал ей имя чтоб к ней обращаться из кода.
Теперь если я у нее имя удаляю и ставится номер который был по умолчанию. То при запуске формы навижн всерно ругается только на слдеующий контрол, если у него тож удаляю имя, то еще на следующий...
Что происходит то вообще? Не навижн, а сплошные глюки :/
Старый 29.05.2007, 09:57   #11  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Помогло только следующее: Импортировал рабочий вариант формы, заново добавил туда кнопки, сразу же их переименвал и потом написал их триггеры. Теперь все заработало.
Видимо когда переименовываешь контрол, у которого уже описаны некторые тригееры, компилятор Навижена компилит какую-то ерунду, несмотря на то что в исходниках все правильно.
 


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

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

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