Показать сообщение отдельно
Старый 13.08.2007, 10:04   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Вот такой job посмотрите. Я форматированием не занимался.
Но думаю суть будет ясна и привести к божескому виду сможете.

X++:
static void tutorial_ShowDataBaseLogAsString(Args _args)
{
    TextBuffer      textBuffer = new TextBuffer();
    SysDataBaseLog  dataBaseLog;
    List            dataList;
    ListEnumerator  dataListEnumerator;
    str             data;
    container       tmpCon;
    FieldId         fieldId;
    ;
    while select dataBaseLog
        where dataBaseLog.table == tableNum(CustTable) &&
              dataBaseLog.LogType == DataBaseLogType::Insert &&
              dataBaseLog.createdDate == 06\08\2007
    {
        textBuffer.appendText(strFmt("\nОписание: %1, Тип записи: %2, Таблица: %3\n\n", dataBaseLog.Description, dataBaseLog.LogType, tableId2Name(dataBaseLog.table)));
        dataList = dataBaseLog.getDataAslist();
        dataListEnumerator = dataList.getEnumerator();
        while (dataListEnumerator.moveNext())
        {
            tmpCon = dataListEnumerator.current();
            fieldId = conpeek(tmpCon, 1);
            textBuffer.appendText(strFmt("Поле: %1\n", fieldId2name(dataBaseLog.table, fieldId)));
            textBuffer.appendText(strFmt("Новое значение: %1\n", dataBaseLog.contents2Str(conpeek(tmpCon, 2), fieldId)));
            textBuffer.appendText(strFmt("Старое значение: %1\n", dataBaseLog.contents2Str(conpeek(tmpCon, 3), fieldId)));
        }
    }
    textBuffer.toFile("C:\\test.txt");
}