1SENTRY.dbf весит 1,99 Гб.

1. user2121288 03.01.25 15:52 Сейчас в теме
Добрый день. Столкнулся с проблемой. Имеем 1С 7.7 Бухгалтерский учет, редакция 4.5 7.70.469
До поры все работало, пока при попытке провести очередной документ не столкнулись с ошибкой, указывающей на проблемы в 1SENTRY.dbf. Файл весит 1,99, забит под завязку. База большая, с 2005 года. Попытка свернуть базу не увенчалась успехом, в определенный момент ловим ошибку (снова связано с 1SENTRY.dbf). Знающие люди, подскажите, как можно решить данную проблему. Как можно урезать данный файл, при этом не потеряв проводки и итоги? Уже всю голову себе сломал.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. user1326147 03.01.25 20:10 Сейчас в теме
(1) А ОС какая? И файловая система какая? Может FAT32 какая-нибудь.
7. user701354_iceb 03.01.25 22:12 Сейчас в теме
(1) 1SENTRY.dbf - это журнал проводок. Этож сколько там в этой dbf строк? Посмотрите любым dbf вьюером.
8. user701354_iceb 03.01.25 22:18 Сейчас в теме
(7) У меня на большой базе было 4 млн. строк проводок, файл занимал 900 мегабайт...
10. I love pivo 04.01.25 00:38 Сейчас в теме
(1)
Как можно урезать данный файл, при этом не потеряв проводки и итоги?

ну..
можно урезать размерность полей.
зачем тебе сумма размерностью 15.2? ты оперируешь триллионами? может, размерность 11.2 будет за глаза?
а текстовые поля там в dbf-ке есть? Типа "комментарии". Файла под рукой нет, глянуть не могу, какие там поля. Может, их (текстовые) размерность тоже урезать?
делать, естественно, на копии и dbf-редактором, не средствами 1С.
Параллельно конечно же надо подправить dd md под новую размерность полей.

Также можно попробовать любым dbf-редактором сжать dbf-файл.

Ну и конечно после этого урезания базу все одно сворачивать.
11. user2121288 04.01.25 05:23 Сейчас в теме
(10) Как можно урезать размерность полей?
2. пользователь 03.01.25 16:10
Сообщение было скрыто модератором.
...
3. user2121288 03.01.25 18:10 Сейчас в теме
Слышал, что можно закинуть в SQL, и проблема эта вроде как решается. Создал пустую базу в SQL Server Management Studio, в консоли администрирования также все прописал. Выгрузил данные из семерки, на выходе получил файл расширения .dat, а для загрузки в SQL нужен .dt. Вот и думаю, возможно ли это как-то осуществить. Не спец, буду рад совету, как это можно провернуть, если вообще возможно.
4. user2121288 03.01.25 19:21 Сейчас в теме
Мда, с этой версией SQL походу невозможно. Жаль.
12. user91919123 04.01.25 08:08 Сейчас в теме
Строк чуть более 5 млн...
13. user91919123 04.01.25 08:26 Сейчас в теме
Пришел к выводу, что требуется помощь спеца. Разумеется, небесплатно. Кто-нибудь готов взяться?
14. independ 1556 04.01.25 10:54 Сейчас в теме
(13) если есть возможность, базу выгрузите и дайте ссылку на скачивание, сделаю sql2008
15. user91919123 04.01.25 11:16 Сейчас в теме
(14) Без sql никак не обойтись?
16. independ 1556 04.01.25 12:08 Сейчас в теме
(15) sql проще развернуть, чем пробовать удалять что-то в dbf файле, можно нативный sql2000 развернуть
17. user91919123 04.01.25 12:20 Сейчас в теме
(16) Ок, давайте попробуем. Ссылку на базу чуть позже скину.
18. user91919123 04.01.25 12:24 Сейчас в теме
Много времени займет?
19. user91919123 04.01.25 12:29 Сейчас в теме
В основной базе сейчас бухгалтера работают. Могу бэкап пока скинуть. Потом смогу основную базу залить?
20. user91919123 04.01.25 12:43 Сейчас в теме
Куда ссылку на базу скинуть?
21. independ 1556 04.01.25 12:51 Сейчас в теме
22. user91919123 04.01.25 12:56 Сейчас в теме
23. I love pivo 04.01.25 13:46 Сейчас в теме
(22) скинь и мне, попробую в dbf варианте урезать.
24. VDPIT_ru 2 04.01.25 16:36 Сейчас в теме
Добрый вечер, скиньте в личку ссылку пжл (если не решили)! и вопрос если срезать то на какой момент хотели (дата среза)
26. user91919123 04.01.25 17:18 Сейчас в теме
Добрый день. Скиньте почту, пришлю ссылку.
27. VDPIT_ru 2 04.01.25 17:18 Сейчас в теме
28. user91919123 04.01.25 17:19 Сейчас в теме
(27) в личку почему то не могу отписать вам
29. VDPIT_ru 2 04.01.25 17:20 Сейчас в теме
30. VDPIT_ru 2 04.01.25 17:22 Сейчас в теме
(28) Дайте вашу почту дадим контакт
(29)
31. user91919123 04.01.25 17:22 Сейчас в теме
32. VDPIT_ru 2 04.01.25 17:22 Сейчас в теме
33. VDPIT_ru 2 04.01.25 17:23 Сейчас в теме
(32) А базы нет? вы не желаете сделать срез базы? ведь проблема сжатия файла кратковременна и не имеет точных последствий
36. user91919123 04.01.25 17:29 Сейчас в теме
(33) Будет здорово, если получиться срезать. Уже изрядно намучался. Впоследствии будем переводить в SQL...
34. user91919123 04.01.25 17:24 Сейчас в теме
Срезать желательно до 31.12.2018. Должно остаться с 01.01.2019 по настоящее время.
35. user91919123 04.01.25 17:26 Сейчас в теме
37. VDPIT_ru 2 04.01.25 17:35 Сейчас в теме
(28) Завтра сообщим о возможности! Спасибо
(35)
38. user91919123 04.01.25 17:48 Сейчас в теме
(37) Ок, если получится сегодня, вообще будет здорово. Если нет, тогда завтра...
39. пользователь 04.01.25 17:51
Сообщение было скрыто модератором.
...
51. VDPIT_ru 2 05.01.25 17:55 Сейчас в теме
(39)
Прикрепленные файлы:
52. VDPIT_ru 2 05.01.25 17:56 Сейчас в теме
(51) Срез базы на 31.12.2018 ...работоспособная база, никаких сжатий файла утопических, никаких обрезок с нарушением хронологии и логики!
40. VDPIT_ru 2 04.01.25 17:54 Сейчас в теме
(37) Это случай работы с большим объемом данных, и даже если начать срез это займет не определенное время! Первый шаг попробовать сжатие (во временное спасение), второй шаг, в случае провала первого срез базы (здесь два длительных этапа удаление доков и перепроведение с 2019 года (но это можно делать по ходу работы этапно)!!! как будут результаты любые сообщим!
41. user91919123 04.01.25 18:02 Сейчас в теме
53. VDPIT_ru 2 05.01.25 17:57 Сейчас в теме
(52)
(41)
Прикрепленные файлы:
54. VDPIT_ru 2 05.01.25 17:58 Сейчас в теме
(53) сжатие не решение, ломанную базу не залить в SQL!!!
55. I love pivo 05.01.25 18:39 Сейчас в теме
(54) База не ломаная ни разу, и сжатие никакое не утопическое. У меня всего лишь сокращена длина ненужных текстовых полей. Если так нужно (хотя зачем, искренне не понимаю) то эти текстовые поля (ненужные такой длины текстовые поля) можно увеличить потом в скуле хоть до 250 символов. Хотя нахрен нужно текстовое поле "Содержание проводки" такой длины, искренне не понимаю, разве что сочинение туда писать. :)))
А так то да, обрезанную по 2019 год залить в скуль - это да. Это легко.
Это ты правильно придумал, похерить всю историю до 2019 года. С 2005 то года. :)

А вот в, как ты выражаешься, в "утопической ломаной" :) базе вся история осталась целенькой и невредимой. И ее не просто можно, а нужно оставить "для истории." В смысле эту файловую утопическую ломаную. :) базу оставить.
Сокращение длины текстовых полей никак не ломает базу, если эти поля не заполнены под завязку сочинениями на вольную тему, а всего лишь обрезает ненужные пробелы справа. И это никакая не утопия. Это реально. И в скуль выгрузить никак не мешает.

Ты только представь - в этом файле хранилось полгига пробелов :)))
42. user91919123 04.01.25 18:25 Сейчас в теме
Господа, подскажите, как грамотно сделать сжатие? Мне хотя бы как временное спасение...
43. I love pivo 05.01.25 00:52 Сейчас в теме
(42) Итак, как сделать временное спасение.
Поскольку файл ты выложил уже не боевой базы (после этого в базе работали, я так понял), а получается типа тренировочный, то на боевой (естественно на копии) будешь делать сам.
рис. 1
дано - исходная база 2147481398 байт, 5 315 545 записей
получилась база 1 598 980 264 байт, 5 315 545 записей (то есть количество записей я не трогал и оно не изменилось, будем надеяться ,что все записи остались на месте)

почти полгига, однако :)
Прикрепленные файлы:
44. I love pivo 05.01.25 01:02 Сейчас в теме
продолжаю (43)
что я сделал?
у тебя в базе два текстовых поля ненужной, на мой взгляд длины
одно поле - содержание проводки (длиной 50, хотя я текста больше 20 в этом поле не видел) но да ладно, сократим до 30
второе поле - первичный документ но это не ссылка, а всего лишь текст, и под этот текст заложена длина аж 133 символа, хотя я больше 30 в этом поле не видел, но да ладно, сократим до 50.
файл dd прилагаю, надеюсь, в dd сам сможешь исправить длину поля SP547 с 50 на 30, а длину поля SP27565 со 133 на 50. В блокнотом работать умеешь, надеюсь? :)) шутка.
Прикрепленные файлы:
independ; +1 Ответить
45. I love pivo 05.01.25 01:18 Сейчас в теме
(44) +
Но исправить dd этого разумеется мало.
Берешь редактор dbf (прилагаю файл setupdbf.exe), запускаешь, устанавливаешь, дальше файл->открыть (все на копии, не забываем), дальше жмешь кнопочку "структура", находишь нужное поле SP547, жмешь изменить, меняешь с 50 на 30, жмешь изменить, потом внизу жмешь изменить.
Потом делаешь все то же самое с полем SP27565 , длину со 133 меняешь на 50.
Потом закрываешь программу крестиком! Акцентирую - тупо крестиком, при попытке куда-то сохранить у меня виснет, слишком большой объем для этого редактора.
Таким образом структура файла приводится в соответствие с описанной в dd.
ну и размер в 1 599 980 264 как-то хоть и немножко, но радует. А всего лишь сократили длину двух текстовых полей.
Сжимать, то есть упаковывать файл даже не пробовал, пересохранять тоже даже не пробовал, говорят, иногда в разных редакторах на таких объемах возможны глюки. DBF-навигатор, кстати, на этом файле подавился.
И немножко обсуждение разных dbf редакторов здесь же на ИС:
https://forum.infostart.ru/forum9/topic123514/

Поэтому я всего лишь тупо изменил структуру (длину текстовых полей).
Прикрепленные файлы:
setupdbf.exe
47. user91919123 05.01.25 04:02 Сейчас в теме
(45) Действительно, файл 1Sentry.dbf стал меньше. Однако при попытке провести документ появилась Error -70 и ссылка на 1saccel.cdx. Решил это удалением всех .cdx и последующей переиндексацией. После этого все заработало как часы. Документы проводятся, остатки и проводки, всё на месте. Базу сжал. Спасибо за помощь!
46. I love pivo 05.01.25 01:43 Сейчас в теме
(45) +
у-ф-ф, дольше картинки скринил и подсовывал, чем делал. На самом деле все недолго.

Да, делается изменение структуры файла не очень быстро, даже на моем не самом плохом компе занимает определенное время, несколько минут, точно не засекал. Но ждешь не часы точно, всего лишь минуты.
И тебе рекомендую делать изменение структуры файла локально на компе с хорошим процессором (точнее, с хорошей тактовой частотой) а не на сервере.
Сервер, он как КАМАЗ, не напрягаясь тянет кучу бухгалтеров, но любая вишневая девятка быстрее КАМАЗа, хотя и везет одного водителя, а куча бухгалтеров эту девятку своими тушами просто раздавит. Поэтому локально на быстром компе в данном случае лучше, чем на сервере :)

О, и самое главное чуть не забыл..
Подсовываем измененный dd и измененный 1SENTRY.dbf обратно в папку с базой, удаляем (я настаиваю - именно удаляем все *.cdx файлы) запускаем 1С, ждем, когда построятся индексы и радуемся. Радуемся не очень долго, может месяц, может два, но полгига у тебя про запас есть, так что дальше сам думай - то ли обрезать (точнее сворачивать) базу, то ли на SQL.
48. user91919123 05.01.25 04:05 Сейчас в теме
(46) да, это уже додумал и сделал.) Базу свернул, но все равно будем на SQL переводить. Как раз время на это есть.
49. I love pivo 05.01.25 04:12 Сейчас в теме
(48) да на здоровье.
сколько у тебя файлик получился - 1.5 гига?
50. user91919123 05.01.25 09:27 Сейчас в теме
(49) Да, около того. 1,48 гига.
56. independ 1556 05.01.25 20:12 Сейчас в теме
https://infostart.ru/1c/tools/82018/
Windows 10 + MSSQL 2014 - вроде взлетело, но загрузка идет (долго)
и непонятный пересчет, дата увеличивается, когда закончится неизвестно
Прикрепленные файлы:
57. пользователь 06.01.25 04:53
Сообщение было скрыто модератором.
...
58. independ 1556 06.01.25 08:48 Сейчас в теме
Работает на sql, размер файла mdf 11гб
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот