Вынесение регистра версий из базы

02.10.14

База данных - Свертка базы

В базе Розница в течении двух лет использовалось типовое версионирование. Постепенно версии стали занимать очень много места. Последней каплей терпения стала невозможность проведения реструктуризации при переходе с 8.1 на 8.3. Решено было вынести регистр версий в отдельную базу.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Обработка и конфигурация
.zip 12,17Kb
20 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

По замерам в SQL-сервере при общем объеме базы 286 Гб размер таблицы регистра версий стал 129, т.е. 45%.

Сначала я хотел перенести в отдельную SQL-базу через «чистый SQL», но потом решил, что написание примитивного кода переноса будет быстрее и сопровождать легче.

В итоге за 2 часа рабочего времени написал структуру базы и обработку, которая переносит регистр из рабочей базы в отдельную. Обработка и база в формате 8.2

 

Конфигурация базы версий

В конфигурации всего несколько справочников:

  • Типы – типы данных, синхронизируются по полному имени метаданных.
  • Узлы обмена – узел обмена, из которого пришла версия, синхронизируется по коду.
  • Авторы – авторы версий, синхронизируются по наименованию.

Регистр версий имеет структуру:

Я добавил только ресурс «Дата добавления», чтобы отслеживать, когда версия была перенесена в базу версий.

Объект – это значение типа «Уникальный идентификатор», является ссылкой на объект в исходной базе.

От замысла хранить версии из нескольких баз в одной базе версий отказался – отдельные базы проще в обслуживании.

 

Заполненный данными регистр версий в базе версий выглядит так:

Заполненный список типов выглядит так:

Заполненный список авторов выглядит так:

 

Обработка для переноса

Обработка имеет  простую форму:

Используется обычно по расписанию для запуска из регламентного задания:

О = САП.ДатьВнешнююОбработку("Перекачка версий в базу версий");

О.ВыбСервер = "server";
О.ВыбБаза = "VersRT";
О.ВыбПользователь = "robot";
О.ВыбПароль = "1111111111111";

О.Работа();

Перенесенные версии удаляются из базы данных.

Использование в отчетах рабочей базы

Версии использовались только в отчете по показу версий объекта. Вместо обращения к рабочей базе нужно переписать код для обращения к базе версий по COM-соединению. Остальное не меняется. Это просто.

Вступайте в нашу телеграмм-группу Инфостарт

сжатие базы

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    37037    211    111    

199

Свертка базы Системный администратор Программист 1С v8.3 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 Платные (руб)

Универсальная свертка баз данных под 1С разработана для свертки баз данных различного объема и сложности. Обработка работает на простых и управляемых формах. Обработка позволяет легко и интуитивно понятно проводить работы по свертке базы данных и других необходимых операций связанных с обслуживанием баз данных.

6000 руб.

22.05.2024    4687    26    10    

35

Перенос данных 1C Оптовая торговля Свертка базы Системный администратор Программист Бухгалтер 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один? Или просто нужен удобный OLE обмен между 1C:Управление торговлей (ред. 11 или 10) и 1С:Бухгалтерия предприятия (ред. 2 или 3). Тогда эта обработка для вас!

12900 руб.

19.04.2013    176279    377    400    

337

Свертка базы Программист 1С v8.3 1С:Управление торговлей 10 Россия Управленческий учет Абонемент ($m)

Когда база большая и старая или по каким-то причинам хотелось бы начать с чистого листа, но с переходящими остатками, фирма 1С предлагает механизм свертки ИБ. Всё хорошо, но при этом в новую базу тащится куча ненужного, а зачастую просто куча ошибок и лишнего. Альтернатива: загрузка остатков товаров по партиям и взаиморасчётов по документам.

3 стартмани

13.12.2024    1192    2    Farpost    2    

1

Свертка базы Программист Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Правила переноса остатков из конфигурации Бухгалтерия 3.0 в конфигурацию Бухгалтерия 3.0. Правила могут быть полезны для свертки рабочей базы документами "Ввод начальных остатков" или для перехода из типовой Бухгалтерии в отраслевую конфигурацию, основанную на ней, или для перехода с УСН на ОСНО.

2 стартмани

26.09.2024    2481    93    kumi2012    46    

6

Свертка базы Инструментарий разработчика Программист 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет НДС Абонемент ($m)

Представлена рабочая обработка для перехода на учет партий в учете запасов (не универсальная). Дополнительно расписана технология работы с документом ОперацияБух и с аналитиками учета (основная цель).

2 стартмани

19.08.2024    1712    4    RustIG    5    

4

Свертка базы Программист 1С v8.3 1С:Управление торговлей 10 Управленческий учет Абонемент ($m)

Представлена обработка для свертки УТ 10.3 по новой концепции - когда сворачиваем "подокументно", а не "целиком и сразу по всем регистрам".

2 стартмани

03.04.2024    4237    22    RustIG    19    

19

Свертка базы Программист 1С v8.3 1С:Управление торговлей 10 Управленческий учет Абонемент ($m)

Внешняя обработка (для конфигураций на обычных формах) сравнивает остатки на дату и в разрезе организации по всем регистрам накопления. Сравнение происходит между базами по технологии Com-соединение. Используется при свертке базы.

2 стартмани

27.03.2024    1424    10    RustIG    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ojiojiowka 02.10.14 11:03 Сейчас в теме
А не пробовали таблицу вынести в отдельную файловую группу?
2. fixin 4291 02.10.14 12:12 Сейчас в теме
(1) вынесение не решит мою проблему. Эта таблица по прежнему будет частью базы и будет пересчитываться при каждой реструктуризации, переиндексации и т.п.
3. AnnB 02.10.14 12:41 Сейчас в теме
Мы очищаем регистр версий, храним только версии текущего года. По суди история изменений закрытого периода нам не нужна.
4. fixin 4291 02.10.14 12:59 Сейчас в теме
(3) тоже вариант. но у нас сложности с закрытием перидов, неизвестно, что когда может понадобиться.
5. kapustinag 02.10.14 14:22 Сейчас в теме
(3) AnnB, У нас версии объектов очень редко смотрят, но уж если смотрят, то историю за несколько лет поднимают. То есть 99.99% объема регистра лежит и никогда не будет востребовано, но ради 0.01% приходится это все где-то хранить.

Вариант с отдельной базой - хороший. Есть еще другой вариант - хранить версии на файловом ресурсе. Отчет "История изменений объектов" может быть легко доработан и для этого случая. Структуру вложенных каталогов надо сделать, чтобы проводник Windows нормально с ней работал.
6. fixin 4291 02.10.14 16:11 Сейчас в теме
(5) я сперва тоже подумал хранить в файлах, но потом передумал. Все-таки это 3 млн файлов. Неэффективно. В базе компактнее хранится. В базу версий кидаю сразу упакованным со степенью сжатия 9.
7. anig99 2858 03.10.14 13:02 Сейчас в теме
У меня такая же база на работе несколько лет уже есть. Только я попроще сделал - храню сразу ссылки на объекты, не создавая лишнего в новой базе. Кроме того добавил перенумерацию и сворачивание версий. А для работы с версиями написан отчет сom... Всё никак руки не доходят причесать и выложить...
8. fixin 4291 03.10.14 13:55 Сейчас в теме
(7) вот и я исходил из того, что версии занимают слишком много места. Удалять жалко. Вот и перенес их в отдельную базу.
9. fish249 03.10.14 15:25 Сейчас в теме
А к внешней базе через COM делаешь соединение, или используешь внешние источники данных?
10. fixin 4291 03.10.14 16:11 Сейчас в теме
(9) по старинке через СОМ
Оставьте свое сообщение