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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.11.2005, 10:43   #1  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Значения по умолчанию
При добавлениии нового элемента номенклатуры есть необходимость в предварительной форме заполнить несколько полей (на основании выбранных значений потом генерируется код нового элемента). Хочется, чтобы значения некоторых полей формы уже стояли по умолчению.
Есть два варианта:
1. Использовании шаблона, но не все выбранные поля сохраняются в шаблоне. Какое свойство поля нужно включить?
2. Подставить значения полей при инициализации формы. Не получается.
За это сообщение автора поблагодарили: Hidden (1).
Старый 23.11.2005, 10:54   #2  
BVN is offline
BVN
Участник
 
88 / 13 (1) ++
Регистрация: 07.04.2005
Адрес: г. Королёв МО
Мне кажется только программно, при создании сразу заполнять необходимые поля., по условию.
Старый 23.11.2005, 11:22   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Честно говоря не точно понял вопрос, понял что перед созданием новой номенклатуры должна появляться форма с возможностью выбора параметров, на основании которых будет та или иная инициализация записи номенклатуры.

Думаю, красивым решением будет использование потомка класса RunBase, в нем есть свой диалог в котором можно оперировать с параметрами -- инициализировать + использовать механизм упаковки/распаковки. Для удобства к диалогу можно прицепить свою форму.

Пример:
Класс и форма Tutorial_RunBaseForm
Старый 23.11.2005, 11:40   #4  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
можно на датасорсе формы перекрыть метод create(), в котором будет вызываться диалог с нужным набором. дальше, думаю, понятно
Старый 23.11.2005, 11:52   #5  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Делал по-разному.
1) Вариант: сделайте таблицу первичных настроек (не прошивать же в код! ) и на методе initValue InventTable делаете инициализацию из этой таблицы.
2) Делайте мастер по созданию номенклатуры, с настройками.

С Уважением,
Георгий
Старый 23.11.2005, 12:22   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
В 2.5 был хороший мастер по созданию номенклатуры. И был специальный флажок в карточке номенклатур Template, для того чтобы этот товар можно было использовать как шаблон... Но в 3.0 перешли к "универсальному" механизму шаблонов и отказались от мастера
Старый 23.11.2005, 17:12   #7  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Дело в том, что указанная форма уже создана сторонними программистами и мы ее теперь дорабатываем.
Старый 23.11.2005, 17:19   #8  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
kvg6 главное, описать задачу как можно загадочнее, тогда отвечать на Ваш вопрос станет многократо интереснее. Это Вы правильно выдаете информацию маленькими порциями.
Старый 24.11.2005, 10:21   #9  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Критика - животное полезное.
Таким образом, есть некая форма. Заполнение полей на ней помогает сгенерировать код номенклатурной единицы. Хочется иметь значения по умолчанию для некоторых полей на этой форме. Для этого использовали шаблон. Однако в нем не сохранились все выбранные значения.
Какое свойство поля таблицы номенклатуры нужно включить?
Старый 24.11.2005, 16:58   #10  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Давайте с самого начала:
У вас есть 2 таблицы
InventTable в которой хранится справочник номенклатуры и Ваша, с данными для шаблона.
Когда происходит создание новой записи, открывается диалоговое окно, которое уже частично заполнено. Остальное Вы заполняете сами, и то что Вы заполняете не сожнаняется во второй Вашей таблице.
Так?
Старый 24.04.2006, 13:12   #11  
Petruccio is offline
Petruccio
Участник
 
35 / 10 (1) +
Регистрация: 12.09.2005
Адрес: Минск
Post
У меня похожая задача. Есть форма, на которой сотавляется код номенклатуры. На этой форме есть кнопочка "Создать". По задумке, после нажатия на эту кнопку вызывается форма InventTable и ей в качестве параментров передаются ItemId, itemName, NameAlias.

В init InventTable добавил:
PHP код:
        obj element.Args().caller();
        
itemid obj.GetItemId();
        
namealias obj.GetNameAlias(); 
Затем хочу, чтобы появлялось стандартное окошко выбора шаблона. После выбора шаблона хочу подменить ItemId, itemName и NameAlias. В init формы InventTable:
PHP код:
        InventTable_ds.create();
        
InventTable.ItemId itemid;
        
InventTable.itemName itemid;
        
InventTable.NameAlias namealias
Выдает ошибку:

"Невозможно создать запись в 'Параметры модуля "Запасы"' ('InventTableModule') Номенклатура: Дж 111 арт. 02010, Склад.
Запись уже существует.

Невозможно считать запись из 'Параметры модуля "Запасы"' ('InventTableModule').
Запись удалена другим пользователем."

Как реализовать задумку правильно?
Старый 24.04.2006, 13:44   #12  
Petruccio is offline
Petruccio
Участник
 
35 / 10 (1) +
Регистрация: 12.09.2005
Адрес: Минск
Все. Получилось. InventTable_ds.create() нельзя было вызывать из init формы, так как в super создается источник данных формы. Нужно было поместить это все в run после super.
Старый 25.05.2006, 17:35   #13  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от Petruccio
У меня похожая задача
Никак нет. Речь шла не о самой генерации ItemId в зависимости от выбранных предварительно значений полей InventTable.
Речь о возможности первоначального заполнения (при инициализации) этих-самых полей значениями по-умолчанию. Т.е. при попытке пользователя добавить номенклатуру сначала появляется экранная форма, где значения некоторых полей InventTable уже заданы. Пользователь может перевыбрать эти значения и нажать ту-самую кнопку "Создать". На выходе имеем - сгенерированный ItemId
__________________
Становись лучше

Последний раз редактировалось kvg6; 25.05.2006 в 18:16.
Старый 25.05.2006, 17:57   #14  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Ну так задача тогда становится, еще проще, вставляем в метод insert() функцию котороя генирит имя и все дела.
Старый 25.05.2006, 18:17   #15  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от konopello
Ну так задача тогда становится, еще проще, вставляем в метод insert() функцию котороя генирит имя и все дела.
Здорово, а где же "по-умолчанию"?
Впрочем, я уже разобрался. Как подсказывал George Nordic, назначаем значения желаемых полей в методе initValue таблицы InventTable
__________________
Становись лучше

Последний раз редактировалось kvg6; 26.05.2006 в 09:37.
Старый 25.05.2006, 19:39   #16  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
мне кажется проще пользовать шаблоны.
Старый 25.05.2006, 22:38   #17  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от mit
мне кажется проще пользовать шаблоны.
Тогда см. сообщение #1
__________________
Становись лучше
Старый 26.05.2006, 11:26   #18  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от kvg6
1. Использовании шаблона, но не все выбранные поля сохраняются в шаблоне. Какое свойство поля нужно включить?
Вообще-то в шаблоне сохраняются все несистемные поля таблицы, значение которых отличается от пустого. Какие именно поля из InventTable у вас не сохраняются?
__________________
Андрей.
Старый 26.05.2006, 12:42   #19  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от Dron AKA andy
Какие именно поля из InventTable у вас не сохраняются?
Не сохраняются в шаблоне добавленные нами поля
__________________
Становись лучше
Старый 26.05.2006, 14:32   #20  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
У нас прекрасно сохраняются добавленные нами поля, никаких свойств специально не ставилось. Может, у вас есть какие-то доработки классов SysRecordTemplate* ?
Посмотрите метод SysRecordTemplateStorage::packCommon(), там прекрасно видно, по какому принципу выбираются поля для сохранения в шаблоне.
__________________
Андрей.
Теги
шаблон

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX 4.0. Значения по умолчанию. Бигудь DAX: Программирование 5 26.12.2008 11:01
Значение по умолчанию параметра типа EDT c array elements либо просто массива HorrR DAX: Программирование 16 20.02.2008 19:18
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map? LRA DAX: База знаний и проекты 15 02.04.2007 13:37
значения по умолчанию в наследнике от RunBase NetBus DAX: Программирование 6 29.09.2005 18:13
Значения по умолчанию в SysQueryForm dmit1606 DAX: Программирование 2 18.02.2004 11:43

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

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

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