Цитата:
Сообщение от
Damn
Это началось уже с билда 1600.2967. Диалог начинает некорректно отображать кнопки "Оповещения" и "Повторение" уже в связках "обновленный клиент - необновленный АОС", "необновленный клиент - обновленный АОС".
Ничего нельзя поделать с этим ? Обновление до этого билда теряет смысл. Я думал может хоть в 1600.3090 исправили, а выясняется что и там баг остаётся.
Отчего ж нельзя.
Вот так например.
\Classes\BatchInfo\dialog
X++:
void dialog(Dialog dialog)
{
DialogRunBase dialogRunBase = dialog;
Object curMainGrp;
DialogGroup grp2Col;
DialogGroup buttonGrp;
DialogGroup textGrp;
// GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 -->
FormBuildGroupControl GRD_FormBuildGroupControl;
// GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 <--
;
#define.batchGrp('DialogBatchGrp')
if (! runClass.canGoBatch() || !runClass.showBatchTab())
return;
usesDialogClass = Dialog::isDialogClass(dialog);
if (! usesDialogClass)
{
// When using "old" system, disable batch.
batchExecute = false;
return;
}
curMainGrp = dialog.mainFormGroup();
dialogRunBase.batchDialogTabPage(dialog.addTabPage("@SYS14462"));
grp2Col = dialog.addGroup();
grp2Col.frameType(FormFrameType::None);
grp2Col.columns(3);
grp2Col.widthMode(1);
// GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 -->
if ( !isRunningOnServer() && grp2Col.control() )
{
GRD_FormBuildGroupControl = SysDictClass::as(grp2Col.control(), ClassNum(FormBuildGroupControl));
if (GRD_FormBuildGroupControl)
{
/*
info4([
GRD_FormBuildGroupControl.widthMode(),
strFMT("%1", GRD_FormBuildGroupControl.widthMode()),
GRD_FormBuildGroupControl.widthValue()
]);
*/
// grp2Col.widthMode(-1);
GRD_FormBuildGroupControl.width( 600, -1 ); // прибили гвоздями размер группы, так как в билде 5.0.1600.3090 он иногда глючит (не учитывал размер кнопок - словно их не было)
// чтобы совсем красоту навести - надо еще в классе DialogGroup (переменная grp2Col ) реализовать метод width и запомнить widthMode и ширину
}
//info4([classid2Name(grp2Col.control().handle())]);
}
// GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 <--
dialog.addGroup("@SYS2952",grp2Col);
fieldBatchExecute = dialog.addFieldValue(typeid(NoYes),batchExecute,"@SYS2312", "@SYS28499");
dialog.addGroup("@SYS68865",grp2Col);
dialog.addGroup("@SYS5711",grp2Col);
if(this.parmRunClass())
caption = this.parmRunClass().caption();
fieldCaption = dialog.addFieldValue(typeid(BatchCaption), caption, '',
new DictField(tablenum(Batch), fieldnum(Batch, Caption)).help());
fieldGroup = dialog.addFieldValue(typeid(BatchGroupId),groupId, '',
new DictField(tablenum(Batch),fieldnum(Batch,GroupId)).help());
fieldPrivate = dialog.addFieldValue(typeid(NoYes),privateBatch,fieldpname(Batch,PrivateTask),
new DictField(tablenum(Batch),fieldnum(Batch,PrivateTask)).help());
buttonGrp = dialog.addGroup('',grp2Col);
buttonGrp.frameType(FormFrameType::None);
buttonGrp.leftMode(3);
dialog.addMenuItemButton(MenuItemType::Display,menuitemdisplaystr(SysRecurrenceRun),DialogMenuItemGroup::CurrentGrp);
dialog.addMenuItemButton(MenuItemType::Display,menuitemdisplaystr(BatchAlerts), DialogMenuItemGroup::CurrentGrp);
dialog.curFormGroup(dialog.mainFormGroup());
textGrp = dialog.addGroup();
textGrp.frameType(FormFrameType::Edged3DLine);
textGrp.alignChild(false);
textGrp.widthMode(1);
fieldText = dialog.addText(SysRecurrenceRun::toText(this.parmBatchHeader().parmRecurrenceData()));
dialog.mainFormGroup(curMainGrp);
dialog.curFormGroup(curMainGrp);
}
P.S.
А в MS писать пробовали ?
Чего говорят ?