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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.11.2013, 12:16   #1  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Потребовалось на форму запроса датапорта добавить параметр. Естественно стандартная форма тут же исчезла (файл для импорта/экспорта, направление: импорт/экспорт), все сделал (по файлу взял отсюда: Про датапорт - Андрей Панько). Теперь требуется запустить датапорт в нужном направлении: импорт или экспорт, чекбоксы уже есть, переменная Option принимает значение Import/Export в зависимости от выбора на чекбоксах (сымитировал чекбоксами группу радиобаттонов на тригерах OnPush). Откуда и как запустить датапорт на импорт или экспорт в зависимости от выбора?
Кому интересно скрин формы запроса прилагаю.
[attachment=1348:Безымянный.PNG]
Изображения
 
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 06.11.2013, 13:30   #2  
Constantine_imported is offline
Constantine_imported
Участник
 
126 / 10 (1) +
Регистрация: 28.04.2011
zuzka, а стандартный способ запуска датапорта не прокатывает? Т.е. объявить переменную Dataport, задать параметры и запустить.
Я как-то так запускаю:
Код:
SalesSetup.GET;
FileName := SalesSetup."Price Path" + 'scv\price.txt';
IF EXISTS(FileName) THEN
  ERASE(FileName);
SalesPriceRec.COPYFILTERS(_Rec);
SalesPriceRec.SETRANGE(scv,TRUE);
SalesPrice.IMPORT(FALSE);
SalesPrice.FILENAME(FileName);
SalesPrice.SETTABLEVIEW(SalesPriceRec);
SalesPrice.RUNMODAL;
CLEAR(SalesPrice);
У меня там свои заморочки, но думаю понятно.

P.S. Блин, сейчас посмотрел, у меня же реквест форма совсем отключена, соответственно все выгружается/загружается из функции. Но может вам такой метод подойдет, если вынести все параметры на какую-нибудь форму и оттуда вызывать.
Старый 06.11.2013, 13:52   #3  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
На сколько я понял в строке:
Код:
SalesPrice.IMPORT(FALSE);
указывается что репорт на экспорт пускается? и следовательно если применить:
Код:
SalesPrice.IMPORT(TRUE);
то получаем импорт?
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 06.11.2013, 13:56   #4  
Constantine_imported is offline
Constantine_imported
Участник
 
126 / 10 (1) +
Регистрация: 28.04.2011
Цитата:
Сообщение от zuzka Посмотреть сообщение
На сколько я понял в строке:
Код:
SalesPrice.IMPORT(FALSE);
указывается что репорт на экспорт пускается? и следовательно если применить:
Код:
SalesPrice.IMPORT(TRUE);
то получаем импорт?
Совершенно верно.
Код:
SalesSetup.GET;
FileName := SalesSetup."Load Price" + 'price.txt';
SalesPrice.IMPORT(TRUE);
SalesPrice.FILENAME(FileName);
SalesPrice.RUNMODAL;
CLEAR(SalesPrice);
IF EXISTS(FileName) THEN
  ERASE(FileName);
Старый 06.11.2013, 14:14   #5  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Не прокатило - просто открывает заново форму запроса...
Если вызывать через DATAPORT.RUN(№, FALSE, Record) - подвисание и ничего в файле...

Видимо придется создавать пару новых объектов...
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 06.11.2013, 14:22   #6  
Constantine_imported is offline
Constantine_imported
Участник
 
126 / 10 (1) +
Регистрация: 28.04.2011
Цитата:
Сообщение от zuzka Посмотреть сообщение
Не прокатило - просто открывает заново форму запроса...
Если вызывать через DATAPORT.RUN(№, FALSE, Record) - подвисание и ничего в файле...

Видимо придется создавать пару новых объектов...
А вы свойство датапорта UseReqForm поставили в No? Если все параметры из функции задавать, то и реквест форма не нужна.
Кстати, еще свойство Import стоит No. Не помню почему так сделал, но есть подозрения, что из-за этого свойства какая-то бага вылезала. Нельзя было задать программно Import или что-то такое.
Старый 06.11.2013, 15:11   #7  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Код:
SalesPrice.IMPORT(TRUE);
SalesPrice.FILENAME(FileName);
SalesPrice.SETTABLEVIEW("Sales Price");
SalesPrice.RUN;
Пуская через RUN, репорт пускается и все отрабатывает отлично! Спасибо за помощь в виде + уже сделал))
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
 


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

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

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