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

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

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

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

Свертывание объемной базы средствами 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, а скорость в разы выше!

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

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

Наименование Файл Версия Размер
СверткаБазы от Barelpro

.epf 53,16Kb
212
.epf 2 53,16Kb 212 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. w-divin 08.01.14 16:54 Сейчас в теме
прикольно... оч полезно и познавательно... Можно поподробней про удаление? ибо тема больная очень... база ок 120Гб, работает 24/7, так что монопольный доступ - беда большая...
8. Bienko 191 09.01.14 10:54 Сейчас в теме
(1) w-divin, на ИТС есть специальная обработка для удаления помеченных объектов. Она позволяет без проблем удалять в и без монопольного режима...
Новиков; +1 Ответить
9. Новиков 292 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 1201 09.01.14 17:35 Сейчас в теме
(11) w-divin, а что за версия SQL? Я пробовал на 2008. На более древних такой сюрприз возможен.
19. barelpro 1201 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 1201 08.01.14 17:12 Сейчас в теме
спасибо! Подробней пока не могу, времени нет. Вкратце концепция:

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

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

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

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

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

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

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

ПыСы. переклацал все на сайте - но так и не нашел где можно пополнить руб. кошелек ((( В разделе кошелек только состояние, транзакции - только история, вывод есть, а ввода нету (((
10. barelpro 1201 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 1201 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 1209 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 1201 10.01.14 12:30 Сейчас в теме
(24) speshuric, спасибо за критику!

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

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

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

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

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

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

Олег, уважаю твое мнение, но это не голая теория, опробована на реальном проекте. Да риск есть, но кто не рискует, тот не выигрывает! :)
27. Bajo 76 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 1201 10.01.14 12:35 Сейчас в теме
(27) Bajo,

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

а что конкретно не получилось?
37. Alex1Cnic 129 14.01.14 08:30 Сейчас в теме
А картинка то в тему!!! :-)
38. ASchekachev 122 14.01.14 15:09 Сейчас в теме
39. barelpro 1201 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 1201 25.02.14 13:31 Сейчас в теме
на фото та самая матчасть, которую надо курить )
43. evgeniyk1@yandex.ru 24.07.17 11:42 Сейчас в теме
Приветствую. Столкнулся с странной ситуацией. После подобной обработки размер таблицы итогов некоторых регистров накопления увеличивается.
Есть мысли почему и как избежать? А то получается после свертки этого регистра объем вырос на 30%.

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

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

См. также

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

Свертка базы Универсальные обработки Закрытие периода Чистка базы v8::БУ v8::УФ 1cv8.cf БУ НУ Абонемент ($m)

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

2 стартмани

03.06.2017    34681    204    stvorl    27    

Свертка базы УТ 11.4

Свертка базы v8 УТ11 Россия Абонемент ($m)

Работающий вариант типовой свёртки базы УТ 11.4.6.207.

1 стартмани

12.03.2021    701    3    DnsRzv    2    

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

Свертка базы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.02.2021    627    5    rokhin    0    

Свертка базы 1С:Розница 2

Свертка базы v8 Розница Россия УУ Абонемент ($m)

Свертка базы 1С:Розница 2.3 - порядок действий и обработка-помощник.

1 стартмани

16.02.2021    1017    8    ptkrzy    0    

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

Закрытие периода Свертка базы Чистка базы Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

14.01.2012    82284    1707    stvorl    76    

Типовая обработка по свертке ЕРП. Возможные проблемы и их решение

Свертка базы v8 ERP2 УУ Абонемент ($m)

Добрый день, коллеги. Хочу рассказать про опыт использования типовой обработки свертки ЕРП.  А именно про ряд ошибок, которые могут встречаться в типовой обработке свертки ЕРП.

1 стартмани

04.02.2021    772    2    Andrei_Ivanov    0    

Свертка базы на любую дату типовой обработкой для 1С:Бухгалтерии 3.0

Свертка базы v8 v8::БУ БП3.0 Россия БУ НУ Абонемент ($m)

Расширение для конфигурации 1С: Бухгалтерия 3.0 позволяет использование любой даты в типовой обработке "Свёртка информационной базы", а не только - начало года.

1 стартмани

16.12.2020    1792    9    kumi2012    5    

Свертка базы данных Управление ветеринарными сертификатами

Свертка базы v8 v8::УФ 1С:УВС Пищевая промышленность Россия БУ Абонемент ($m)

Удаление устаревших записей по документам и операциям для сокращения размера БД.

1 стартмани

04.06.2020    3422    9    Guyer    0    

Переход с УСН на ОСНО. Формирование остатков НУ и данных по регистру затрат УчетЗатратРегл (РАУЗ) Промо

Свертка базы Универсальные обработки Учет ТМЦ Учет ТМЦ v8 КА1 Россия НУ Абонемент ($m)

Не знаете, как побороть сообщение "движения сформировались без суммовой оценки" при проведении документов после перехода на ОСНО - эта обработка для вас. Обработка выполняет закрытие остатков по счетам учета ТМЦ и формирование новых остатков на заданную пользователем дату с проверкой итоговых сумм и количества по БУ и НУ, а также закрытие остатков по старым ключам аналитики (без применения счетаНУ) и формирование новых остатков. Для конфигурации Комплексная Конфигурация 1.1

10 стартмани

30.01.2014    29927    8    buy_sale    7    

Свертка информационной базы для конфигурации "Бухгалтерия предприятия КОРП 3.0"

Свертка базы v8::БУ БП3.0 Россия БУ Абонемент ($m)

Типовая обработка переделана, можно указывать определенную дату.

1 стартмани

02.06.2020    2263    8    wowik    0    

Создание копии рабочей базы

Свертка базы Архивирование (backup) v8 Абонемент ($m)

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

1 стартмани

28.05.2020    5145    13    imm0rtal    0    

Свертка регистров накопления. ЗУП, ЗКГУ

Свертка базы v8 v8::СПР ЗКБУ ЗУП3.x Россия БУ Абонемент ($m)

Свертка произвольных регистров накопления в ЗУП, ЗКГУ.

1 стартмани

24.03.2020    3349    22    sevarm    0    

Очистка регистров накопления, сведений, расчета или бухгалтерии Промо

Сервисные утилиты Чистка базы Свертка базы v8 1cv8.cf Абонемент ($m)

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

2 стартмани

25.12.2009    64851    1231    sebe    20    

Сжатие (уменьшение размера) файлов изображений 1С без внешних компонент - для любой конфигурации на основе БСП > 2.3

Свертка базы Универсальные обработки v8 Розница ERP2 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Если в базу загружено большое количество изображений, картинок, фото товаров, размером более 2-3МБ, то в базе будут сильно тормозить все процессы, связанные с чтением-передачей файлов изображений: формирование прайса, отчетов с картинками, выгрузка изображений товаров на сайт и т.д. Данная обработка позволяет провести оптимизацию (уменьшение размера) загруженных картинок в базу 1С любой конфигурации на основе БСП >= 2.3 стандартными средствами 1С, сохраняя при этом достаточно хорошее качество сжатых картинок. Проверено на релизе УТ 11.4.11.71, для обработки понадобится также версия Платформы 1С >= 8.3.14.

1 стартмани

08.03.2020    9031    39    1sig    27    

Свертка базы и очистка таблиц

Свертка базы Чистка базы v8 1cv8.cf Россия Абонемент ($m)

Обработка написана с использованием БСП. Встраивается как внешняя. Работает в фоне. Позволяет средствами SQL очищать выборочно таблицы с настройками, заданными привычным образом через отбор СКД.

5 стартмани

05.03.2020    6445    35    YAGolova    6    

Корректный перенос Заказов покупателей (предыдущих периодов) при использовании обеспечения и переходе в течение года КА 1.1 (УТ 10.3) + Правила переноса КА 1.1 - УТ 11.4

Перенос данных из 1C8 в 1C8 Свертка базы Обработка документов v8::ОУ КА1 УТ11 Россия УУ Абонемент ($m)

В процессе перехода с использованием разработанных правил (на основании стандартной обработки), я столкнулся с проблемой некорректного поведения Заказов покупателей/Заказов поставщику. При вводе переходящих с прошлых периодов Заказов покупателей/Заказов поставщику уже приобретенные/реализованные товары не учитываются при вводе на основании. Предлагаю решение данной проблемы.

3 стартмани

25.02.2020    3465    8    Leoon    1    

Свертка БП 2.0 документами Ввод начальных остатков Промо

Свертка базы v8 v8::БУ БП2.0 Россия БУ НУ Абонемент ($m)

Обработка свертки БП 2.0 по оригинальному алгоритму - рассчитываются остатки на выбранную дату, создаются документы "Ввод начальных остатков". Затем эти документы выгружаются в файл XML и загружаются в чистую базу. Обороты за период (документы и операции) после свертки также через XML переносятся в новую базу. В отличие от "стандартного" алгоритма (которого для БП 2.0 на сегодняшний день нет, или я про него не знаю) требует гораздо меньшего времени на осуществление самой свертки - не надо помечать на удаление документы, ждать их окончательного удаления и нет необходимости упаковки базы через тестирование и исправление. Время, необходимое на обработку результатов свертки, зависит в первую очередь от корректности ведения учета в исходной базе. Большая просьба ко всем, кто решится на её использование, описать возникшие проблемы, если они проявятся - постараюсь исправить. Новая версия для свертки 2.0 или 3.0 в 3.0 - http://infostart.ru/public/509628/ Огромное спасибо всем откликнувшимся!!!

2 стартмани

24.02.2012    116451    4012    Alex_E    739    

Свертка цен. УТ 11

Ценообразование, анализ цен Свертка базы v8 v8::ОУ УТ11 УУ Абонемент ($m)

Обработка для свертки цен номенклатуры в УТ 11.

1 стартмани

13.01.2020    3476    14    arslanov.rr    0    

Присоединение одной организации к другой. Создание и замена ссылок одной организации на другую

Свертка базы v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Вашему вниманию процесс присоединения баланса одной организации к другой. Процесс объединения может быть использован на любых конфигурациях, где используется обработка Свертка информационной базы. Обработка Копирование и замена ссылок универсальна и может найти применение в других прикладных задачах - выполняет копию ссылки с заменой всех реквизитов, использующих организацию(легко переделывается на другой объект) на заданную. С помощью Свертки мы получаем остатки по регистрам на дату слияния. Далее этих остатки нужно заменить организацию, для чего мы используем обработку копирования с заменой. Мы осуществляли переход на БП 3.0.75.37.

10 стартмани

27.12.2019    4384    11    DennyPhilord    0    

Сворачивание остатков регистра Себестоимость товаров по развернувшейся аналитике Аналитика финансового учета. ERP

Свертка базы v8 ERP2 УУ Абонемент ($m)

ERP, Сворачивание остатков регистра СебестоимостьТоваров по развернувшейся аналитике АналитикаФинансовогоУчета. Проявляется это следующим образом: При выполнении регламентной операции по закрытию месяца, на шаге Расчет себестоимости не возникает проблемы по регистру ТоварыОрганизации, но возникают "остатки нераспределенных материальных затрат в регистре "Себестоимость товаров"".

1 стартмани

18.12.2019    6335    35    rokhin    0    

Свертка 60, Свертка 62, Исправление ошибок взаиморасчетов, Исправление 60, Исправление 62 Промо

Свертка базы Тестирование и исправление Анализ учета Дебиторская и кредиторская задолженность Оборотно-сальдовая ведомость, Анализ счета Дебиторская и кредиторская задолженность Оборотно-сальдовая ведомость, Анализ счета v8 БП2.0 Россия БУ Абонемент ($m)

Исправляет все возможные ошибки по счетам расчетов с контрагентом, делает дебетовое сальдо на активном счете и кредитовое на пассивном. кроме того зачитывает все суммы по контрагенту и договору. Сворачивает 60 и 62 счета. Умеет работать с документами взаиморасчетов или без них.

1 стартмани

21.10.2010    38894    679    GoodWinSpr    37    

Свертка базы на любую дату для 1С:Бухгалтерия 3.0

Свертка базы v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

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

2 стартмани

13.12.2019    5858    64    Aleksandr55555    5    

Свертка БД 1С: обрезка до выбранной даты средствами MS SQL

Свертка базы Чистка базы v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Внешняя обработка, позволяющая произвести анализ размера БД и грубую обрезку данных до выбранной даты средствами MS SQL. Управляемые формы, 1С:Предприятие 8.3 (8.3.9.1818).

1 стартмани

15.11.2019    17284    219    dmitrydemenew    35    

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

Свертка базы Чистка базы v8 1cv8.cf УУ Абонемент ($m)

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

2 стартмани

14.10.2019    4849    24    wolder    3    

Универсальная консоль SQL + Свертка базы Промо

Свертка базы Чистка базы Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Универсальная консоль SQL - это удобный инструмент, который позволит непосредственно в SQL, удалять, изменять любые данные (справочники, документы, регистры...) с любыми и доступными для всех отборами! Свертка любой базы за считанные минуты!

1 стартмани

16.12.2012    46391    534    ozaycev    90    

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

Свертка базы v8 УТ11 Россия Абонемент ($m)

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

1 стартмани

17.09.2019    5852    28    S_Mit    0    

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

Свертка базы v8 УПП1 Абонемент ($m)

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

1 стартмани

22.08.2019    6284    30    mmitin    3    

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

Свертка базы v8::БУ БП3.0 Россия БУ Абонемент ($m)

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

2 стартмани

23.07.2019    6819    64    vvadim    4    

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

Свертка базы Чистка базы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.07.2019    5283    39    Бит    0    

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

Свертка базы v8 Россия Абонемент ($m)

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

2 стартмани

09.06.2019    7628    33    ring_andrey    16    

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

Свертка базы v8 УНФ Россия Абонемент ($m)

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

2 стартмани

08.02.2019    13537    194    artfa    39    

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

Свертка базы Учет ТМЦ Учет ТМЦ v8 v8::БУ КА1 БП2.0 УПП1 БУ Абонемент ($m)

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

1 стартмани

08.02.2019    5645    2    Teut_Vlad    0    

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

Свертка базы v8 v8::ОУ v8::УФ УТ11 Россия Абонемент ($m)

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

1 стартмани

18.01.2019    12243    132    user732170    25    

"Легкие" правила переноса остатков из БП 3.0 в БП 3.0 (Свертка базы документами "Ввод остатков")

Обмен через XML Перенос данных из 1C8 в 1C8 Свертка базы v8::БУ БП3.0 БУ НУ Абонемент ($m)

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

1 стартмани

15.12.2018    25756    390    Skin123    90    

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

Зарплата Свертка базы Зарплата v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

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

1 стартмани

26.10.2018    7624    32    AndKovalchuk    2    

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

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

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

10 стартмани

16.10.2018    7695    23    agent100    6    

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

Свертка базы v8 УНФ Абонемент ($m)

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

5 стартмани

09.10.2018    9262    15    JuliyaVik    6    

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

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

Перенос из УПП в ЗУП посредством превращения УПП в ЗУП :-) УПП 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    9094    8    harvester_sorrow    0    

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

Свертка базы Чистка базы Универсальные обработки Закрытие периода v8 v8::УФ 1cv8.cf УУ Абонемент ($m)

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

5 стартмани

03.08.2018    9908    7    e.kogan    0    

Универсальная обработка "Удаление движений документов" по выбранным регистрам

Свертка базы Чистка базы v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка удаляет движения документов по выбранным регистрам. (Управляемая форма)

1 стартмани

29.07.2018    7667    56    brunet    5    

Подмена подразделений в регистрах сведений регламентной операции

Свертка базы Закрытие периода Закрытие периода v8::БУ v8::УФ БП3.0 БУ Абонемент ($m)

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

1 стартмани

24.07.2018    6915    9    woldemarr    0    

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

Свертка базы Зарплата Зарплата v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

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

5 стартмани

11.07.2018    19439    158    Bortkevich    27    

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

Свертка базы Чистка базы v8 УПП1 Россия Абонемент ($m)

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

1 стартмани

28.06.2018    12511    11    abadonna83    7    

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

Свертка базы Обработка документов v8 v8::БУ БП3.0 Абонемент ($m)

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

2 стартмани

16.04.2018    10866    78    insurgut    19    

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

Свертка базы v8 v8::БУ БП2.0 Абонемент ($m)

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

1 стартмани

31.01.2018    13123    140    DENSKR    6    

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

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

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

2 стартмани

12.12.2017    13900    32    IvanovAV    7    

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

Свертка базы Чистка базы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.11.2017    11270    21    succub1_5    2