Размеры объектов файловой базы 1С 8.х (до 8.3.8)




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2026-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. MMF

    Программа для оценки занимаемого объектами конфигурации 1C 8.х в файле базы данных места с привязкой имени объекта 1С к имени таблицы в 1CD.

    Внимание! НЕ работает с базами 8.3.8 с размером блока больше 4Кб.

    Перейти к публикации

    Reply ↓
  2. box-c

    Удобная штука. Но к сожалению в базах на платформе 8.0 в колонке Объект1С не отображается ничего, а на платформе 8.2 в колонке Объект1С непонятные GUID идентификаторы. Вот и гадай после этого, на что же память уходит. А так конечно +. Автор доделывай для других платформ.

    Reply ↓
  3. tormozit

    Да, наиболее актуально поддержать 8.2 конечно.

    Reply ↓
  4. Alav

    Ну у меня в 8.2 вообще в поле объект пусто.

    И кстати что значит пустые таблицы http://clip2net.com/s/NXfs

    Reply ↓
  5. alexk-is

    У меня 8.1. В колонке Объект1С тоже не отображается ничего.

    Reply ↓
  6. MMF

    (4) а велика ли база и можно ли ее получить?

    Вобщем, есть обновление, но раз присутствуют такие массовые баги, выкладывать пока не буду.

    Добавил экспорт в word/html, значительно ускорил работу, устранил утечки и т.д. Разберусь с багами и обновлю. Те конфы, которые есть у меня в работе (в т.ч. и от 8.2) нормально разбираются

    Reply ↓
  7. alexk-is

    (5) 15 Гб 🙂

    Reply ↓
  8. MMF

    (6) да уж… на дискете не утянешь… Похоже понадобится делать опцию протоколирования разбора

    Reply ↓
  9. salexdv

    Платформа 8.2

    *.1CD размером 47,5 Гб

    Открытие заняло 2 минуты

    Потребляемая память от 9 до 192 Мб

    Загрузка ЦП 50%

    Колонка «Объект 1С» совсем не заполнена

    В колонке «Таблица» имеются пустые строки, размер по ним соответственно равен нулю.

    Вот как-то так…

    Автору спасибо за программу, особенно если она доведется до ума!

    Reply ↓
  10. ukv

    Платформа 8.2

    Перебрал несколько тестовых демо-баз.

    Колонка «Объект 1С» практически вся заполнена.

    Автор, просьба подумать об обновленной версии.

    Reply ↓
  11. mikl79

    спасибо, думаю пригодится

    Reply ↓
  12. MMF

    (6) пжалста, попробуй новую версию на той же базе

    Reply ↓
  13. salexdv

    (11) На моем 47 Гб-ном файле отработала отлично

    Все «Объекты 1С» заполнены, ну кроме служебных таблиц разумеется.

    Работает быстрее и ест меньше памяти и ЦП.

    Респект!

    Reply ↓
  14. rupertas

    У меня работает, спасибо

    но у меня не русская локаль — можно ли зделать и англискую версию?

    Reply ↓
  15. simol

    Еще бы группировку по объектам, а, то у документа куча табличных, раздельно не много, а вместе много и явно не видно 🙂

    Reply ↓
  16. alexk-is

    (11) Проверил.

    Первые 1115 строк заполнены. Правильно или нет не знаю, но заполнены.

    Затем идет 2850 пустых строк, в которых нет вообще ни каких данных. Только нули.

    Как я понимаю, имена табличных частей справочников и документов не выводятся?

    И что такое «Размер блобов»?

    Reply ↓
  17. cool.vlad4

    BLOB – Binary Large OBjects, а применительно к данной обработке не знаю, щас поглядим, что это.

    Reply ↓
  18. alexk-is

    Присоединяюсь к (14). Для анализа очень не хватает сводных данных по объекту содержащему табличные части.

    Выгрузка данных в Word не так актуальна. Лучше данные выгружать в Excel. Возможностей по постобработке в нём значительно больше.

    И ещё. Нет данных о регистрах сведений, регистрах накопления, регистрах бухгалтерии. Да, и с регистрами расчетов не всё в порядке.

    Reply ↓
  19. MMF

    (15) если не в тягость, попробуй на новой версии.

    Reply ↓
  20. alexk-is

    Проверил

    После пробегания прогресс бара (10 секунд) замирает на несколько минут с сообщением «Чтение конфигурации 1С»

    При повторном открытии прогресс бар уже не показывает, мелькают только названия таблиц. Затем снова замирает с сообщением «Чтение конфигурации 1С»

    Группировку объектов лучше сделать в виде дерева с плюсиками

    Для анализа не хватает имен табличных частей. Может быть отдельной колонкой

    После изменения настроек не хватает кнопки «Обновить». При этом повторного сканирования можно не делать, а только изменить порядок отображения

    Настораживают имена Объектов 1С типа .7E86FBB2-D17E-43…

    Reply ↓
  21. MMF

    (20) ну дык, прочитать 357 Мб конфигурации кусочками по 250 байт быстро не получится. По поводу регистров расчета и прогресс-бара поправлю

    Reply ↓
  22. mmj14

    (21) а Вы при чтении файла API-функции MMF (memory mapped files) не используете? Может быстрее будет 🙂

    Reply ↓
  23. MMF

    (22) «Шутку понял» (с) Гоблин, а вообще-то мапирование файлов в память нисколько не ускоряет обработку, оно используется для экономии памяти при совместном использовании dll или для межпроцесового разделения данных

    Reply ↓
  24. mmj14

    (23) Про dll это естественно, но разве не уменьшается количество обращений к диску за счёт кеширования страниц?

    Я не знаю насколько эффективно кешируется обращение к диску из ReadFile, а спроецированные файлы выделяются 4Кбайтными страницами.

    И ещё, из Рихтера:


    Проецируемые файлы применяются для:

    загрузки и выполнения EXE- и DLL-файлов. Это позволяет существенно экономить как на размере страничного файла, так и на времени, необходимом для подготовки приложения к выполнению,

    доступа к файлу данных, размещенному на диске. Это позволяет обойтись без операций файлового ввода-вывода и буферизации его содержимого,

    разделения данных между несколькими процессами, выполняемыми на одной машине. (В Windows есть и другие методы для совместного доступа разных процессов к одним данным — но все они так или иначе реализованы на основе проецируемых в память файлов.)
    Reply ↓
  25. alexk-is

    (21) Нужно бы добавить прогресс бар на эту операцию

    Reply ↓
  26. Cube_krsk

    Очень интересная прога. Автору +100500.

    • На версии v1.0.3.0 от 09.03.11 для базы 8.2 размером в 21,5 ГБ не отображается колонка «Объект 1С». Для базы 8.2 размером 411 МБ всё отображается. Думаю, дело в размере базы.
    • Прогресс-бар выскакивает только при первом прогоне.
    • Хотелось бы в заголовке программы видеть версию программы, чтобы не путаться в дальнейшем 🙂
    • В заголовках числовых столбцов принято указывать единицу измерения. Пример: «Размер данных, байт».
    • Хотелось бы, чтобы в таблице разделители строк и колонок были видны.
    Reply ↓
  27. alexk-is

    Проблемы описанные в (20) в 1.0.3.0 остались.

    +26

      Ещё бы возможность вывести колонку «Процент» размера индекса к размеру данных.

      Кнопки со стрелками «Влево» и «Вправо» не обрабатываются?
    Reply ↓
  28. echo77

    Вещь хорошая.

    Не хватает простой справки. Что означает колонка «Всего»?

    Reply ↓
  29. wikki

    Очень классная и полезная штука. Автору СПАСИБО!

    Reply ↓
  30. VitaliyPovod

    Очень интересная прога. Автору +100500.

    На версии v1.0.3.0 от 09.03.11 для базы 8.2 размером в 21,5 ГБ не отображается колонка «Объект 1С». Для базы 8.2 размером 411 МБ всё отображается. Думаю, дело в размере базы.

    Прогресс-бар выскакивает только при первом прогоне.

    Хотелось бы в заголовке программы видеть версию программы, чтобы не путаться в дальнейшем

    В заголовках числовых столбцов принято указывать единицу измерения. Пример: «Размер данных, байт».

    Хотелось бы, чтобы в таблице разделители строк и колонок были видны.

    Интересно баг исправлен?

    Reply ↓
  31. VitaliyPovod

    А с файловым вариантом работает?

    Reply ↓
  32. VitaliyPovod

    У меня просто есть файловая база размером под 5 гиг!

    Пользователи забили ее до такого состояния за неделю.

    И естественно говорят, что ничего не делали!

    А базу то почистить надо.

    надеюсь эта обработка покажет где кабан сидит :)!

    Reply ↓
  33. ProgaN

    отличная штука. Когда ждать для 8.2?

    Reply ↓
  34. TankerM

    Как водится, обнаружилось что самые большие таблицы — совсем не те про которые думал.

    Сразу стало ясно — пока в SQL.

    Спасибо.

    Reply ↓
  35. trustgros

    отличная вещь. нашел заразу которая тянула базу на дно ))

    Reply ↓
  36. Fenrus89

    Както странно работает… в какой колонке и в какой размерности показывается информация о размере*?

    Reply ↓
  37. Spi1y

    Неплохая штука. Если бы еще прикрутить вывод результата в текстовый файл хотя бы, для пакетной обработки, цены бы не было

    Reply ↓
  38. Igortid

    Плюсую…нужная обработка…спасибо

    Reply ↓
  39. Гость

    Полезная обработка. Сразу видно, что закрывается, а что нет. Какие регистры пухнут, какие справочники настроены не оптимально. Одним словом обработка для тех кто ценит скорость работы базы 1С

    Reply ↓
  40. Igortid

    Для 8.2 подходит тоже….

    Reply ↓
  41. tiger_x

    А на последней версии 8.2 будет работать?

    Reply ↓
  42. tiger_x

    Да! И забыл спросить на каком языке программирования написано? Есть ли возможность получить исходный код программы. Я бы с удовольствием ее доработал, расширил так сказать функционал. Ведь всем известно, что программы с открытым кодом пользуются большей популярностью чем закрытые проекты!

    Reply ↓
  43. Shade

    Большое спасибо!

    Очень полезная штуковина.

    Теперь буду спать спокойно, а то база большая вот и думай когда упрется в ограничение на размер одной таблицы.

    Reply ↓
  44. Batchir

    Спасибо за утилиту. Реально когда вопрос стал актуальным, то она помогла быстро обнаружить наиболее раздуваемые таблицы и принять меры по их сжатию(ну и оптимизации записи данных в эти таблицы), отсрочив тем самым дорогостоящий переход на СКЛ.

    Reply ↓
  45. PetMal

    (41) tiger_x, Вроде работает. Смотрел базу 7 Гб. Открывалось не быстро, зато увидел то, что никогда не видел и статистика меня поразила. Теперь понял где наиболее большие объемы набираются. В некоторых случаях это практически бесполезные данные в моей базе. Удалил ненужное. Обязательно нужно делать сжатие и реструктуризацию после всех манипуляций. Хотя и заняло у меня это действие больше двух суток, но результатом я доволен. База стала чуть меньше 4 Гб. Теперь думаю еще над обрезкой.

    Автору респект и пожелание дорабатывать дальше эту нужную утилитку в бардачке любого одинэсника

    Reply ↓
  46. zhleonid8

    давай обновляться

    Reply ↓
  47. jk3

    Неправильно считает на релизе платформы 8.2.15, база в режиме совместимости 8.2.13.

    >PS выражаю признательность уважаемому awa за помощь

    Вероятнее всего, проблема в том, что многоуважаемый awa в своей разработке Tool_1CD (http://infostart.ru/catalog/19633/) сделал:

    Обновление 19.09.2011 Добавлена поддержка 8.2.14.

    А т.к. последняя дата изменения этой программы 01.03.2011, то, соответственно, здесь этой поддержки нет.

    Вот скрины из обоих программ:

    http://i.imgur.com/16cuS.png

    http://i.imgur.com/2crZv.png

    И еще есть 2 пожелания, не связанных с этой ошибкой:

    1) при переключении галочки «Объединять объект с таб.частями» мгновенная перестройка таблицы

    (т.е. всегда хранить развернутые данные, а если нужно, по настройке сворачивать)

    2) при включенной галочке «Объединять объект с таб.частями» для регистра бухгалтерии объединяются все таблицы, к нему относящиеся.

    В итоге, при общем размере этих таблиц в 4 ГБ это поле подсвечивается красным, как будто приближается к ограничению.

    На самом деле каждая из таблиц может занимать по 2 ГБ и еще может вырасти в 2 раза (сам проверял, спокойно добавляется еще 3 млн. проводок без ошибки).

    В итоге имеем такой глюк, что запустив 1-ый раз показывает на регистр бухгалтерии 4 ГБ, добавив 100 тыс. проводок и перезапустив программу у регистра бухгалтерии будет всего-то 100 МБ (т.к. идет переполнение внутренней 32-битной беззнаковой переменной).

    Reply ↓
  48. mybracho

    Спасибо за программу. Есть пару вопросов. (все сообщения прочел)

    1. Размер в чем ? байтах ?

    2. Что такое блобы

    3. У меня ВСЕГО<>Размер данных+размер индексов+размер блобов+размер удаленных. Так и должно быть ?

    4. Можно сделать, что бы банные из таблицы копировались в буфер ?

    Спасибо

    Reply ↓
  49. mybracho

    +(51)

    Имею например:

    Всего: 1323879083

    Размер данных: 196409933

    Размер индекса: 55066624

    196409933+55066624 = 251476557.

    как так ? где реальный размер данных в таблицах ?

    Reply ↓
  50. Ibrogim

    Классная прога, два дня чистил базу и безрезультатно, а с помощью этой проги узнал что 70% всех данных это справочник bp_записи_журнала_изменений ), единственное что не сходятся «всего» и сумма в остальных колонках, но для общей оценки забитости базы информации вполне достаточно. Хотелось бы иметь возможность выгружать отчёт в Excel для дальнейшей обработки и т.п. Автору респект!

    Reply ↓
  51. mybracho

    Скажите, развитие программы планируете ?

    Reply ↓
  52. mybracho

    Хорошая вещь для SQL. Может кому интересно будет http://infostart.ru/public/15052/

    Reply ↓
  53. AnKonAlm

    Шикарная обработочка!!!

    Спасибо!!!!

    УДАЧИ!!!!

    Reply ↓
  54. MAXXL

    Спасибо за обработку!

    Как раз нужно узнать что происходит в 6,5 гиговой базе. А в скуле она вообще больше 500 гигов и прирост в день по 15 гигов

    Reply ↓
  55. MAXXL

    Присоединяюсь к просьбе о добавлении выгрузки результатов в csv файл. Намного удобнее было бы анализировать. Может еще кто подскажет как можно добраться до содержимого таблицы? Чтоб уже по записям посмотреть

    Reply ↓
  56. lambert@inbox.ru

    Спасибо АВТОРУ!!!

    Reply ↓
  57. Артано

    Автору плюс. Но есть вопрос, существует ли подобный инструментарий для SQL баз?

    Reply ↓
  58. Bacemo

    И я + автору

    Reply ↓
  59. LexSeIch

    Большое человеческое спасибо. Функционал очень нужный и востребованный. Когда база данных — «черный ящик», от не можно ждать много неожиданностей. Но заглянув в нее, и поняв, где намечается дыра (особенно своевременно)- это очень важно.

    Reply ↓
  60. x2z7yy

    Подскажите все таки, что такое «размер блобов»?

    И в чем измеряется всё? В байтах? Битах?

    И должно ли быть: «Размер данных» + «Размер индекса» + «Размер блобов» = «Всего»? (а то у меня не равно)

    Reply ↓
  61. andrewks

    (63) x2z7yy, каждая таблица состоит из четырёх объектов:

    1) Описание

    2) объект записей таблицы

    3) объект BLOB-данных (строки и бинарные данные неограниченной длины)

    4) объект индексов

    описание обычно помещается в один блок (4 Кб), поэтому его размер никому не интересен

    данные о размере объектов хранятся в БД в байтах

    Reply ↓
  62. x2z7yy

    (64) andrewks,

    ну так если вот взять мою запись, и сложить все, даже плюс 4кб на описание — «всего» не выходит.

    и еще если в байтах… размер одной таблицы(на скрине) = 1 938 594 680 байт это = ~ 1.5Гб… а у меня файл .1CD всего 800 мегабайт.

    Reply ↓
  63. andrewks

    (65) x2z7yy, я не могу Вам пояснить по данной утилите, т.к. не являюсь её автором.

    но я Вам разъяснил, как вообще устроено хранение таблицы в файловой БД

    Reply ↓
  64. x2z7yy

    (66) andrewks, спасибо!

    но вопросы по обработке остаются открытыми…

    Reply ↓
  65. kvp

    Спасибо за обработку! Сейчас будем анализировать базы на периферии.

    Reply ↓
  66. MMF

    (65) эээ… а информация в этой базе сильно конфиденциальна? Нельзя ли ее получить с целью исправления бага?

    Reply ↓
  67. x2z7yy

    (69) ну с этой базой не получится, начальство не поймет:) А вообще это на всех базах так, штук 5 точно открывал… На типовой демке бухгалтерия казахстана точно также (не могу выложить с работы, что-то с интернетом, только если на выходных с дома)

    Reply ↓
  68. Chaki

    Очень интересная утилита

    Так как позволяет определить что за таблицы следует оптимизировать

    Reply ↓
  69. AllexSoft

    Круто! Давно ждал чего то подобного )

    Reply ↓
  70. lamelioss

    Бодрая вещь =) автору плюс однозначно

    Reply ↓
  71. BorovikSV

    (0) Миша, ее бы распараллелить как то. Статус «Чтение конфигурации» висит долго и занимает полностью одно ядро. Остальные 7 ядер незаслуженно отдыхают 🙂

    Reply ↓
  72. tindir

    ОЙ какая полезная утилитка. Совсем недавно столкнулся с 5Гб файловой БД, которая сказала «хватит это терпеть» и отказалась создавать новые файлы. Пока руками не сделал свертку базы и чек БД работа стояла…а тут можно посмотреть конкретно кто в базе «толстый» и кому надо «худеть»…

    Reply ↓
  73. AlexO

    (0)Вопросы так и остаются без ответа:

    >И в чем измеряется всё? В байтах? Битах?

    >Что такое «блобы» в данной программе?

    >Почему строки раскрашены в белый, серый и желтый цвета — что это означает? Красный, я догадался — превышение данных в 4 ГБ 🙂

    Reply ↓
  74. MMF

    (76) Выше уже отвечали за меня, но повторю: 1) в байтах 2)реквизиты-строки неограниченной длины, бинарные данные, картинки и т.п. хранятся отдельно. Блоб — https://ru.wikipedia.org/wiki/BLOB 4) желтый — группирующий узел, т.е. в нем суммируются размеры подчиненных, белый/серый — обычное разделение четных/нечетных строк в таблицах с целью улучшения читаемости данных.

    Reply ↓
  75. Zord

    Оппа! Забираем =) Как раз думал на днях как бы узнать размер одного справочника. А то подозрения на его слишком быстрый рост.

    Reply ↓
  76. AllexSoft

    MMF у меня есть база у которой почему то не определяется колонка «Объект 1С», там вообще пусто.. база не очень большая, порядка 1Гб.. правда работала под 8.3.4, может в этом дело?

    Reply ↓
  77. MMF

    (79) 8.3 не поддерживается, собственно, не держал в руках 8.3… ретроград я. Добавлю поддержку в ближайшее время + накопились багофиксы

    Reply ↓
  78. AllexSoft

    (80) будем ждать.. 8.3 актуально

    Reply ↓
  79. MMF

    (81) AllexSoft, я проверил на одной базе 8.3 — успешно показывались объекты, можете предоставить какую-нибудь базу 8.3. на которой они не отображаются?

    Reply ↓
  80. bashhhh

    Спасибо! Классная штука, да еще и с экспортом!

    Reply ↓
  81. bashhhh

    Для 8.3 актуально

    Reply ↓
  82. lesenoklenok

    Спасибо огромное! Очень помогла.

    Reply ↓
  83. karinkov

    Добрый день.

    Протестировала базу данных 1с Бухгалтерия 8.2 общим объемом 8 гб Вашей программой V8TableSizes.exe.

    В протоколе есть расхождение по итогу в таблице РегистрБухгалтерииХозрасчетный.Не сходятся «всего» и сумма в остальных колонках.

    Фрагмент протокола в прикрепленном файле.

    Поясните пожалуйста. Спасибо огромное.

    Жду ответа

    Reply ↓
  84. MMF

    (86) в выделении каждая строчка — отдельная таблица, т.е. суммирование происходит только по строке. В верхнем узле основная таблица объекта, а не группировка

    Reply ↓
  85. karinkov

    Добрый день.

    Итоговое значение размера таблицы ACCRGAT3526 объекта РегистрыБухгалтерии.Хозрасчетный -3 950 888 744 , т.е. достигает критического размера 4 гб, Смысла переходить нам сейчас на клиент-серверный вариант нет. Так как мы планируем переходить на платформу 1С:Предприятие 8.3. Какие мероприятия можно провести для уменьшения размеров базы. Есть ли сервисные программы для сжатия баз? Или, например, рассчитать остатки на начало 2014 года, а данные с 2000г. по 2014г. перенести в архивную базу?

    Спасибо.

    Reply ↓
  86. karinkov

    Спасибо. Проблему решили

    Reply ↓
  87. AlexO

    (77)

    Вы как-то странно объясняете. В (64) andrewks вкратце объяснил, но хотелось узнать именно от автора — что-почем в его собственной программе ))

    У 1С на каждую таблицу три файла:

    1) файл записей

    2) файл индексов

    3) файл значений неограниченной длины (это тоже поля-записи, но они отдельно от 1)

    BLOB в 1С (и, соответвенно, что вы и меряете у себя в программе) — это записи таблицы с полями неограниченной длины.

    BLOB, по Вики — строки и бинарные данные неограниченной длины. А в 1С — это, обычно: картинки, макеты и различные файлы (например, XML), сохраненные в бинарном (т.е. двоичном) представлении. Так вот, их размер и сморим. Это и хотелось узнать от автора программы.

    Также, на что обращать внимание — превышать 4 Гб не могут индексы одной таблицы.

    Reply ↓
  88. maksal

    Спасибо. Только что всё успешно показало на файловой УТ

    Reply ↓
  89. ccserg

    Скажите пожалуйста что делать с результатами ? ))

    http://i.imgur.com/3G6trRk.png

    база МЗБУ 3,8 Г

    Reply ↓
  90. graforlow

    Спасибо, то что надо

    Reply ↓
  91. Alexey_A

    спасибо! очень удобная вещь!!!

    Reply ↓
  92. hromovanton

    Спасибо, очень хорошая вещь!

    Reply ↓
  93. RodinMax

    Если утилитой cnvdbfl, сконвертировать файл ИБ 1Cv8.1CD из формата 8.2.14 с размером таблиц 4096, в формат 8.3.8 с размером таб 8192

    то ваша программа перестает читать файл базы данных

    инф по утилите http://its.1c.ru/db/v838doc#bookmark:adm:TI000000666

    скриншот ошибки http://www.picshare.ru/view/7691204/

    Reply ↓
  94. sashocq

    Столкнулся с той же ошибкой. Размер страницы 16К. Автор, обнови пожалуйста. Или поделись исходниками (на чём написана?). Очень нужна информация по размерам таблиц.

    Reply ↓
  95. Xershi

    (98) пока автор думает, можно перегнать в скуль и получить запросом или аналогичной обработкой.

    Кстати обработки есть и наверно и для файловой базы сработают.

    Reply ↓
  96. ZloyProger

    Спасибо автору за разработку! Но есть пара замечаний — неплохо бы хотя бы элементарный поиск по колонкам или настройку сортировки, т.к. вывалено все «как есть» и искать не совсем удобно (да можно выгрузить в файл и там уже вертеть как хочешь, но зачем, если (судя по кнопочкам 🙂 ) писано на си-шарпе и наверняка есть методы сортировки у табличных полей) и справочку по настройкам — я не сразу нашел галку «Анализ удаленных» — весьма увеличила скорость парсинга, а конкретно в моей задаче и не требовалось их анализировать — смотрел размер таблички регистра сведений.

    Reply ↓
  97. ZloyProger

    (100) Ну вот как обычно — поспешишь — людей насмешишь.. Есть сортировка) Но справка не помешал бы более подробная, а не просто перечисление версий и исправленных багов/добавленных фич

    Reply ↓
  98. agent100

    Не работает. Пишет «неверная сигнатура в заголовке страницы данных» платформа 8.3.9.1850.

    Reply ↓
  99. vis_tmp

    (96)(98)(102)Подтверждаю…

    Очень хотелось бы обновления от автора.

    (122)Можно получить хотя бы тестовые вариант?

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *