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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2005, 18:47   #1  
andy239 is offline
andy239
1C
1C
 
52 / 10 (1) +
Регистрация: 26.05.2005
? Проблемка с лукапом
Добрый день! прошу помочь...

Ради быстрого поиска в справочнике номенклатуры и заполнения закупок необходимо создать такую фишку:

в закупке кнопка "подбор"
при нажатии на кнопку
1. открывается лукап
2. пользователь выбирает нужную номенклатуру, жмет ентер
3. система выдает окошко для ввода количества
4. пользователь вводит, жмет ентер
5. снова к п.1 ... и так пока в п.4 не нажмем отмену...

делается примерно следующее

PurchLine_ds.create();
FR = New FormRun(New Args("InventTableLookup"));
FR.Init();
PurchLine_ItemId.PerformFormLookup(FR);

(цикла пока нет - просто для проверки)
так вот - лукап открывается и сразу же закрывается с выбором первой же строки...

еще желательно чтобы форма лукапа при этом не закрывалась совсем для последующего выбора, например, нескольких строк подряд...

альтернативой могла бы быть форма в которой возможен поиск прямым набором (без лукапа). Но как это сделать без зверских ухищрений?
Старый 26.05.2005, 19:01   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Проблемка с лукапом
Цитата:
Изначально опубликовано andy239
Ради быстрого поиска в справочнике номенклатуры и заполнения закупок необходимо создать такую фишку:
Посмотрите в нижней части формы Закупок кнопку Функции \ Создать строки
Скорее всего, программировать не надо.
__________________
полезное на axForum, github, vk, coub.
Старый 26.05.2005, 19:02   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
а если попробовать вместо performFormLookup сделать FR.wait() и закрывать форму уже при каких-то действиях на форме лукапа?
Старый 26.05.2005, 19:04   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Уважаемые, погодите советовать программирование.
Потом andy239 будет спрашивать про выбор склада, гтд, цвета и прочей складской аналитике.
Потом он будет спрашивать как получить остатки и затолкать их в лукап...
Давайте попробуем использовать стандартный функционал...
__________________
полезное на axForum, github, vk, coub.
Старый 26.05.2005, 19:06   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
да, возможно поспешил с ответом.
просто был конкретный вопрос по коду.
Но, конечно, лучше использовать стандартный функционал
Старый 27.05.2005, 09:58   #6  
andy239 is offline
andy239
1C
1C
 
52 / 10 (1) +
Регистрация: 26.05.2005
зачем это нужно + возможное решение
всем спасибо

стандартный функционал не подходит из-за того что не обеспечивает должной скорость ввода закупок... слишком много лишних нажатий.

нужно обеспечить минимум нажатий:
первые буквы наименования - ентер - количество - ентер и т.д. по циклу

похоже в этом деле помогает свойство SearchMode - именно оно обеспечивает поиск при наборе, который может помочь в ентом деле. Лукап тогда просто не нужен

остатки в лукап не нужны, это же закупки...да и проблем с тем как их запихать у меня нет


а вот почему все-таки лукап закрывается - непонятно...
Старый 08.08.2007, 14:21   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Сталкнулся с такой же проблемой. Лукап сам закрывается. Причём если перезайду, то он снова работает как надо до поры до времени. Причём это пора наступает очень скоро. Перекрываю метод close на форме, являющейся лукапом.
Вижу.
\Forms\InventSumForSerial\Methods\close - line 3
\Classes\FormRun\closeOk
\Classes\FormRun\closeSelect
Мож кто-то сталкивался.
Старый 08.08.2007, 14:26   #8  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вот так вызываю
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
InventSum inventSum;
InventDim inventDim;
FormRun fr;
;
fr = new FormRun(new Args(formStr(InventSumForSerial)));
fr.init();
this.performFormLookup(fr, _formControl);
fr.wait();
inventSum = fr.dataSource(1).cursor();
moveJournalLine.ItemId = inventSum.ItemId;
inventDim = inventSum.inventDim();
moveJournalLine.InventSerialId = inventDim.inventSerialId;
moveJournalLine_ds.refresh();
}
Причём даже если вот так такая ситуацию повторяется.
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
InventSum inventSum;
InventDim inventDim;
FormRun fr;
;
fr = new FormRun(new Args(formStr(InventSumForSerial)));
fr.init();
this.performFormLookup(fr, _formControl);
}

Последний раз редактировалось miklenew; 08.08.2007 в 14:30.
Старый 08.08.2007, 16:29   #9  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Нашёл. Свойство WindowsType на design-е надо ставить popup, а не Standart.
Старый 08.08.2007, 16:31   #10  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Весь этот код какой-то абсолютно кривой. По крайней мере, параметры из lookup формы так никогда не извлекаются. Рекомендую взять одну готовую форму (AssetDepBookConsumptionLookup, например) и перестоить ее под ваши нужды. Есть еще мой собственный (довольно сложный) пример формы, которая по моим ощущениям делат что-то похожее на ваш проект. Могу выложить.
Старый 08.08.2007, 16:33   #11  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Выкладывай конечно, зачем спрашивать.
Старый 08.08.2007, 16:51   #12  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Как скажете. Идея такова:
одно складское измерение в группе скл. аналитики объявляется как "уникальное" (максимально селективное, полностью описывающее партию товара на складе). Для одного материала это может быть серийный номер, для другого - палета или номер партии. Форма показывает наличные запасы по нескольким материалам из производственной спецификации. Из-за того, что номенклатура и "уникальная" аналитика меняется от группе к группе, строится временная таблица в методе SPPJmgMountParmTable.lookupUniqueDimBuffer(). Значение выбранной уникальной аналитики по выходе из лукапа вновь пропускается через этот метод, который на этот раз восстанавливает все остальные аналитики и номер номенклатуры.
Все это делается для того, чтобы сканером заполнить все поля производственного журнала по одному номеру - серийному номеру с этикетки.

SharedProject_InventOnhandLookupWithAUniqueInventDim.xpo

Код написан для 4.0 и компилироваться не будет.
Старый 08.08.2007, 17:24   #13  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от EVGL Посмотреть сообщение
Весь этот код какой-то абсолютно кривой. По крайней мере, параметры из lookup формы так никогда не извлекаются. Рекомендую взять одну готовую форму (AssetDepBookConsumptionLookup, например) и перестоить ее под ваши нужды. Есть еще мой собственный (довольно сложный) пример формы, которая по моим ощущениям делат что-то похожее на ваш проект. Могу выложить.
Формы AssetDepBookConsumptionLookup у меня нет. Знаю, что криво. Но лучше не предумал. На extanded data Type повесить не могу там весит уже. Но он мне не подходит. Динамический тоже не подходит. Если знаете как лучше извлечить скажите. У меня 3.0.
Старый 08.08.2007, 18:32   #14  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
стандартный функционал не подходит из-за того что не обеспечивает должной скорость ввода закупок... слишком много лишних нажатий.
сводное планирование надо запускать
Старый 08.08.2007, 19:30   #15  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от EVGL Посмотреть сообщение
Все это делается для того, чтобы сканером заполнить все поля производственного журнала по одному номеру - серийному номеру с этикетки.

Код написан для 4.0 и компилироваться не будет.
Не осилил. Тяжело смотреть код, не представляя, чего он, собственно делает.
Но если я правильно понял описание, то Вы заполняете много полей, выбирая в лукапе одно (строку).

так вот я с другой стороны шел. обращениями к вызывающей форме заполнял требуемые поля из метода closeSelect. (в нем я знаю конкретную строку, выбранную в лукап-форме). Таким образом работает у нас лукап склада для транзита. Выбираем 1 склад, а заполняются 3.
Хотя может и изврат
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите разобраться с лукапом Dimitry DAX: Программирование 14 20.09.2008 10:04
КЛАДР katja DAX: Функционал 10 15.08.2005 13:17

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

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

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