Показать сообщение отдельно
Старый 28.11.2008, 18:46   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Коллега, кстати, написал скрипт, которым можно восстановить метки из протокола:
X++:
// Restore latest labels from label log
static void restoreLabels(Args _args)
{
    SysLabelLog labelLog;
    SysLabelLog labelLog2;
    ;
    
    while select labelLog
        group by LabelId, LanguageId
        where labelLog.LabelId like '@XYZ*' // == literalStr("@XYZ10857")
           && labelLog.CreatedDateTime >= DateTimeUtil::addDays(DateTimeUtil::utcNow(), -12)
    {
        select firstOnly labelLog2 
            order by RecId desc
            where labelLog2.LabelId    == labelLog.LabelId
               && labelLog2.LanguageId == labelLog.LanguageId;
               
        if (labelLog2.SysLabelLogStatus != SysLabelLogStatus::Deleted)
        {
            try
            {
                info(strFmt('%1 (%2): %3', labelLog2.LabelId, labelLog2.LanguageId, labelLog2.LabelType));
                labelLog2.restore();
            }
            catch (Exception::Error)
            {
                error(labelLog2.LabelId);
            }
        }
    }
}
За это сообщение автора поблагодарили: belugin (3), Logger (2).