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




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

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

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

<?php // Полная загрузка сервисных книжек, создан 2024-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 не будет опубликован. Обязательные поля помечены *