AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.06.2007, 14:58   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Их надо знать в лицо
Тут сделал джобик, выводящий все таблицы Axapt-ы, конфигурационный ключ, количество записей в таблице и количество перекрёстных ссылок. Запустил на стандарте с демо базой. Потом сделал фильтр. Ссылок > 100, записей не меньше 1. И модули Логиcтика, Торговля, Главная книга + пустые. Получилось 115 таблиц. Интересно можно ли их считать основными таблицами. Кто как считает?
Вложения
Тип файла: xls Основные таблицы.xls (33.0 Кб, 105 просмотров)

Последний раз редактировалось miklenew; 26.06.2007 в 10:56.
За это сообщение автора поблагодарили: mazzy (5).
Старый 20.06.2007, 15:25   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
классно.
не все эти таблицы входят в набор основных.

например km* сильно сторонняя таблица
purchPrintCopies тоже сильно вспомогательная.

Но для начала очень правильный подход.
Выделить основные и сделать для них схему при помощи Visual MorphXlorer или Reverse Enegeneering в Visio...
__________________
полезное на axForum, github, vk, coub.
Старый 20.06.2007, 16:29   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
"Записей не меньше 1" - это мне понятно. А "ссылок > 100" - это что за критерий, извиняюсь, "основнистости"?
И ссылки какого рода имеются в виду? Любое упоминание о данной таблице в "Перекрестных ссылках" в любом контексте (поле, релэйшн, метод и т.д.)?

Ну и сам джобик, наверное, было б полезно выложить сюда тоже. Спасибо.
Старый 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
И ссылки какого рода имеются в виду? Любое упоминание о данной таблице в "Перекрестных ссылках" в любом контексте (поле, релэйшн, метод и т.д.)?
Когда правой кнопкой кликаете на таблице-> Перекрёстные ссылки. Отображаются все места где используется эта таблица. Вот что я имел ввиду.
Сейчас хочу распределить этот список на первичные(т.е. таблицы клиентов, поставщиков), вторичные(Заказы, Закупки,Накладные т.е. те таблицы куда стикаются данные от первичных) и лишние(ошибочно попавшие). Отберу выложу. В любом случае если есть какие-то возражения пишите.
Старый 21.06.2007, 09:09   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от miklenew Посмотреть сообщение
Пока это только предположение, которое может стать утверждением. Если не появяться основные таблицы, которые не вошли в этот список. Буду рад если кто то найдёт такие таблицы.
О!, да, таких дофига и больше.

userinfo, exchrate.
не вошел весь bank*, bom*, commission*, config* и т.п.
в общем, для начала посмотрите в список таблиц в AOT.

Цитата:
Сообщение от miklenew Посмотреть сообщение
Когда правой кнопкой кликаете на таблице-> Перекрёстные ссылки. Отображаются все места где используется эта таблица. Вот что я имел ввиду.
Этого мало.
Сама таблица может не использоваться, но активно используются поля и/или методы этой таблицы
__________________
полезное на axForum, github, vk, coub.
Старый 21.06.2007, 09:25   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
кроме того, могут быть следующие случаи:
1. таблицы могут быть обернуты map'ом, а уже map активно используется
2. таблицы обернуты классом, который используется. А сама таблица напрямую используется редко
__________________
полезное на axForum, github, vk, coub.
Старый 21.06.2007, 09:31   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от mazzy
О!, да, таких дофига и больше.

userinfo, exchrate.
не вошел весь bank*, bom*, commission*, config* и т.п.
в общем, для начала посмотрите в список таблиц в AOT.
bank* - модуль банк
bom* - модуль Спецификации
commission* - модуль Коммиссионные
config* - модуль Номенклатурная аналитика - конфигурация
Я специально взял только три модуля (Логиcтика, Торговля, Главная книга) + пустые.
Т.к пустые принадлежат всем. И по замыслу наверное должны быть самые основные. Слона надо есть кусками.
Цитата:
Сообщение от mazzy
Этого мало.
Сама таблица может не использоваться, но активно используются поля и/или методы этой таблицы
Мысль не понял. Полюбому ведь будут объявлять табличную переменную или static метод использовать. Значит в этот список и они попадут. Конечно может быть не явное использование полей на формах в таблицах(связь по расширенному типу). Но тут уж надо подумать. Может тоже можно отловить.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поиск по форуму - список слов менее 4х букв, по которым надо осуществять поиск George Nordic Обсуждение форума 68 12.11.2009 16:54
Тревожиться надо о самой Америке Pavel Курилка 29 17.10.2008 14:21
Должен ли РМ знать функционал Системы? Alexey-IT Курилка 20 15.07.2007 09:45
Глюки, которые надо исправить mazzy Обсуждение форума 51 11.06.2004 13:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:50.