Свертывание объемной базы средствами SQL

Публикация № 249429

Администрирование - Администрирование данных 1С - Свертка базы

свертка сворачивание SQL truncate

61
Свертывание объемной базы средствами SQL

Каждый настоящий 1С-внедренец хотя бы раз в жизни свертывал большую базу. Например, требуется мягко перейти с УПП 1.2 на 1.3, а вес базы за 100Gb. Казалось бы, зачем уничтожать историю? Без истории нет будущего! Но не в этот раз. По плану проекта надо было снести старый функционал управленческого учета и создать новый, параллельно перейти на новый план счетов, а так же с партионного учета перейти на расширенную аналитику. Архитектура новой базы, как водится, будет понятна ближе к запуску в продуктив. Времени жалко, поэтому идем в ускоренном режиме по стандартным фазам "обследование-моделирование-разработка", но методом набегающей волны. Кто плавал, тот знает. Ну не суть. В общем, вырисовывалось два варианта перехода:

 

  • пишем правила конвертации и переносим остатки и справочники в новую пустую базу, пока не закроется прошлый год в старой базе (а ля БП1.6->2.0)

  • в качестве отправной точки для новой конфигурации берем копию рабочей базы, пишем несложные правила конвертации и  переносим маленькими порциями только новые или измененные объекты и регистры. Параллельно дорабатываем конфигурацию. Одновременно с переносом делаем меппинг регистров на начало года – элиминируем старые движения, создаем новые. Как только прошлый год закрывается – уничтожаем все лишние документы и записи прошлых лет.

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

Первое понимание, что базу надо срочно сворачивать хотя бы на начало текущего года пришло после реструктуризации конфигурации, на которую ушло 8 часов. Разработка конечно велась в компактных локальных базах, подключенных к хранилищу, но тестирование и демонстрацию контрольных примеров заказчик справедливо потребовал проводить в копии базы, наполненной живыми данными. Выходит и учебную базу придется обновлять в течение дня, т.е. оперативно, и в будущем в промышленной эксплуатации рабочую точно так же придется обновлять с кратковременным выходом всех 250 пользователей. А на динамическое обновление лучше не надеется, особенно более одного раза между монопольными режимами. В общем приступаем к свертке.

Для свертки естественно будем использовать стандартную методику 1С – обработка СверткаБазы.epf с ИТС. Последовательность действий в ней такая:

 

  1. на закладке «Общие настройки» устанавливаем дату свертки, например 31.12.2012 23:59:59. Именно на этот момент времени на последнем этапе обработки останутся два вида документов со свернутыми остатками: «Корректировка записей регистров» (КЗР) для регистров накопления и сведений, и «ОперацияБух» (ОБ) для бухгалтерских регистров.

  2. на закладке «Настройка способа свертки» выбираем какие регистры будем сворачивать. Бухгалтерские регистры точно все, а вот про накопления и сведений – внимательно читаем инструкцию к обработке и исключаем лишние. Документы устанавливаем все.

  3. на закладке «Документы ввода остатков» нажимаем «Сформировать». После этого достаточно быстро будут созданы документы КЗР и ОБ, но на 01.01.2013 00:00:00 с выключенной активностью регистров. Причем в свертку не попадают оборотные регистры накопления и непериодические регистры сведений.

  4. нажимаем кнопку «Свернуть базу». Запускается длительный процесс удаления записей выбранных регистров до момента 31.12.2012 23:59:59 включительно. Выбранные оборотные регистры накопления тоже будут удалены. Останутся нетронутыми только непериодические регистры сведений. При этом отключается использование итогов регистров для ускорения процесса. При удачном завершении этого этапа использование итогов включается обратно. Но если этого не произошло по причине остановки по ошибке, вам нужно сделать это вручную. Если на этапе 2 выбран хотя бы один документ, то после удаления записей регистров будет предпринята попытка пометить на удаление документы, не содержащие ни одного движения.

  5. на закладке «Документы ввода остатков» нажимаем кнопку «Активизировать». Все созданные документы КЗР и ОБ будут перенесены на дату 31.12.2012 23:59:59 и включена активность регистров.

От себя к этому добавлю:  надо обязательно убедиться, что документ КЗР является регистратором для всех регистров. Например, у типовой конфигурации УАТ для своих регистров есть свой КЗР с именем «уатКорректировкаЗаписейРегистров», и если вы имеете объединенную конфигурацию УПП+УАТ, то мой совет будет нелишним.

Скоро сказка сказывается, да нескоро 4 пункт делается. Через два часа работы 4 пункта я осознал, что удаление одних только регистров будет идти неделю. А потом еще удаление документов примерно столько же. В таких случаях советую применять принцип «Бритва Оккама» - делай только то, что нужно для достижения главной цели. А моя главная цель – минимизировать время реструктуризации базы. При этом размер базы и количество оставшихся объектов – побочный эффект главной цели, но именно с него мы и начнем.

Для начала узнаем, какие 20% таблиц вносят 80% вклада в размер базы. Именно с ними и будем работать в первую очередь. Для этого используем стандартный скрипт на TSQL:

set nocount on

if exists(select name from tempdb..sysobjects where name='##tmp')

drop table ##tmp

create table ##tmp(nam varchar(50), rows int, res varchar(15),data varchar(15),ind_sze varchar(15),unsed varchar(15))

go

declare @tblname varchar(50)

declare tblname CURSOR for select name from sysobjects where xtype='U'

open tblname

Fetch next from tblname into @tblname

WHILE @@FETCH_STATUS = 0

BEGIN

insert into ##tmp

exec sp_spaceused @tblname

  FETCH NEXT FROM tblname INTO @tblname

END

CLOSE tblname

deallocate tblname

go

select nam Table_Name,rows Total_Rows,res Total_Table_Size,data Data_size,ind_sze Index_Size,unsed Unused_Space from ##tmp

order by Total_Rows desc

drop table ##tmp

Результат будет интересный, но нечитабельный. Я сделал простенький отчетик, в котором сопоставил названия таблиц SQL и объектов метаданных. И вставил его в обработку СверткаБазы.epf на закладке «Доп. возможности» кнопка «Размеры таблиц». Надо только правильно задать имя SQL-сервера, имя SQL-базы, и логин-пароль SQL-сервера. Получилось примерно следующее (фрагмент):

               
               

ИмяТаблицыХранения

Назначение

Метаданные

Total_Rows

Total_Table_Size, KB

Data_Size, KB

Index_Size, KB

Unused_space, KB

_AccumRgT19952

Итоги

РегистрНакопленияезавершенноеПроизводство

8 623 004

2 761 240

1 499 656

1 261 432

152

_AccumRgT19699

Итоги

РегистрНакопленияДСПартииТоваров

1 304 981

1 584 640

360 008

1 224 272

360

_InfoRg17813

Основная

РегистрСведенийписанныеТовары

553 823

1 020 968

894 144

126 408

416

_Document492

Основная

ДокументегламентированныйОтчет

803

834 504

833 536

760

208

_Document559_VT14882

ТабличнаяЧасть

Документ._ПрочиеЗатратыСпискомабличнаяЧасть.Затраты

1 333 145

823 432

820 400

2 976

56

_AccumRgT43095

Итоги

РегистрНакоплениявободныеОстатки

3 371 952

800 800

451 088

349 648

64

_InfoRg17190

Основная

РегистрСведенийраваДоступаПользователейКОбъектам

1 692 429

798 824

211 560

587 112

152

_AccumRgT18765

Итоги

РегистрНакоплениянутренниеЗаказы

2 952 384

784 928

414 376

370 464

88

_Document564_VT15065

ТабличнаяЧасть

Документ._НастройкаРегламентированногоОтчетаабличнаяЧасть.Настройки

348 817

781 536

780 744

728

64

_AccumRgT20021

Итоги

РегистрНакопленияезавершенноеПроизводствоНалоговыйУчет

1 201 744

777 432

300 440

476 824

168

_AccumRgT20161

Итоги

РегистрНакопленияартииТоваровНаСкладах

1 634 649

621 728

328 648

292 992

88

_AccumRgT20190

Итоги

РегистрНакопленияартииТоваровНаСкладахБухгалтерскийУчет

1 578 791

597 584

315 760

281 768

56

_AccumRgT20742

Итоги

РегистрНакопленияоварыВРезервеНаСкладах

1 680 884

567 816

210 176

357 424

216

_InfoRg15891

Основная

РегистрСведенийдресныйКлассификатор

1 023 892

550 216

132 064

417 664

488

 

В этом отчете видно, сколько записей в таблице, и сколько она занимает места на диске в килобайтах. Отчетливо видно, что одно с другим не всегда коррелирует.

Допустим, вы выбрали 20% таблиц для свертки. Но временной показатель работы 4 пункта не сильно изменился. Ну что же, раз уж мы взялись за прямые запросы к SQL, то не будем себя ни в чем ограничивать. Будем удалять записи в таблицах средствами SQL.

Disclaimer: кто-то упрекнет меня, что я якобы нарушаю лицензионное соглашение с 1С, нельзя мол вторгаться в базу 1С «неродными» инструментами. Специально для таких людей скажу: это демонстрационный пример, ни в коем случае не пытайтесь повторить его на рабочих базах ваших заказчиков, и вообще лучше дальше не читать от греха подальше! А для тех, кто умеет считать свое время и деньги, продолжим.

Как быстро удалить 50млн записей в таблице регистра? С регистрами сведений и накоплений все просто – достаточно удалить записи в основной таблице типа _AccumRg  или_InfoRg с отбором по полю _Period и после этого пересчитать итоги. В регистрах бухгалтерии кроме основной таблицы _AccRg надо еще почистить таблицу ЗначенияСубконто _AccRgED.

Теперь какой выбрать метод TSQL? Метод DELETE не подходит. Он медленный, потому что один из главных его недостатков – неотключаемое разрастание журнала транзакций, даже если у базы параметр Recovery model установлен в  Simple.

Остается только TRUNCATE. Он мгновенно очищает все содержимое таблицы, но его маленький минус – он работает без условий, чистит все и сразу. Но мы этот недостаток с легкостью преодолеваем - перед Truncate сохраняем нужные записи во временной таблице, а потом возвращаем их обратно, например, для какого-то регистра бухгалтерии скрипт будет таким:

if exists(select name from tempdb..sysobjects where name='##tmp')

drop table ##tmp

select * into ##tmp from _AccRg36504 where _Period >= '40130101 00:00:00'

truncate table _AccRg36504

insert into _AccRg36504 select * from ##tmp

drop table ##tmp

GO

select * into ##tmp from _AccRgED36536 where _Period >= '40130101 00:00:00'

truncate table _AccRgED36536

insert into _AccRgED36536 select * from ##tmp

drop table ##tmp

GO

 

В предлагаемой обработке на закладке «Доп. возможности» по кнопке «Удаление регистров (СкриптSQL)» вы получите текст TSQL-скрипта, который надо запустить в оснастке «Среда SQL Server Management Studio». Почему-то я его не захотел делать из обработки, хотелось контролировать процесс и читать сообщения по ходу его работы. Замеры показали, что такой скрипт по всем регистрам работает несколько десятков минут на базе весом 120Gb. Прибавим сюда пересчет итогов, который я сделал здесь же на кнопке «Пересчет итогов», и у нас получилось сэкономить несколько дней жизни проекта!

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

USE YourDataBaseName

declare @SQL char(200)

DECLARE @TableName char(100)

DECLARE SysCur CURSOR FOR SELECT name FROM sysobjects where type = 'U' and name like '%Chng%'

OPEN SysCur

FETCH NEXT FROM SysCur INTO @TableName

WHILE @@FETCH_STATUS=0 BEGIN

set @SQL = 'truncate table ' + @TableName

execute(@SQL)

FETCH NEXT FROM SysCur INTO @TableName

END

CLOSE SysCur

DEALLOCATE SysCur

 

Разумеется, перед всеми действиями по сворачиванию регистров не забывайте архивировать  базу данных. Мой совет – лучше это делать средствами SQL: Tasks – Back Up. И на закладке Options не забывать устанавливать параметр “Set backup compression”: “Compress backup”. В этом случае размер архива будет почти таким же, как при выгрузке информационной базы в файл *.dt, а скорость в разы выше!

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

61

Скачать файлы

Наименование Файл Версия Размер
СверткаБазы от Barelpro
.epf 53,16Kb
26.05.17
197
.epf 2 53,16Kb 197 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. w-divin 08.01.14 16:54 Сейчас в теме
прикольно... оч полезно и познавательно... Можно поподробней про удаление? ибо тема больная очень... база ок 120Гб, работает 24/7, так что монопольный доступ - беда большая...
8. Bienko 175 09.01.14 10:54 Сейчас в теме
(1) w-divin, на ИТС есть специальная обработка для удаления помеченных объектов. Она позволяет без проблем удалять в и без монопольного режима...
Новиков; +1 Ответить
9. Новиков 291 09.01.14 11:05 Сейчас в теме
(8) Bienko, верно.

Хотелось бы услышать мнение автора по этому поводу :)
11. w-divin 09.01.14 17:28 Сейчас в теме
(8) Bienko, не успел отписать... выше уже все сказали по этому поводу...

(10) по свертке: пробовать тока начал - пока поразворачивал тестовые базы, то да се... первые грабли.
select * into ##tmp from _InfoRg3091 where _Period >= '4010-10-31 00:00:00'
у меня не отработало:
Сообщение 242, уровень 16, состояние 3, строка 3
Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона.
Выполнение данной инструкции было прервано


переписал на
select * into ##tmp from _InfoRg8680 where _Period >= '40101031'
смотрю дальше...
barelpro; +1 Ответить
12. barelpro 1048 09.01.14 17:35 Сейчас в теме
(11) w-divin, а что за версия SQL? Я пробовал на 2008. На более древних такой сюрприз возможен.
19. barelpro 1048 09.01.14 19:50 Сейчас в теме
(11) w-divin,

нда, согласен, мой косяк. Надо было дату представлять в каноническом виде 'YYYYMMDD HH:MM:SS'. Его скуль понимает при любой языковой раскладке. Вот статья: http://www.sql.ru/faq/faq_topic.aspx?fid=109

Сегодня исправлю и перезалью обработку
17. w-divin 09.01.14 19:29 Сейчас в теме
(8) Bienko, и да, чуть не забыл - еще в платформе есть обалденная вещь - непосредственное удаление - оно тоже работает без монопольного режима )))
2. barelpro 1048 08.01.14 17:12 Сейчас в теме
спасибо! Подробней пока не могу, времени нет. Вкратце концепция:

Типовой механизм платформы "Удаление помеченных объектов" имеет два недостатка: работает очень медленно и требует монопольного режима.

Медленно потому, что:

1. пытается сделать все и сразу для всех объектов. Хотя есть возможность ручного выбора объектов, но ты же не будешь как дятел по одному объекту выбирать каждые пять минут?

2. пытается найти и показать все ссылки на объект (хотя справедливости ради надо отметить: в упр формах есть режим "Полное удаление" - там на это время не тратиться, но опять же сразу для всех объектов)

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

Я сделал свою обработку, в которой пришлось повторить механизм платформы на поиск ссылок. Работает он быстро, примерно секунду уходит на анализ каждого удаляемого объекта. Кроме того, я анализирую документы без проводок (т.е. проводки мы уже удалили, но документ еще не пометили на удаление, экономим время!), значит вероятность, что за 1 секунду пользователи создадут ссылку на такой документ ничтожно мала. Поэтому она работает в разделенном режиме. Как умный пылесос - ходит по квартире и никому не мешая убирает пыль.
3. w-divin 08.01.14 21:18 Сейчас в теме
да теория как раз понятна... больше интересует практика. я столкнулся с парой проблем:
1) перекрестные ссылки (когда один объект, помеченный на удаление ссылается на другой, тоже помеченный)
2) и из п.1 вылезает геометрическая проверка ссылок.
т.е. если все объекты, которые ссылаются на удаляемый помечены на удаление, то первый можно удалять, но тут входим в рекурсию и зачастую возвращаемся к ссылкам на первый объект где-то на 3-9 уровнях (((
4. barelpro 1048 08.01.14 21:28 Сейчас в теме
Да, я тоже думал про рекурсию. Но я с ней пока не стал заморачиваться, т.к. моя задача - удалить документы и сделать это быстро, значит надо пожертвовать качеством. Такие сложные случаи я просто не удаляю.

В общем я на досуге причешу свою обработку, если удастся добавить туда справочники и решить проблему взаимных ссылок, то выложу статейку с ними.
7. w-divin 09.01.14 02:27 Сейчас в теме
(6) Спасибо - действительно был не в курсе (((

ПыСы. переклацал все на сайте - но так и не нашел где можно пополнить руб. кошелек ((( В разделе кошелек только состояние, транзакции - только история, вывод есть, а ввода нету (((
10. barelpro 1048 09.01.14 15:46 Сейчас в теме
О да, есть такая обработка УдалениеПомеченныхОбъектов.epf (или DeleteMarkedObjects). :)

Но вы видимо не пробовали ее запускать в базе от 100Gb и с количеством помеченных объектом несколько десятков тысяч.
Недостатки у нее те же, что встроенной в платформу (писал выше), кроме возможности удалять в разделенном режиме.

PS. Она использует все тот же ущербный, встроенный в платформу метод ТаблицаСсылок = НайтиПоСсылкам(МассивКУдалению). Именно он работает крайне медленно. Даже если переписать обработку и подсовывать ей объекты по одному, она будет искать все ссылки на объект, на чем тратится безумное количество времени. Я этот метод переписал по своему. Я готов выложить свою обработку хоть сейчас, но хочется красиво написать. Поэтому ждите статейку :)
20. wondermaker 10.01.14 05:02 Сейчас в теме
(10) я для такого дела немного "допилил" эту обработку и там можно задать порциями объекты по типу - если знаю, что элементы номенклатуры не используются нигде - выбираю для удаления только ном-ру, или сначала чистим документы реализации, затем поступления, потом заказы и т.д.

У нас база колеблется в пределах 100-120GB (УТ 10.3 доработанная, по опыту работы с УПП не думаю, что они очень сильно отличаются) и особых проблем при удалении нескольких тысяч элементов не наблюдалось.

Может у вас проблемы с настройкой SQL?

Когда пробно проводили свертку базы в 120 GB (бух-рия говорит, мол, 5 лет не прошло, ждем, потому и не свернули рабочую), то чисто технически управились в районе 36-40 часов - создание документов остатков, удаление старых движений.
И у нас регистры по размеру были побольше - за гигабайт перевалило с два десятка таблиц SQL.

Ну и мои личные ощущения - не на столько сильно влияет "прямой SQL" на сворачивание, чтобы рисковать базой и отказываться от типовой схемы. Не на много быстрее работает удаление данных командой SQL - проверял на разных базах, на разных серверах (в том числе и почти рабочих станциях временно превращенных в "сервер" с весьма посредственными характеристиками).
Отключить на MS SQL полную модель для базы, дать побольше памяти и места на диске, провести дефрагментацию файлов и таблиц SQL - вот это реально даст эффект.
Да секционирование "тяжелых" таблиц, по-моему, больше пользы принесет для увеличения производительности, хоть и проживет до ближайшей реструктуризации базы.

Всё же, не так велика база, чтобы из-за этого "бриться опасной бритвой", при наличии в продаже "станков для бритья".

P.S. я в уже трижды проходил подобную свертку - два раза на тестовых, один раз на рабочей базе. И тот один раз на рабочей пришлось вернуть все изменения назад...
А прямые SQL-запросы я для себя использую только как мониторинг текущего состояния базы - размер таблиц, наиболее нагружающие запросы, фрагментация таблиц и т.п.

P.P.S. По поводу РН "НезавершенноеПроизводство" и "НДСПартииТоваров" - если я не ошибаюсь, они должны "закрываться в ноль" при правильных движениях. Может причина роста этих регистров в некорректных движениях?
Год назад мы навели порядок с одним похожим регистром - совершенно некорректные движения (для платформы) проходили. Для пользователей всё хорошо - отчет сворачивает движения и остатки до требуемых измерений, а вот внутри было примерно так
И1 - И2 - (+1)
И1 - NULL - (-1)
т.е. один документ делал "приход" с указанием двух измерений, а второй делал расход с указанием одного, а это приводит к тому, что итоги по регистру растут - и первая и вторая строка тянут свой остаток, который переносится на следующий месяц.
После наведения порядка с этим регистром итоги по нему уменьшились с 20 GB до 3-4GB - в пять-шесть раз.

Картина с итогами по правильным регистрам у нас выглядит так - движений по регистру 1-2 миллиона за пять лет работы, а таблица итогов - 7-8 тыс по количеству реальных остатков.
21. barelpro 1048 10.01.14 09:08 Сейчас в теме
(20) wondermaker,

спасибо за развернутый комментарий!

Мой случай немного другой. УПП 1.2 к нашему приходу была сильно доработана, с натянутым УАТ, УПО и БИТ Финанс. Итоговое количество таблиц - 7800. в УТ 11 из всего 2800. Значит на поиск ссылок или на ту же реструктуризацию уходит больше времени. Количество записей в некоторых таблицах доходило до 50млн (ЗначенияСубконто в Регистре бухгалтерии).
Добавим сюда не очень поворотливый сервер на виртуальной машине и фактор времени (мы подрядная организация на жестко фиксированном договоре), то невольно начинаешь ценить каждый потраченный день на свертку!
Да, в нашей команде присутствовал один из одинесиков-разработчиков УПП. Он так же как и вы был категорически против прямых запросов. IMHO это тонкая религиозная материя. Но в итоге должен побеждать здравый смысл.
22. w-divin 10.01.14 09:52 Сейчас в теме
(20) wondermaker, типовым конфигурациям - типовые решения... А что делать тем у кого конфигурации ну совсем не типовые? Да, нас мало, но зато мы в тельняжках!

И я не совсем понял Ваше
Ну и мои личные ощущения - не на столько сильно влияет "прямой SQL" на сворачивание, чтобы рисковать базой и отказываться от типовой схемы. Не на много быстрее работает удаление данных командой SQL - проверял на разных базах, на разных серверах (в том числе и почти рабочих станциях временно превращенных в "сервер" с весьма посредственными характеристиками).
Вы обработку-то смотрели? Там прямыми запросами только удаление и сделано...

провести дефрагментацию файлов и таблиц SQL - вот это реально даст эффект.
особенно на SSD )))
14. w-divin 09.01.14 17:59 Сейчас в теме
Надо будет на 2012 еще потестить - а то собираемся перелазить на 12 скуль...
15. Rothschild 09.01.14 18:10 Сейчас в теме

Остается только TRUNCATE. Он мгновенно очищает все содержимое таблицы

я бы не стал утверждать так категорично!

Как то раз мы попробовали таким образом "зачисить" в тестовой базе
один кривой "распухший" регистр сведений.
***
в этом регистре одни франчи вздумали в строковый ресурс неограниченной длины
записывать некоторое строковое представление объектов довольно большого размера.
(могли вы для этого ХранилищеЗначения использовать - придурки!)
***
так вот руль скуля завис капитально - и пришлось его ... убить
16. w-divin 09.01.14 19:15 Сейчас в теме
18. w-divin 09.01.14 19:32 Сейчас в теме
По теме - в процедуре пересчета итогов не хватает индикации прогресса пересчета - как во всех остальных действиях )))
24. speshuric 1120 10.01.14 10:52 Сейчас в теме
Кратенько критика:
  • На небольших базах в 100 ГБ прямые запросы скорее вредят чем помогают.
  • Не используйте sysobjects, если у вас база не на 2000м SQL. Это прямая рекомендация от MS. Если у вас база на SQL Server 2000, то очень давно пора подумать о миграции на что-то более свежее (2008R2 или 2012).
  • Размер таблиц 1С можно выяснить элегантнее:
    Код
    sel ect 
       t.name as table_name, 
       sum(sz.used_page_count*8) used_size, 
       sum(sz.reserved_page_count*8) reserved_size, 
       max(sz.row_count) row_count
    fr om 
       sys.dm_db_partition_stats sz 
       inner join sys.tables t on t.object_id = sz.object_id
    group by t.name
    order by reserved_size desc
    Показать полностью
    И никаких курсоров и временных таблиц. Тут, правда, учитывается, что в 1С нет ни хранимых представлений, ни секционирования, ни схем отличных от dbo, а размеры индексов и данных суммированы.
  • Не описан переход от 2013 года к 4013, на самом деле есть немало баз где смещение 2000 не используется. Ну и неаккуратное преобразование строк в даты. В скриптах я бы использовал формат "{ts '4013-12-13 00:00:00'}"
  • У truncate/insert есть некоторая сложность, если применять не к регистрам, а к документам или справочникам. В объектных типах есть поле timestamp. Его нельзя просто так взять и вставить, нужно конвертировать.
  • Delete кусочками хоть и медленнее, чем truncate/insert, но тоже применим (и журнал остаётся в предсказуемых пределах)
  • GO не является частью синтаксиса T-SQL и ваши скрипты можно запускать только из SSMS
31. barelpro 1048 10.01.14 12:30 Сейчас в теме
(24) speshuric, спасибо за критику!

Про timestamp знаю, но я и не предлагаю применять insert к ссылочным объектам.

За короткий скрипт определения объемов - спасибо!

Про смещение 2000 - в сервере 1С:8.3 он уже зашит по умолчанию без возможности изменения.

Про GO знаю, но я его и не выполняю через ODBC, моя обработка просто выдает текст скрипта, который надо запустить в SSMS. После каждого GO завершается транзакция и выдается комментарий, за которым я предлагаю наблюдать.

Ну а в целом - приятно поговорить с человеком в теме! ))))
25. speshuric 1120 10.01.14 11:09 Сейчас в теме
странно покорёжился скрипт. Sel ect и fr om, конечно же не должны разрываться пробелами :)
34. yuraos 955 10.01.14 18:31 Сейчас в теме
(25) speshuric,
да - есть такой косяк в движке сайта

...
хоть по 1с -ному пиши:
ВЫБРАТЬ *** 
ИЗ ***
Rothschild; +1 Ответить
26. comol 4075 10.01.14 11:56 Сейчас в теме
Только за Truncate Table админ SQL, если таковой имеется, подвесит за... уши. Далее о том что в базе могут быть ошибки, ошибки скрипта с датами и т.п. я думаю не стоит уже говорить... а уж о том что конечно данные надо разделять а не сворачивать я тем более промолчу...
28. barelpro 1048 10.01.14 12:21 Сейчас в теме
(26) comol,

Олег, уважаю твое мнение, но это не голая теория, опробована на реальном проекте. Да риск есть, но кто не рискует, тот не выигрывает! :)
27. Bajo 69 10.01.14 12:19 Сейчас в теме
Разумеется, перед всеми действиями по сворачиванию регистров не забывайте архивировать базу данных. Мой совет – лучше это делать средствами SQL: Tasks – Back Up. И на закладке Options не забывать устанавливать параметр “Set backup compression”: “Compress backup”. В этом случае размер архива будет почти таким же, как при выгрузке информационной базы в файл *.dt, а скорость в разы выше!


не совсем согласен. у нас база 8 гб. бэкап с компрессией весит 1 гб, а дт-файл 170 мб
30. Rothschild 10.01.14 12:26 Сейчас в теме
(27) Bajo,
да ... но ходят слухи, что из файла *.dt не всегда удается развернуть базу
:)))
33. w-divin 10.01.14 14:35 Сейчас в теме
(30) Rothschild, а иногда удается развернуть битую )))
(27) и почему разработчики БСП и типовых конфигураций при попытке сделать бекап клиент-серверной базы пишут "пользуйтесь средствами СУБД"? они наверное не в теме (((
32. barelpro 1048 10.01.14 12:35 Сейчас в теме
(27) Bajo,

да, SQL жмет не сильно, раз в 5. Но делает он это быстро. А в нашем деле время - деньги!
29. Bajo 69 10.01.14 12:25 Сейчас в теме
иногда лучше сделать "рестарт" учета в новой базе, потому что со временем копится очень много "мусора" как в данных, так и в разработках. но при этом возможны проблемы с битыми ссылками, переносом пользователей, но в интернете полным полно грамотных разработок для решения этих проблем
35. haggart 13.01.14 15:17 Сейчас в теме
Первый вопрос. Хоть у кого-то получилось из тех кто скачал?
Второй вопрос. После того как Recovery model установлен в Simple и базу свернули, опять можно возвращаться к предыдущему варианту Recovery model? Но тогда будут ли работать Tasks?
36. barelpro 1048 13.01.14 23:41 Сейчас в теме
(35) haggart,

а что конкретно не получилось?
37. Alex1Cnic 124 14.01.14 08:30 Сейчас в теме
А картинка то в тему!!! :-)
38. ASchekachev 121 14.01.14 15:09 Сейчас в теме
39. barelpro 1048 14.01.14 18:58 Сейчас в теме
Антон, спасибо, это альтернативный способ вычисления размеров таблиц через запрос к sysobjects
а у меня используется хранимая процедура sp_spaceused

преимущество моего метода в том, что я кроме Total_Rows, Data_Size и Index_Size вижу еще и Unused_space и полный размер Total_Table_Size
Прикрепленные файлы:
БИТ_АнализТаблицБазыДанныхSQL.erf
40. V.Nikonov 119 23.01.14 09:47 Сейчас в теме
Лично у меня несколько другой подход к выбору приоритетов по зачистке Регистров. Предпочитаю ориентироваться не столько на размер таблиц (Записей, Занимаемое место), сколько на ключевой характер остатков (влияние на логику оперативного проведения). В частности есть большое количество регистров носящих вспомогательный характер (для ускорения отчетов), а часть регистров влияет на логику поведения. Соответственно Регистры отвечающие за Взаиморасчеты, Товарные остатки, Резервы и некоторые другие надо зачищать в первую очередь.

После зачистки Ключевых регистров можно даже пользователей в программу пускать продолжая зачистку штатными средствами. При этом работоспособность (кроме отдельных видов отчетов) будет полная, хотя и будет наблюдаться увеличенная нагрузка на Сервера (сниженная производительность оперативного потока).
Збянтэжаны Саўка; +1 Ответить
41. StaticUnsafe 31.01.14 10:24 Сейчас в теме
42. barelpro 1048 25.02.14 13:31 Сейчас в теме
на фото та самая матчасть, которую надо курить )
43. evgeniyk1@yandex.ru 24.07.17 11:42 Сейчас в теме
Приветствую. Столкнулся с странной ситуацией. После подобной обработки размер таблицы итогов некоторых регистров накопления увеличивается.
Есть мысли почему и как избежать? А то получается после свертки этого регистра объем вырос на 30%.

Пример
44. barelpro 1048 24.07.17 12:35 Сейчас в теме
возможно у вас не установлен параметр SQL-базы recovery model = simple
45. evgeniyk1@yandex.ru 24.07.17 17:36 Сейчас в теме
Симпл не используем, так как удаление производится на рабочей малыми кусками в регламентные окна. И положить базу нельзя.

Спасибо. Разобрались.
46. Tarlich 78 17.10.17 21:36 Сейчас в теме
Не подходит к БП 2.0 -(( зря потрачены мани...
47. acanta 67 24.03.19 23:23 Сейчас в теме
Что Вы посоветуете, вот эту обработку вместо пункта 4 применять с RabbitMQ или достаточно РИБ?
48. barelpro 1048 24.03.19 23:31 Сейчас в теме
(47) Честно говоря не думал об этом ) Смотря для какого случая. Обработка средствами SQL не оставлет никаких следов и никак не отслеживается средствами 1С. Ее главные плюс - скорость удаления устаревшей информации.
Оставьте свое сообщение

См. также

Групповое удаление документов 8.2 (обычная форма) любая конфигурация 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf УУ Абонемент ($m) Свертка базы Чистка базы

Удаление выборочных видов документов в обратном порядке. Для всех конфигураций 8.х

2 стартмани

14.10.2019    336    wolder    0       

Сброс неудачной свертки базы. УТ 11.х 1

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УТ11 Россия Абонемент ($m) Свертка базы

Обработка позволяет сбросить неудачную Свертку базы УТ 11.x и запустить ее заново.

1 стартмани

17.09.2019    670    3    S_Mit    0       

Свертка регистра накопления 1

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 УПП1 Абонемент ($m) Свертка базы

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

1 стартмани

22.08.2019    764    4    mmitin    2       

Универсальная свертка остатков по счетам расчетов с контрагентами для "1С:Бухгалтерия 3.0" 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::БУ БП3.0 Россия БУ Windows Абонемент ($m) Свертка базы

Универсальная свертка остатков по счетам расчетов с контрагентами для конфигурации "1С:Бухгалтерия 3.0"

1 стартмани

23.07.2019    1022    5    vvadim    0       

Малый набор для обрезки(свертки,очистки) баз 3

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Свертка базы Чистка базы

Набор для облегчения ряда работ связанных с обрезкой (сверткой,очисткой) баз

1 стартмани

17.07.2019    1024    4    Бит    0       

Свертка базы 1С 4

Инструменты и обработки Программист Конфигурация (md, cf) v8 Россия Windows Абонемент ($m) Свертка базы

Конфигурация «Свертка базы 1С» Основное назначение конфигурации - настраиваемая свертка базы 1С. Процесс свертки выглядит следующим образом: 1. Пользователь определяет параметры соединения информационной базы 2. Пользователь указывает объекты свертки и дату свертки 3. Конфигурация соединяется с базой посредством com-соединения и по настройкам начинает удалять объекты 4. Для анализа и контроля свертки добавлен отчет

2 стартмани

09.06.2019    1745    9    ring_andrey    7       

Свертка базы УНФ 1.6 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 УНФ Россия Абонемент ($m) Свертка базы

В УНФ 1.6 не предусмотрена штатная свертка базы. Эта обработка сворачивает базу.

2 стартмани

08.02.2019    3951    53    artfa    28       

Свертка количества и сумм по складам и номенклатуры (после свертки базы) 1

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ КА1 БП2.0 УПП1 БУ Учет ТМЦ Абонемент ($m) Свертка базы

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

1 стартмани

08.02.2019    2121    2    darkmessiahan    0       

Свертка информационной базы для УТ 11.4 (исправлена ошибка регистра накопления Расчеты по договорам кредитов и депозитов) 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::ОУ v8::УФ УТ11 Россия Абонемент ($m) Свертка базы

Внешняя обработка "Помощник свертки информационной базы" для УТ 11.4. Исправлена ошибка РегистрНакопления.РасчетыПоДоговорамКредитовИДепозитов.Остатки ИЗ РегистрНакопления.РасчетыПоДоговорамКредитовИДепозитов.Остатки(&ГраницаОст) КАК ТабРег

1 стартмани

18.01.2019    4071    67    user732170    7       

Свертка регистра "Зарплата к выплате" 5

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ БП3.0 Россия БУ Зарплата Абонемент ($m) Свертка базы

Сворачивает записи по регистру "Зарплата к выплате" на определенную дату (предполагается конец прошлого года). Чтобы при заполнении ведомости по зарплате не вылезали долги за прошлые периоды.

1 стартмани

26.10.2018    3493    15    AndKovalchuk    0       

Свертка Альфа Авто 5.1 на дату 6

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Автомобили, автосервисы Россия УУ Абонемент ($m) Свертка базы

Столкнулись с ситуацией, что у многих наших клиентов Альфа 5 работает с самого начала и уже успела накопить большой объем информации. Техподдержка раруса прислала свертку, которая ПЕРЕНОСИТ остатки в новую базу(. Это не айс. На основании свертки с ИТС написали свою.

10 стартмани

16.10.2018    3095    6    agent100    1       

Свертка информационной базы для УНФ -1

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УНФ Абонемент ($m) Свертка базы

Обработка Свертка информационной базы для конфигурации УНФ тестировалась на версии УНФ 1.3.1.4. Переписана из типовой обработки свертки.  Вместе с обработкой в архиве лежит инструкция по свертке.

5 стартмани

09.10.2018    3856    11    JuliyaVik    5       

Перенос из УПП в ЗУП (конфигурации для Украины/России), превращение УПП в ЗУП 2

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Украина Россия Windows Абонемент ($m) Свертка базы Перенос данных из 1C8 в 1C8

Перенос из УПП в ЗУП посредством превращения УПП в ЗУП :-) УПП 1.3.50.1 ЗУП 2.1.45.3 Плататформа 1С:Предприятие 8.3 (8.3.11.2867) За основу бралась публикация http://xn---1-6kca8bgsjrjhe.xn--p1ai/public/189401/ , она была ориентирована на российские конфигурации, вследствие небольших действий описанных ниже, доведена до ума и выложена здесь. Все описано пошагово и доступно, в загрузках 3 файла, два из них есть у каждого программиста "ВыгрузкаЗагрузкаДанныхXML82" и "Поиск и замена значений" 3-й файл обработка по чистке, которую можно написать самому за 30 мин, также вся статья в ворде. Так как нельзя просто дать эти обработки на инфостарте ,чисто за символическую плату Вы можете скачать и поддержать мой труд и развитие.

1 стартмани

03.09.2018    4373    7    harvester_sorrow    0       

Универсальная корректировка пересортицы по регистрам накопления 6

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf УУ Абонемент ($m) Свертка базы Чистка базы Универсальные обработки Закрытие периода

Вам надоела пересортица? Мне - очень. Ой, а мы не ту ГТД списали. Ой, а у нас тут заказ с назначением, а отгрузили без. Ой, у нас период взаиморасчётов не бьётся по зарплате. И ещё стотыщмильёнов "хвостов", "красненького" и прочих минусов, которые не на минус, а вовсе даже на плюс должны дать ноль. И на каждый им подавай волшебную кнопочку! Вот она.

5 стартмани

03.08.2018    4943    6    e.kogan    0       

Свертка 1С: ЗУП 3 10

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::СПР ЗУП3.x Россия БУ Зарплата Абонемент ($m) Свертка базы

Свертка 1С: Зарплата и управление персоналом 3 по трем регистрам. Когда у всех полетел НДФЛ в начале 2018 года, решили сделать обработку свертки ЗУП 3 с сохранением данных о среднем заработке для расчета пособий. 

5 стартмани

11.07.2018    6262    68    Bortkevich    4       

Регламентное задание: Очистка регистра сведений "Версии объектов" 8

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 УПП1 Россия Абонемент ($m) Свертка базы Чистка базы

У каждого была проблема «растущего» регистра "Версии объектов". Мы дорастили просто до чудовищных размеров(20 мил.) почистить обработкой очень трудоемко, плюс баз у нас много. Решили написать  регламентное задание.

1 стартмани

28.06.2018    5168    5    abadonna83    7       

Замена ссылок на документы расчетов с контрагентом после свертки базы бухгалтерии 5

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ БП3.0 Абонемент ($m) Свертка базы Обработка документов

Как окончательно избавиться от груза прошлых лет после свертки конфигурации Бухгалтерия 3.0? Данная обработка позволит вам автоматизировать процесс замены ссылок с документов прошлых лет на документ расчетов с контрагентом.

2 стартмани

16.04.2018    5392    39    insurgut    13       

Универсальная свёртка базы БП 2.0 1

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ БП2.0 Абонемент ($m) Свертка базы

Обработка сворачивает БД на определенную дату, позволяет ограничивать численность записей в документах и регистрах.

1 стартмани

31.01.2018    7362    69    DENSKR    6       

Выгрузка, сжатие и загрузка фото картинок изображений, сжатие базы данных. УТ 10.3, Розница 1.0 6

Инструменты и обработки Системный администратор Программист Архив с данными v8 УТ10 Розница Россия Абонемент ($m) Свертка базы Универсальные обработки

Обратился клиент, файловая база данных выросла за короткий промежуток времени более 10 ГБ, проанализировав данные пришли в выводу, что было загружено большое количество изображений, картинок, фото товара, размером 2-3 МБ. Использовался прайс лист и отчеты с картинками, которые сильно тормозили, хотя выводимый размер изображения 3 на 3 см. Также осуществлялась выгрузка фото на сайт, которая тормозила, и вылетала, зависала. Было принято решение сжать фото. Средствами 1С сжатие фото не удавалось, без серьезной потери качества.

2 стартмани

12.12.2017    8929    27    IvanovAV    5       

Удаление данных из БД в MS-SQL 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf MS SQL Абонемент ($m) Свертка базы Чистка базы

Обработка для удаления данных (документы, журналы, справочники, регистры сведения и накопления) напрямую в MS-SQL.

1 стартмани

03.11.2017    7859    20    succub1_5    2       

Создание первоначального образа с файлами РИБ или быстрая очистка базы от документов и движений по регистрам 12

Инструменты и обработки Системный администратор Программист Архив с данными v8 Розница Абонемент ($m) Свертка базы Чистка базы Распределенная БД (УРИБ, УРБД)

В «большой» базе штатными средствами создать первоначальный образ узла не получается по причине «недостатка памяти на сервере»? А способы, описанные в статье https://its.1c.ru/db/metod8dev/content/2277/hdoc не подходят? ИЛИ Удаление всех документов или свёртка базы занимает продолжительное время?

1 стартмани

06.06.2017    14782    46    Dima_    6       

Корректировка остатков регистров бухгалтерии (обычные и управляемые формы) 11

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8::БУ v8::УФ 1cv8.cf БУ НУ Абонемент ($m) Свертка базы Универсальные обработки Закрытие периода Чистка базы

Внешняя обработка, предназначенная для удобного исправления остатков по регистрам бухгалтерии (Хозрасчетный, Налоговый или любой другой) посредством автоматизации ввода корректировочного документа ("Операция", "Корректировка записей регистров"), приводящего регистр в нужное состояние остатков от текущего. Удобна для массовых правок остатков по бухгалтерскому и налоговому учету на какую-то дату (обычно перед реорганизацией учета, сверткой базы и т.п.)

2 стартмани

03.06.2017    21514    126    stvorl    20       

Свертка базы. УТ 11.3 2

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8::УФ УТ11 Россия УУ Абонемент ($m) Свертка базы

При свертке базы УТ 11.1 или 11.3 стандартной обработкой остатки товара увеличиваются в два раза.

1 стартмани

24.05.2017    17944    122    m-sla    9       

Массовая загрузка/выгрузка конвертаций для КД2 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 КД Абонемент ($m) Свертка базы

Обработка для массового переноса правил конвертаций между базами

1 стартмани

28.03.2017    8357    6    maddy    1       

Свертка базы средствами SQL 1

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Свертка базы Чистка базы

Удаление документов и движений по регистрам средствами SQL без контроля ссылочной целостности.

1 стартмани

06.01.2017    11613    38    sm2701    5       

Свертка регистра сведений "Первое приближение для решения СЛУ" 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 УПП1 УУ Производство готовой продукции (работ, услуг) Абонемент ($m) Свертка базы

Обработка для свертки регистра сведений "Первое приближение для решения СЛУ" на дату документа Расчет себестоимости выпуска.

1 стартмани

09.12.2016    10805    LavinVadik    0       

Постобработка документов после свертки БП 3.0 6

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ БП3.0 Абонемент ($m) Свертка базы Обработка документов

После типовой свертки БП 3.0 создаются документы "Операция" с остатками по регистрам бухгалтерии, сведений и накопления. Но в этих документах присутствуют ссылки на документы предыдущих периодов. Эта обработка их заменяет.

1 стартмани

17.11.2016    17557    102    pyrkin_vanya    17       

Чистка зависших (+/-) остатков на выбираемых измерениях в регистрах накопления (универсальная) 6

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 ЗКБУ ЗУП2.5 КА1 УПП1 УТ10 УУ Windows Абонемент ($m) Свертка базы Универсальные обработки Обработка документов

Универсальная обработка (УПП 1.3, УТ 10.3, КА 1.1), позволяющая отобрать по выбранному регистру накопления зависшие "хвосты" +/- в остатках и списать их при помощи документа Корректировка записей регистров.

1 стартмани

31.10.2016    10559    52    LegO    4       

Выравнивание Оперативного Регламентированого Бухгалтерского учета по ТМЦ на складах 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 Россия Абонемент ($m) Свертка базы

Обработка выравнивая остатков ТМЦ по складам в оперативном (товары на складах), в регламентированном (товары организации и себестоимость товаров), в бух проводках (бухгалтерские проводки) для ЕРП 2.1.

1 стартмани

18.07.2016    9801    15    valeriy-vm    1       

Свертка версий объектов для тонкого клиента 2

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Свертка базы

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

1 стартмани

30.06.2016    10367    8    cdiamond    3       

Помощник после свертки 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 УТ10 УПП1 Windows Абонемент ($m) Свертка базы

Обработка для корректировки данных после свертки

1 стартмани

29.04.2016    12817    57    Efimoff    6       

Зачистка ссылок на документы после свертки. 1С:Бухгалтерия 3.0 15

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 БП2.0 Россия БУ Windows Дебиторская и кредиторская задолженность Учет ТМЦ Абонемент ($m) Свертка базы Чистка базы Обработка документов

После стандартной свертки не удаляются документы из базы? Вы уже заметили, что они абсолютно во всех операциях по вводу начальных остатков? Эта обработка поможет решить вопрос!!! Все документы расчетов в виде старых документов будут заменены на новый документ расчетов, и Вы сможете избавиться от ненужных старых документов!

2 стартмани

05.04.2016    15658    66    katerinaUniv    8       

[БП 3.0] Свертка БП 2.0 или БП 3.0 документами "Ввод начальных остатков" в БП 3.0 beta 77

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ v8::УФ БП2.0 БП3.0 Россия БУ Windows Абонемент ($m) Свертка базы

Новое воплощение старой идеи http://infostart.ru/public/118486/ Много взято отсюда http://infostart.ru/public/303564/ Движок переноса данных http://infostart.ru/public/421541/ 29.04.2019 - Версия 6.3.9.3 - Выведен на закладке ВНО флаг БУ = НУ

2 стартмани

03.04.2016    40557    717    Alex_E    340       

Ещё один вариант свертки регистров учета НДФЛ (для ЗБУ/ЗКОУ/ЗКМУ ред. 1, ЗУП ред. 2.5) 30

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 ЗУП2.5 ЗКБУ Россия НУ Windows Зарплата НДФЛ Абонемент ($m) Свертка базы

С появлением формы 6-НДФЛ вопрос правильного ведения исчисленного/удержанного/перечисленного НДФЛ встал не просто остро, а сверхостро! Поможем расчетчикам чем сможем...

1 стартмани

10.03.2016    30323    291    GlebHappy    50       

Свертка / обрезка баз украинских конфигураций УТ, БУ, УТП 19

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 УТ10 Украина Windows Абонемент ($m) Свертка базы

Начался еще один год. Возникла необходимость урезать накопленные данные. Стандартная обработка на украинских конфигурациях не работает. Пришлось внести поправки.

5 стартмани

23.02.2016    25541    94    Igortid    17       

Свертка Информационной Базы 3.0 на произвольное число 0

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 ЗКБУ Россия Windows Абонемент ($m) Свертка базы

Обработка предназначена для свертки информационной базы на произвольное число.

1 стартмани

07.10.2015    12571    63    Sitnikov    9       

Свертка свойств номенклатуры. Удаление дубликатов свойств товаров 1С: УТ10, КА, УПП 8

Инструменты и обработки no Внешняя обработка (ert,epf) v8 КА1 УТ10 УПП1 Windows Абонемент ($m) Свертка базы Чистка базы Обработка справочников

Внешняя обработка для удаления дублей свойств и объединения значений дублей в значения одного свойства.

1 стартмани

06.10.2015    17220    26    spy-83    10       

Актуализация данных регистров накопления 10

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Свертка базы

Актуализация данных регистров накопления или как, не особо напрягаясь, уменьшить размер базы и ускорить 1С

1 стартмани

15.09.2015    18091    33    Smaylukk    3       

Свертка базы (регистров накопления) средствами SQL 5

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Свертка базы

Обработка предназначена для ускорения свертки регистров путем использования прямых запросов SQL

1 стартмани

26.08.2015    17998    112    acsent    12       

Обработка быстрой пометки на удаление 5

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Свертка базы Обработка документов Универсальные обработки

Обработка полезна при обрезке баз с большим числом документов. Обработка работает быстрее в 80-100 раз по сравнению с типовой групповой обработкой справочников и документов. Требует .Net framework 4 и Elisy .Net Bridge.

1 стартмани

11.08.2015    16233    34    Elisy    13       

Загрузка остатков по счетам из внешней базы данных (БП 2.0) 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 Россия БУ Windows Абонемент ($m) Свертка базы Перенос данных из 1C8 в 1C8

Обработка позволяет загрузить остатки регистра Хозрасчетный (остатки по счетам учета ОСВ) из внешней БД в текущую. Загрузка делается через СОМ соединение в документ "Операции, введенные вручную". Можно загрузить остатки по всем счетам или только выбранным.

1 стартмани

14.07.2015    10585    34    alek-sand-er    4       

Свертка регистров УТ 11 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УТ11 УУ Абонемент ($m) Свертка базы

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

1 стартмани

30.04.2015    12998    56    ReN    6       

Выгрузка данных по одной организации (БП 8.2) 3

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 БП2.0 Россия БУ Windows Абонемент ($m) Свертка базы Перенос данных из 1C8 в 1C8

Пытался подыскать что-то подобное на просторах инета. Но кроме советов типа бла-бла-бла и каких-то косячных попыток подпила выложенной на ИТС обработки по переносу всех данных поиски ни к чему не привели. Пришлось потратить несколько дней на то, чтобы сваять желаемое.

1 стартмани

04.03.2015    19134    130    lvictor58    6