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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.03.2008, 14:39   #1  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Добрый день, коллеги. Столкнулся с такой проблемой, которая наверняка уже была кем-то решена в свое время...
Выполняю отчет, который изменяет данные одной формы на основании данных, имеющихся на другой форме.
Обработка этого отчета заканчивается успешно. После чего происходит возврат на главную форму, где данные уже успешно изменены. Но сортировка данных осталась прежняя. Мне же необходимо отсортировать данные по определенному полю, которое изменяется в результате всей этой обработки.
Вопрос: как это сделать. Тупое SETCURRENTKEY в репорте не помогает.
Уже сделал эту сортировку в триггере OnOpenForm формы, но это неправильно - все-таки изменять системный объект ради одной лишь сортировки - большая глупость...
Может быть есть какие-т размышления на этот счет? Буду благодарен за любую помощь.
Старый 10.03.2008, 13:16   #2  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
А, вы не пробовали выполнить setcurrentkey после вызова из формы отчета выполняющего обработку ?
Старый 11.03.2008, 09:11   #3  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Цитата:
Сообщение от art Посмотреть сообщение
А, вы не пробовали выполнить setcurrentkey после вызова из формы отчета выполняющего обработку ?
Art, пробовал. Не помогло. Решение нашлось. Сделал в этой самой форме процедурку с одним единственным оператором - SETCURRENTKEY() по нужным мне полям. Затем вызвал через контрол этой формы (если быть точнее - сабформы) эту функцию и сортировка произошла успешно.
Если более подробно, то речь идет о форме 50 (Покупка Заказ). Необходимо было делать обновления ее сабформы 54.
Вот, собственно, через контрол сабформы я и вызывал свою процедурку, которая и производила сортировку.
Спасибо за желание помочь. Своими силами обошелся...
Старый 11.03.2008, 11:37   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Все хорошо, только не ясно зачем использовать отчет (все таки они 5 копеек штука)? Почему не написать просто функцию на таблице?
Старый 11.03.2008, 12:45   #5  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Все хорошо, только не ясно зачем использовать отчет (все таки они 5 копеек штука)? Почему не написать просто функцию на таблице?

А вот это уже - пожелание клиента. Ну хочет клиент видеть, что у него обновится и как, прежде чем эти изменения можно будет лицезреть "вживую" на формочке. Для того и производится вся обработка в отчете...
Старый 11.03.2008, 16:25   #6  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Orwell Посмотреть сообщение

А вот это уже - пожелание клиента. Ну хочет клиент видеть, что у него обновится и как, прежде чем эти изменения можно будет лицезреть "вживую" на формочке. Для того и производится вся обработка в отчете...
Не знаю чего он там хочет видеть как обновится, но я б ему предложил архивировать документы автоматически перед таким изменением. Если что не так, то пусть восстанавливает.
Или вывести в отдельную форму с подтверждением
Старый 11.03.2008, 22:42   #7  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Orwell Посмотреть сообщение
Art, пробовал. Не помогло.
Странно, прекрасно обычно работает. Вы уверены, что нужную переменную прописали для SETCURRENTKEY?
Цитата:
Решение нашлось. Сделал в этой самой форме процедурку с одним единственным оператором - SETCURRENTKEY() по нужным мне полям. Затем вызвал через контрол этой формы (если быть точнее - сабформы) эту функцию и сортировка произошла успешно.
Если более подробно, то речь идет о форме 50 (Покупка Заказ). Необходимо было делать обновления ее сабформы 54.
Вот, собственно, через контрол сабформы я и вызывал свою процедурку, которая и производила сортировку.
Спасибо за желание помочь. Своими силами обошелся...
Сложновато уж больно сильно!
Старый 12.03.2008, 11:05   #8  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Не знаю чего он там хочет видеть как обновится, но я б ему предложил архивировать документы автоматически перед таким изменением. Если что не так, то пусть восстанавливает.
Или вывести в отдельную форму с подтверждением
Разумное замечание. Оно тоже учтено. На RequestForm отчета есть один единственный крыжик, который отвечает за тестовое/реальное выполнение отчета (т.е. пользователь видит, ЧТО будет, ЕСЛИ отчет запустить в не тестовом режиме). Если крыжик поставлен - изменения в базу не вносятся и, следовательно, сабформа остается в прежнем состоянии. Если крыжик снят - отчет производит обработку "по настоящему" (с MODIFY и INSERT). Вот, собственно, и все.
 


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

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

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