Показать сообщение отдельно
Старый 16.05.2008, 15:55   #11  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Цитата:
Сообщение от Antant Посмотреть сообщение
ax 3.0 sp3

Товарищи! Подскажите, есть ли в Аксапте функция, которая может сказать, является ли сотрудник именинником за выбранный интервал времени?
кнопка на форме RHRMEmplTable она показывает "Дни рождения на этой неделе"


X++:
void clicked()
{
    EmplTable        locEmplTable;
    QueryBuildRange  qbr;
    int bday, cday, bdofM, cdofM, bmofY, cmofY;
    ;


    EmplTable_ds.query().dataSourceNo(1).clearRanges();

    while select BirthDate from locEmplTable
    {
        bday = dayofyr(locEmplTable.BirthDate);
        cday = dayofyr(systemDateGet());
        bdofM = DayOfMth(locEmplTable.BirthDate);
        cdofM = DayOfMth(systemDateGet());
        bmofY = MthOfYr(locEmplTable.BirthDate);
        cmofY = MthOfYr(systemDateGet());

        if ( (bday >= cday)&&(bday < (cday + 8)) || ((bdofM == cdofM)&&(bmofY == cmofY)) )
        {
            qbr = EmplTable_ds.query().dataSourceNo(1).addRange(fieldnum(EmplTable, BirthDate));
            qbr.value(date2str(locEmplTable.BirthDate,10,2,2,2,2,4));
            qbr.status(RangeStatus::Hidden);
        }
    }

    EmplTable_ds.executeQuery();
    super();

}
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
За это сообщение автора поблагодарили: Antant (1).