Показать сообщение отдельно
Старый 21.06.2007, 08:11   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вот job.
X++:
static void Job10(Args _args)
{
    FileNameSave                fileNameSave = "C:\\1.txt";
    AsciiIo                     File;
    container                   oneRecord;
    UtilElements                UtilElements;
    DictTable                   dictTable;
    dictConfigurationKey        dictConfigurationKey;
    LoginProperty               loginProperty;
    ODBCConnection              odbcConnection;
    Statement                   statement;
    ResultSet                   result;
    SqlSystem                   sqlSystem;
    str                         Query;
    str                         countStr;
    XRefReferences              XRefReferences;
    xRefNames                   xRefNames;
    int                         countRef;
;
    sqlSystem = new SqlSystem();
    loginProperty = sqlSystem.createLoginProperty();
    odbcConnection    =  new odbcConnection(loginproperty);
    Statement         =   odbcConnection.createStatement();

    file = new AsciiIo(fileNameSave, 'W');
    if(file)
        File.write("");
    while select UtilElements
    group by name, recordType
    {
        if (enum2str(UtilElements.recordType)=="Table")
        {
            dictTable = new DictTable(tablename2id(UtilElements.Name));
            if (!dictTable.isTmp() && dictTable.isSql())
            {
                    Query ="Select count(recId) from "+dictTable.name();
                    Result =   statement.executeQuery(Query);
                    try
                    {
                        while ( Result.next() )
                        {
                            countStr=Result.getString(1);
                        }
                    }
                    catch
                    {
                        countStr = "0";
                    }

                    xRefNames = xRefNames::find(xRefKind::Table,"",dictTable.name());
                    select count(RecId)from XRefReferences
                        where XRefReferences.referencePathRecId == xRefNames.xRefPathRecId;
                    countRef = XRefReferences.RecId;

                    oneRecord = connull();
                    if (dictTable.configurationKeyId())
                    {
                        dictConfigurationKey = new DictConfigurationKey(dictTable.configurationKeyId());
                        oneRecord +=  dictTable.name()+ '; '
                                      + dictTable.label()+'; '
                                      + dictConfigurationKey.name()  + '; '
                                      + dictConfigurationKey.label() + '; '
                                      + countStr + '; '
                                      + int2Str(countRef);
                        File.writeExp(oneRecord);
                    }
                    else
                    {
                        oneRecord +=  dictTable.name()+ '; '
                                      + dictTable.label()+'; '
                                      + '; '
                                      + '; '
                                      + countStr +  '; '
                                      + int2Str(countRef);
                        File.writeExp(oneRecord);
                    }
            }
        }
    }
}
Цитата:
Сообщение от Gustav
"Записей не меньше 1" - это мне понятно. А "ссылок > 100" - это что за критерий, извиняюсь, "основнистости"?
Пока это только предположение, которое может стать утверждением. Если не появяться основные таблицы, которые не вошли в этот список. Буду рад если кто то найдёт такие таблицы.
Цитата:
Сообщение от Gustav
И ссылки какого рода имеются в виду? Любое упоминание о данной таблице в "Перекрестных ссылках" в любом контексте (поле, релэйшн, метод и т.д.)?
Когда правой кнопкой кликаете на таблице-> Перекрёстные ссылки. Отображаются все места где используется эта таблица. Вот что я имел ввиду.
Сейчас хочу распределить этот список на первичные(т.е. таблицы клиентов, поставщиков), вторичные(Заказы, Закупки,Накладные т.е. те таблицы куда стикаются данные от первичных) и лишние(ошибочно попавшие). Отберу выложу. В любом случае если есть какие-то возражения пишите.