01.03.2012, 22:50 | #21 |
Участник
|
Цитата:
проверяю на ax2009 (5.0.1500.4570) в вашем проекте простая форма с четко указанными таблицами. в коде вы добавляете только вкладку и на ней размещаете поля из таблиц, заранее указанных в форме X++: public void init() { int fds = form.design().dataSource(tableStr(InventItemLocation)); FormBuildTabControl ftc; FormBuildTabPageControl ftpc; FormBuildGroupControl fgc; void addGroup(str _name) { fgc = ftpc.addControl(FormControlType::Group, _name); fgc.dataSource(fds); fgc.dataGroup(_name); } ; ftc = form.design().control('Tab'); ftpc = ftc.addControl(FormControlType::TabPage, 'TabPage_New'); ftpc.caption('New'); ftpc.columns(2); addGroup('Identification'); addGroup('System'); addGroup('PickingLocation'); addGroup('Counting'); super(); } разберем. вы выполняете добавление полей ДО вызова супера. поэтому проверка прав, диналинки и прочее (включая пользовательские правки форм) вполне нормально выполняет ядро. поэтому сообщения после 4го к этому проекту не относятся угу. потому что проблема возникает если в качестве датасорсов в АОТ указаны common и/или добавление полей/датасорсов выполнять после супера в init вы таки посмотрите на форму sysTableBrowser о которой здесь шла речь. именно эта форма является отдельно стоящей. именно на ней не работают большинство механизмов Аксапты. не делайте пользовательский функционал в стиле sysTableBrowser, делайте в стиле вашего проекта - конкретные таблицы, инициализация до супера. причем желательно СКРЫВАТЬ, а не добавлять. |
|
01.03.2012, 22:59 | #22 |
Участник
|
Цитата:
X++: public void init() { super(); Identification.visible(true); // или ваше условие бизнеслогики System.visible(true); // или ваше условие бизнеслогики PickingLocation.visible(true); // или ваше условие бизнеслогики Counting.visible(true); // или ваше условие бизнеслогики } 2. свойства и всевозможные атрибуты легко сопровождать и модифицировать (гораздо легче, чем в коде) 3. совершенно прозрачная работа с метками 4. если все группы скрыты, то и вкладка автоматически исчезнет (это поведение определяется обычными свойствами таба) 5. работают всевозможные модификаторы и аддоны по обработке форм попробуйте поставить false вместо true |
|
02.03.2012, 00:14 | #23 |
Участник
|
Так я ж говорю, я не хочу искать слишком сложных путей - иначе выше вероятность ошибок.
Однако, отсутствие изменений на формах - была приоритетной задачей. Поэтому я ограничился только добавлением источника данных. Всё остальное делаю вне формы в наследнике класса FormRunListener_W. Я не раз говорил, что Common не использую, и не собираюсь, - это сильно усложнит проект. В любом случае, очень много интересного узнал из этой ветки. Спасибо! |
|
Теги |
autodatagroup, autodeclaration, datasource, run-time, добавление группы полей, как правильно, форма |
|
|