Тема: про Dialog
Показать сообщение отдельно
Старый 22.05.2008, 17:57   #34  
jeky is offline
jeky
:o)
Аватар для jeky
 
130 / 64 (3) ++++
Регистрация: 22.05.2008
? Не отображаются календари
Всем привет!

Добавляю в старый отчёт диапозон дат:

ClassDeclaration:

Код:
class InventStdFormM17_RU extends RunBaseReport
{
    ItemId                  itemId;
    boolean                isItemIdFixed;
    InventLocationId    inventLocationId;
    TransDate            dateBegin;
    TransDate            dateEnd;

    int                        totalLoops;
    InventTrans           InventTrans;

    DialogField dialogItemId;
    DialogField dialogInventLocationId;
    DialogField dialogDateBegin;
    DialogField dialogDateEnd;

    #define.currentVersion(2)
    #localmacro.currentList
        itemId,
        inventLocationId,
        dateBegin,
        dateEnd
    #endmacro
}
dialog:

Код:
public Object dialog(DialogRunbase _dialog        = null,
              boolean       _forceOnClient = false)
{
    DialogRunBase dialog = super(_dialog, _forceOnClient);
    ;

    dialog.addGroup("@SYS28952");

    dialogItemId = dialog.addFieldValue(typeid(ItemId), itemId);

    if (isItemIdFixed)
    {
        dialogItemId.enabled(false);
    }

    dialogInventLocationId = dialog.addFieldValue(typeid(InventLocationId), inventLocationId);
    dialogDateBegin        = dialog.addFieldValue(typeid(TransDate), dateBegin, "С");
    dialogDateEnd          = dialog.addFieldValue(typeid(TransDate), dateEnd, "ПО");

    return dialog;
}
нужно ли что-нибудь делать с новыми переменными в valdate?:

Код:
public boolean validate(Object _calledFrom = null)
{
    return super(_calledFrom)                               &&
           (itemId ? true : checkfailed("@DIS8931"))        &&
           InventTable::checkExist(itemId)                  &&
           InventLocation::checkExist(inventLocationId);
}
При первом выпадении календари пусты (нету циферок вообще):, если второй раз кликнуть то появляется каледарик с текущим месяцем или с самого начала ввести ручками дату, и нажать на кнопку для вызова календаря тоже всё будет..
Ещё дополнительный вопрос по currentVersion: если раньше было всё тоже самое, но без диапозона дат, нужно ли менять 2 на 3 (раньше было 2)
А вообще хотелось бы по подробнее на эту тему и про pack/unpack тоже...
Что это вообще такое, зачем нужно.... может подкинете ссылочку..?