Свертка базы SQL + Альтернативный контроль удаления помеченных

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

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

Свертка базы 1с 8.1, 8.2, 8.3 (может использовать прямые запросы к MSSQL, PostgreSQL). Сворачивает документы, регистры накопления, сведений, бухгалтерии (но не регистры расчета). Универсальна, подойдет к любой конфигурации (обратите внимание на известные ограничения). Включает в себя нестандартный быстрый контроль удаления помеченных объектов и удаление помеченных объектов прямыми запросами. Поставляется с исходными кодами.

Обработка "Свертка базы SQL" позволяет:

1. а) Свернуть данные по регистрам (накопления, сведений, бухгалтерии) на определенную дату.
При этом создаются документы "Ввод остатков свертка базы SQL" с начальными остатками, документы до этой даты помечаются на удаление, движения регистров, итоги и агрегаты до этой даты удаляются. При пометке на удаление документов и удалении движений, итогов, агрегатов регистров могут использоваться прямые запросы к SQL серверу (для ускорения процесса).

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

* Данные по регистрам расчета данной обработкой не сворачиваются!

* Таблицы Регистрации изменений для регистров (по планам обмена) могут быть либо полностью очищены при свертке либо незатронуты вообще (флаг на закладке Описание).

* При использовании разделения данных с помощью общих реквизитов:
1) Независимо и совместно - чистка помеченных работает, свертка не работает!
2) Независимое разделение - чистка помеченных не работает, свертка не работает!
3) Не использовать - чистка помеченных работает, свертка работает.

* Для выполнения свертки в базу необходимо добавить документ "Ввод остатков свертка базы SQL" и сделать его регистратором всех регистров накопления, сведений, бухгалтерии, он поставляется в .cf файле вместе с обработкой.
(При объединении с .cf файлом отключите все флажки кроме Документов)
Данный документ позволит ввести остатки по регистрам накопления, сведений и бухгалтерии на дату свертки. Если такой документ в базе отсутствует, обработкой можно будет воспользоваться для удаления помеченных объектов и/или для дефрагментации индексов, пересчета статистики.

* Перед запуском свертки важно указать какие документы и регистры нельзя сворачивать!
Например, документы, к которым есть запросы с ключевым словом "Первые" не рекомендуется сворачивать.

* Перед запуском свертки на рабочей базе - протестируйте на копии, сверьте остатки.

2. Удалить с контролем целостности все помеченные объекты. Предоставляется возможность выбора:

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

- альтернативный контроль целостности со стандартным 1с удалением объектов - контроль очень быстрый (особенно под 8.2, в том числе в режиме совместимости с 8.1), а удаление по 1000 объектов в транзакции, что быстрее нежели первый вариант;

- альтернативный контроль целостности с удалением прямыми запросами к SQL серверу,
пакетами по 50000 строк - самый быстрый вариант (внимание, при этом не будут вызваны события связанные с удалением объектов - ПередУдалением, ПриУдалении и т.п., и в планах обмена не будут отражаться операции удаления).

3. Просмотреть какие объекты стали причной запрета удаления при альтернативном контроле целостности,
какие поля и/или движения этих объектов стали причиной запрета, с возможностью открыть эти объекты по ссылке.

4. Усечь файлы базы данных SQL после массовых удалений (прямые запросы к SQL серверу).

5. Перестроить либо дефрагментировать индексы (в зависимости от степени фрагментации),
пересчитать статистику, сбросить кэш плана запросов для данной базы (прямые запросы к SQL серверу).
Имеется возможность перестроить индексы в то время как с базой работают пользователи (MSSQL 2005 и выше).

Основные цели свертки:
- Уменьшение размера информационной базы. 
- Увеличение скорости резервного копирования информационной базы и регламентных операций - пересчет статистики, индексов. 
- Возможно некоторое увеличение скорости работы базы, например за счет того, что таблицы и индексы лучше смогут помещаться в оперативной памяти, и уменьшится количество обрабатываемых SQL сервером строк при соединениях таблиц в запросах, для случаев когда SQL сервер не может использовать индексы.

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

* Для выполнения прямых запросов понадобятся драйвера ODBC для соответствующего сервера баз данных.
Для MSSQL они обычно входят в поставку. Для PostgreSQL их можно найти тут: http://www.postgresql.org/ftp/odbc/versions/msi/

* Поддерживаются 1с 8.1, 8.2 (в режиме совместимости 8.1), 8.2 (без режима совместимости). Управляемые формы не используются.

* Автору не удалось потестировать обработку на свертке агрегатов регистров оборотов, в регистрации изменений (для планов обмена) операции, выполняемые прямыми запросами, не регистрируются.

Подробнее смотрите в описании самой обработки (по F1).

=============================================

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

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

=============================================

Техподдержка

Бесплатная техподдержка (консультации через сообщения на infostart.ru, skype) в течение 30 дней. После - платная 6500 руб. в час.

=============================================

Обновление от 2017-09-12 02:40 мск. Версия 1.2.13

* Версия под 1С 8.3.10.
** MSScriptControl.ScriptControl необязателен.

Обновление от 2013-04-08 23:59 мск. Версия 1.2.12

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

Обновление от 2013-03-21 20:00 мск. Версия 1.2.11

* Исправлены обнаруженные ошибки
**при альтернативном контроле целостности возникала ошибка с прерыванием обработки в том случае если в конфигурации имелись планы счетов с не пустым видом субконто и максимальным количеством видов субконто = 0. 
**при вводе остатков по регистру бухгалтерии без корреспонденции, или с планом счетов, у которого не задан вид субконто или максимальное количество видов субконто = 0 возникала ошибка с прерыванием обработки.

Обновление от 2013-03-12 14:00 мск. Версия 1.2.10

* Исправлены обнаруженные ошибки:
**при альтернативном контроле целостности в некоторых случаях допускалось удаление помеченных объектов на которые имелись ссылки. Для исправления обработки СверткаБазыSQL требуется заменить в модуле формы процедуру "внОбработатьНепомеченные" на её исправленную версию: https://dl.dropbox.com/u/49134062/Procedure_ProcessNotMarked.zip

Обновление от 2013-03-05 15:00 мск. Версия 1.2.9

* Исправлены обнаруженные ошибки:
**при формировании документов ввода остатков в некоторых редких случаях вводились некорректные данные. Для того, чтобы проверить возникла ли ошибка на Ваших данных и получить рекомендации по исправлению данных и кода обработки СверткаБазыSQL, рекомендуется скачать специальную обработку по ссылке: https://dl.dropbox.com/u/49134062/CheckDocsMadeBySvertkaBasySQL.zip

Обновление от 2013-03-01 17:00 мск. Версия 1.2.8

* Исправлены обнаруженные ошибки:
**при соединении с MSSQL игнорировались имя и пароль - использовалась Windows аутентификация (теперь добавлен флаг отключающий Windows аутентификацию)

=============================================

Copyright © 2012-2013 Тарасенков Александр

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

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

Наименование Файл Версия Размер
Свертка базы SQL + Альтернативный контроль удаления помеченных - Без использования прямых запросов
.zip 415,15Kb
12.09.17
708
.zip 415,15Kb 708 Скачать бесплатно
Инструкция к обработке СверткаБазыSQL
.zip 109,98Kb
12.09.17
511
.zip 109,98Kb 511 Скачать бесплатно
12.09.2017
1.2.13 70 6500 руб.

Моментальная
доставка

12.09.2017
0 6500 руб.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. diarki 14.06.12 10:02 Сейчас в теме
3. TSSV 14.06.12 14:24 Сейчас в теме
Пару лет назад пришлось обрезать довольно большую базу и критичным было как раз время на эту операцию, так как работу фирмы останавливать было нельзя. В итоге за выходные операция не завершилась и пришлось в обрезанную базу догружать данные, которые пришлось продолжить вводить в старую... Так что вопрос скорости обработки актуален, автору плюс!
4. eeeio 116 15.06.12 16:52 Сейчас в теме
строка 3909 - жалуется на отсутствие у значения метода Типы(). Причина в том, что в запросе выбираются каталоги планов видов характеристик, у которых свойство ТипЗначения = null.
5. Техподдержка 15.06.12 23:03
(4) eeeio, спасибо поправлю.

В этой версии, кажется, еще одна ошибка закралась - итоги по оборотным регистрам очищаются, но не пересчитываются - поправлю на след.неделе, а пока рекомендация - после свертки - программно для каждого оборотного регистра вызвать ПересчитатьИтоги().
25. Const885 03.07.12 14:15 Сейчас в теме
скачано сегодня , вот полный текст
03.07.2012 16:13:34 - Обработка начата
адо команда: alter database [Trade1] set recovery simple;
адо запрос: SELECT offset from _YearOffset
адо команда: drop table #DoNotMarkDocs
адо команда: create table #DoNotMarkDocs (_IDTRef binary(4), _IDRRef binary(16))
адо команда:
insert into #DoNotMarkDocs with(tablockx, holdlock)
select distinct _RecorderTRef as _IDTRef, _RecorderRRef as _IDRRef from _InfoRg6585 with (nolock);
адо команда: create index DoNotMarkDocsInd ON #DoNotMarkDocs (_IDTRef, _IDRRef)
адо команда: update statistics #DoNotMarkDocs
адо запрос: select count(*) from _Document99 as tb1 with (nolock) left outer join (select _IDRRef from #DoNotMarkDocs with (nolock) where _IDTRef=0x00000063) as tb2 on tb1._IDRRef = tb2._IDRRef where (_Date_Time <= '4011-12-31 23:59:59') and tb2._IDRRef is null and _Marked = 0x00
ABCКлассификацияПокупателей (_Document99) ... ошибка получения числа записей для пометки на удаление документа...
адо запрос: select count(*) from _DocumentJournal6015 as tb1 with (nolock) left outer join (select _IDTRef, _IDRRef from #DoNotMarkDocs with (nolock) where 1=1 ) as tb2 on tb1._DocumentTRef = tb2._IDTRef and tb1._DocumentRRef = tb2._IDRRef where (_Date_Time <= '4011-12-31 23:59:59') and tb2._IDRRef is null and _Marked = 0x00
ДокументыКонтрагентов (_DocumentJournal6015) ... ошибка получения числа записей для пометки на удаление документа в журнале...
адо команда: drop table #DoNotMarkDocs;
03.07.2012 16:13:57 - Обработка завершена
6. mikhailv 18.06.12 11:14 Сейчас в теме
Нарушение лицензионного соглашения 1С (модификация данных не средствами 1С) + настоящий кошмар для параноика: а вдруг обработка сделала что-то, что пропустили при выверке, но потом убьет базу:)?

Больше понравилась другая идея: отказа от свертки.
http://infostart.ru/public/94040/
86. user711233_m9039007585 16.09.17 08:52 Сейчас в теме
(6)цели свертки бывают разные..
7. eigen20 18.06.12 23:32 Сейчас в теме
Отличная идея и разработка, как будут деньгги обязательно скачаю. А то был опыт в обрезке больших sql-ных баз и к сожелению только негативный :((. И стандартная свертка с диска итс работает только на идеальных базах чего в жизни не бывает в принципе.
8. Техподдержка 21.06.12 17:11
Нашел, еще одну некритичную ошибку текущей версии - при свертке ломаются текущие итоги (т.е. остатки после периода рассчитанных итогов) по сворачиваемым регистрам накопления и бухгалтерии, на подходе версия без пересчета итогов, а пока рекомендация - после свертки - программно для каждого сворачиваемого регистра накопления и бухгалтерии вызвать ПересчитатьТекущиеИтоги().
9. Техподдержка 22.06.12 19:05
Бывает, что свертку желательно запускать только после создания бэкапа базы, а бэкап выполняется батником по расписанию.
В таком случае также по расписанию можно запустить и свертку.

Предварительно Функцию ФормыЗапуска нужно сделать экспортной: ИспользоватьПрямыеЗапросыSQLПриИзменении(Элемент) Экспорт
Саму обработку встроить в базу.
В обработке заполнить закладки НулевыеСчета, НеСворачивать и сохранить в файл "C:\свертка.ini".

Вот пример кода запуска обработки из процедуры ПриНачалеРаботыСистемы():

Если ПараметрЗапуска = "СверткаБазы" тогда
	Обработка = Обработки.СверткаБазыSQL.Создать();
	фм = Обработка.ПолучитьФорму("ФормаЗапуска");
	фм.Открыть();
	фм.ТипСервера_SQL = "MSSQLServer";
	фм.ИспользоватьПрямыеЗапросыSQL = Истина;
	фм.ИспользоватьПрямыеЗапросыSQLПриИзменении(0);
	фм.ИмяБД_SQL = "svertka_test";
	фм.ИмяСервера_SQL = "srv2012";
	фм.ИмяПользователя_SQL = "sa";
	фм.ПарольПользователя_SQL = "sapassword";
	фм.ДатаСверткиИБ = '20111231235959';
	фм.ИспользоватьБалкИнсерт = Истина;
	фм.ИмяФайлаЗагрузкиBULK = "C:\udalenie.txt";
	фм.ИмяФайлаВыгрузкиBULK = "C:\udalenie.txt";
	//фм.ВыводитьСообщенияЗамеровПриКонтролеЦелостностиИУдалении = Истина;
	фм.ДляНеудаляемыхПоказатьПричины = Ложь;
	//фм.ПоискПомеченныхПрямымиЗапросами = Истина; 
	//фм.МонопольныйРежим = Ложь; 
	фм.ПрочитатьНастройки("C:\свертка.ini");
	фм.КнопкаВыполнитьНажатие(0);

	ЗавершитьРаботуСистемы();
КонецЕсли;
Показать

Пример батника (.vbs) запуска свертки /RunModeOrdinaryApplication - для 8.2 - обычное приложение, без управляемых форм, для 8.1 убрать
LogPath = "/OutR:\log_svertki.txt -NoTruncate"
one1CPath = """%systemdrive%\Program Files (x86)\1cv82\common\1cestart.exe""" 
Paramters = "ENTERPRISE /Slocalhost\svertka_test /NИмя /PПароль /DisableStartupMessages /CСверткаБазы /RunModeOrdinaryApplication"
Set fs = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run one1CPath & " " & Paramters& " " & LogPath& " ", 1, True
Пример батника (.vbs) для бэкапа
BackupPath = "/DumpIB С:\arc1c_.dt"
LogPath = "/OutC:\log_arc1c.txt -NoTruncate"
one1CPath = """%systemdrive%\Program Files (x86)\1cv82\common\1cestart.exe""" 
Paramters = "CONFIG /Slocalhost\svertka_test /NИмя /PПароль /DisableStartupMessages /RunModeOrdinaryApplication"
Set fs = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run one1CPath & " " & Paramters& " " & LogPath & " " & BackupPath, 0, True
10. shmpart 23.06.12 15:52 Сейчас в теме
Не получается сделать свертку. Вот что пишет.


{Форма.ФормаЗапуска.Форма(1081)}: Ошибка при вызове метода контекста (Записать)
НаборЗаписей.Записать();
по причине:

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.НастройкаПравДоступа.Модуль(278)}: Ошибка при получении значения атрибута контекста (ГраницыЗапретаИзмененияДанных)
НаборЗаписей.Записать();
по причине:
Попытка получения неинициализированного значения параметра сеанса

Документ сделал регистратором для всех регистров. Движения никакие не формировал конструктуром.
Как мне кажется, это из-за даты запрета изменения данных, она стоит 01.01.2010. Но каким боком оно там?
+ при попытке изменить её в бухе выскакивает сообщение

{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(67)}: Ошибка при вызове метода контекста (Записать)
Набор.Записать();
по причине:

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.ПроцедурыОбменаДаннымиПоОрганизации(1183)}: Ошибка при получении значения атрибута контекста (НаличиеОбменаДаннымиПоОрганизации)
Набор.Записать();
по причине:
Попытка получения неинициализированного значения параметра сеанса
11. Модератор раздела artbear 23.06.12 16:22 Сейчас в теме
(0) Интересная обработка.
Вопрос: документ "Корректировка записей регистров" совпадает с типовым документом от 1С ? или все-таки отличается?
13. Техподдержка 23.06.12 16:53
(11) artbear, документ приложенный к обработке - основан на документе КоррекировкаЗаписейРегистровНакопления из типовой 2008 года (для Украины), в нем добавлен реквизит Счет - ПланСчетовСсылка, доработаны функция настройки перечня регистров, и функция заполнения закладок для поддержки и регистров сведений и регистров бухгалтерии, остальные функции убраны. Для работы обработки достаточно либо иметь/добавить реквизит Счет для документа "КорректировкаЗаписейРегистров" (если такой уже есть), или же убрать его заполнение из обработки (ищите в коде ".Счет = "). Реквизит счет был добавлен для последующего удобного просмотра и редактирования документа.

(12)(10) просьба, если кто-то пробовал сворачивать, делиться информацией, если не секрет, версия типовой конфигурации или на какой основана, размер базы в Гб до и после свертки, время свертки. Если не удалось, сообщите какие ошибки и если они не в обработке, и хотите, чтобы заработало, выложите или пришлите .CF файл конфигурации.

--
Для сравнения, сворачивал базу не типовую, с 20 гиг до 10 гиг за 40 минут со сжатием и переиндексацией, из них 5 минут ушло на удаление 280 тыс помеченных (из 296 тыс) с контролем целостности.
14. Техподдержка 25.06.12 12:46
(11) upd: в документ "КорректировкаЗаписейРегистров" были добавлены также табличные части: ТаблицаРегистровСведений, ТаблицаРегистровБухгалтерии, они также нужны для работы обработки. Поэтому, если документ с таким именем уже есть, и вы не хотите его ломать, то в конфигурации желательно сделать отдельный вид документа для СверткиБазыSQL, для этого нужно переименовать документ "КорректировкаЗаписейРегистров" в прилагаемом к обработке .CF файле допустим в "КорректировкаЗаписейРегистровСверткаБазыSQL", после чего встраивать документ в вашу конфигурацию, а также найти и заменить "КорректировкаЗаписейРегистров" на "КорректировкаЗаписейРегистровСверткаБазыSQL" в модуле формы "ФормаЗапуска" обработки.
15. Модератор раздела artbear 25.06.12 15:52 Сейчас в теме
(14) Из-за подобных сильных изменений в документе "КорректировкаЗаписейРегистров" предлагаю сразу поправить cf-файл и файл самой обработки на использование документа "КорректировкаЗаписейРегистровСверткаБазыSQL"
12. Модератор раздела artbear 23.06.12 16:22 Сейчас в теме
Кто-нибудь, кроме автора, выполнял свертку через сабж?
16. ghostishe 287 25.06.12 16:12 Сейчас в теме
Не открывается вообще. Продублированы 1Сные процедуры 1-в-1 (что является нарушением лицензии 1С). (Проверял твою обработку на УПП 1.2) Автор, переименуй, пожалуйста, свои процедуры, чтобы они не пересекались с 1Сными из модулей типовых конфигураций.
P.S. По поводу лицензии, задавал этот вопрос в поддержку инфостарта когда-то. Хотел допилить регистрацию СФ на аванс в БУХ-ИИ и сделать ее внешней обработкой. Мне запретили. Пришлось создавать внешней подключаемой обработкой табличных частей.

Текст ошибки на всякий случай:
{Форма.ФормаЗапуска.Форма(1605,11)}: Процедура или функция с указанным именем уже определена (ПроверитьНомерДокумента)
Процедура <<?>>ПроверитьНомерДокумента(ДокументОбъект, НачальнаяДатаДокумента) Экспорт
17. ghostishe 287 25.06.12 16:25 Сейчас в теме
Допилил проблему с пересечением процедур. Выскочила новая ошибка.


{Форма.ФормаЗапуска.Форма(1168)}: Ошибка при вызове метода контекста (ConnectAgent)
СоединениеСАгентомСервера = COMСоединитель.ConnectAgent(ИмяСервера1с);
по причине:
Произошла исключительная ситуация (V82.COMConnector.1): descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=557 file=Src\RemoteCreatorImpl.cpp


С сервером у нас все в порядке. 200 с лишним пользователей работают без проблем. СОМ-соединения с другими базами тоже четко отрабатываются. Я готов обработку протестировать для всех на базе в 140гиг. Готов выложить отчет, но, увы, она у меня даже не открывается. Автор, разберись, пожалуйста. Оценок пока ставить не могу (ни хороших, ни плохих), ибо не могу даже открыть.
18. ghostishe 287 25.06.12 16:49 Сейчас в теме
Допилил. Открыл. Прописал параметры соединения. Запустил...

{Форма.ФормаЗапуска.Форма(5340)}: Ошибка при вызове метода контекста (НайтиПомеченныеНаУдаление)
масПомеченные = НайтиПомеченныеНаУдаление();
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.


Учетка SQL - админская, учетка 1С, под которой запущена обработка, - полные права. Пока автор не отпишется и не устранит чудеса, допиливать не буду больше. =)
Во избежание лишних предположений прикладываю скриншот проверки подключения (выскакивает окно Windows, о чем автору рекомендую упомянуть в инструкции)
Прикрепленные файлы:
19. Техподдержка 25.06.12 17:38
(18) Непонятно работают ли личные сообщения. Продублирую тут. "НайтиПомеченныеНаУдаление" - стандартная процедура 1с-ная, могу только предположить, что к некоторым таблицам нет прав на чтение или нет каких-то административных прав. Попробуйте на закладке УдалениеПомеченных включить флаг "Поиск помеченных прямыми запросами" - тогда хотя бы прогресс будет выводить и споткнется именно на той таблице к которой недостаточно прав.
20. Техподдержка 26.06.12 19:07
В последнем обновлении замечена ошибка - не активизированы документы ввода остатков по регистрам сведений. - скоро исправлю, а пока активизируйте вручную... (войти в документ ввода остатков нажать кнопку активизации движений)
21. Техподдержка 29.06.12 16:14
Хочу сказать о некоторых ограничениях и особенностях обработки текущей версии (1.2.2 - 1.2.5):
1. Механизмы обмена и распределенные базы. - при использовании прямых запросов полноценная поддержка механизмов обмена не реализована.

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

- при пометке документов на удаление, данные в таблицах регистрации не затрагиваются, а по логике в них должны создаваться записи о пометке на удаление документов - для их переноса по плану обмена.

- при чистке помеченных объектов, данные из таблиц регистрации изменений полностью удаляются, а по логике в них должны создаваться записи об удалении объектов - для их переноса по плану обмена (так ли это?).

Итог: при использовании механизмов обмена, информация об удалении, пометке на удаление данных не будет передана в другие узлы по планам обмена. Соответственно, если из другого узла пришлют данные об изменении какого-либо удаленного объекта возможно либо воссоздание объекта, либо возникновение коллизий.

2. Разделение данных с помощью общих реквизитов.
1) Независимо и совместно - чистка помеченных работает, свертка не работает.
2) Независимое разделение - чистка помеченных не работает, свертка не работает.

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

2) Для каждого набора разделителей нужно создавать отдельные документы ввода остатков (при свертке данных разделенных совместно в множество наборов разделителей должны быть добавлены наборы с пустым совместным разделителем). И, возможно, некоторые наборы разделителей не должны сворачиваться, так как представляют из себя различные организации к примеру. Т.е. необходима возможность выбора наборов разделителей по которым необходимо сворачивать базу. И затем итеративно подставляя в параметры сеанса тот или иной набор проводить свертку, а при использовании прямых запросов придется добавить условия на поля разделителей.

3) При независимом разделении контроль удаления помеченных можно разрешить проводить, но только в том случае, когда из разделенных данных не может быть ссылок на неразделенные. Либо считать такие неразделенные объекты неудаляемыми. Как вариант для полного контроля можно переписать его на прямые запросы (сработает контроль сразу для всех разделителей), либо проверять наличие ссылок из разделенных данных на неразделенные для каждого набора разделителей.

3. Внешние источники данных и контроль удаления помеченных.
Внешние источники данных не могут содержать ссылок на объекты конфигурации. Но они, как и другие объекты конфигурации могут хранить уникальные идентификаторы на ссылки или другим способом хранить ссылки. Для таких случаев контроль целостности не работает, т.е. не видит этих ссылок, и для объектов на которые ссылаются нестандартным способом удаление не будет запрещено.

4. Поддерживаемые серверы баз данных.
Прямые запросы поддерживаются для MSSQL и PostgreSQL, при необходимости можно добавить поддержку прямых запросов и для других серверов. Есть ли такая необходимость?

new 2012-08-08
5. Стандартный контроль удаления помеченных после свертки лучше не использовать.
Если при свертке стоял запрет на свертку некоторых регистров, а на документы которые вносили движения в этот регистр запрет не стоял - то возникнет ситуация, что эти документы до даты свертки будут помечены на удаление, но у них будут движения.
- При стандартном контроле такие документы могут быть удалены, причем вместе с движениями!
Поэтому в дальнейшем либо используйте альтернативный контроль удаления помеченных, либо снимите пометку удаления с таких документов, чтобы стандарный контроль их не удалил, (* осторожно, при снятии пометки на удаление движения могут быть удалены, если это запрограммировано в вашей конфигурации).
22. Gandalf Белый 30.06.12 16:26 Сейчас в теме
Большое спасибо! Очень интересная и полезная обработка!
tarasenkov; +1 Ответить
23. Const885 03.07.12 10:54 Сейчас в теме
Попытался использовать вашу обработку на УТ 10.3.10.4 8.2.15.301 MSSQl
не метит документы на удаление, пишет :"ошибка получения числа записей для пометки на удаление документа" и вылетает очень быстро
24. Техподдержка 03.07.12 12:29
(23) в одной из промежуточных версий была ошибка, но она вскоре была исправлена, проявлявшаяся как раз при пометке на удаление документов...

Попробуйте скачать последнюю версию (от 2012-06-27 17:30мск)
30. Техподдержка 09.07.12 11:55
Есть информация о том, что обновление 1.2.3 победило ошибку описанную в комментариях: (23), (25), (28)
26. Const885 03.07.12 14:28 Сейчас в теме
если убрать галочку прямых запросов , то метит на удаление , но до этого надо поставить эту галочку , чтобы появился пользователь и пароль , потом он их запоминает и метит, но только, как мне кажется, уже в не прямом запросе.
27. ПиН 03.07.12 14:31 Сейчас в теме
была такая на 7.7, один раз очень помогла на базе 20 гигов...
28. Const885 03.07.12 17:50 Сейчас в теме
колонки таблиц из Manadgment Studio
Прикрепленные файлы:
29. Техподдержка 05.07.12 12:12
Можно не качать обновление 1.2.3 от 2012-07-05 11:30 мск, а добавить код в модуль Формы Запуска:
- в строку 4014 вставить:
	// Установка формата даты для соединения
	Если ИспользоватьПрямыеЗапросыSQL и адоСоединение <> Неопределено Тогда
		Если ТипСервера_SQL = "MSSQLServer" Тогда
			адоВыполнитьКоманду("set dateformat ymd");
		ИначеЕсли ТипСервера_SQL = "PostgreSQL" Тогда
			адоВыполнитьКоманду("set datestyle = 'ISO, YMD'");
		КонецЕсли;
	КонецЕсли;
31. salex2002 18.07.12 06:35 Сейчас в теме
на файловой КА спотыкается на пометке на удаление документов - как отловить?
32. salex2002 18.07.12 06:37 Сейчас в теме
И еще вопрос - по умолчанию свертка стоит на 31-12-11 23:59:59. Почему документы ввода остатков формируются 01-01-12 ?
33. Техподдержка 18.07.12 13:04
(32) salex2002, таков алгоритм - сперва создаются документы остатков на 01.01.12 с неактивными движениями, затем производится удаление движений по конец дня 31.12.11 включительно, затем документы остатков переносятся в конец дня 31.12.11 и движения активизируются.

(31) ответил в личку
34. realm 27.07.12 04:17 Сейчас в теме
Судя по описанию - обработка очень и очень "юзабельна". Вот только из описания же следует один не очень приятный момент. Дело в том, что согласно лицензионному соглашению по использованию программ 1С предприятия, нельзя использовать недокументированные способы обращения к данным минуя механизм использования данных 1С (если нет прямой рекомендации обратного). Конечно, обходной манёвр в виде упоминания, что "(может использовать прямые запросы к MSSQL, PostgreSQL)" предполагает использование прямых запросов что называется на свой страх и риск. Однако, ведь тут собрались сторонники лицензионного ПО, не так ли? :) Так что будьте аккуратны.
35. Техподдержка 27.07.12 11:27
(34) realm, К примеру, "альтернативный контроль удаления помеченных" не использует прямые запросы, и работает при большом количестве помеченных объектов многократно быстрее "стандартного контроля", можете его использовать не боясь нарушить лицензионное соглашение.

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

Еще хочу сказать, что 1с не без косяков и в документированных способах обращения к базе, из-за чего в обработке выполнен ряд костылей для обхода багов 1с.
36. SpartakM 65 02.08.12 15:49 Сейчас в теме
{Форма.ФормаЗапуска.Форма(1524)}: Ошибка при вызове метода контекста (Open)
RS.Open(Текст, Соединение);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Неправильный синтаксис около "=".
Ошибка во время исполнения..
как причину найти?
37. Техподдержка 02.08.12 16:44
(36) SpartakM, на закладке "Описание" включите флаг "Выводить текст прямых запросов для отладки"
38. SpartakM 65 02.08.12 16:58 Сейчас в теме
40. SpartakM 65 07.08.12 14:13 Сейчас в теме
Супер обработка.
базу 120гб, свернула за 6-7ч.
Автору респект. Помог разобраться с некоторыми непонятными вопросами. Поддержка вообще на уровне.
Спасибо тебе огромное.
tarasenkov; +1 Ответить
41. www2007 28.10.12 09:54 Сейчас в теме
Отличная разработка!
Сворачиваю комплексную 8.2,в файловом варианте, после свертки не проводятся документы в табличной части которых есть ссылка на счета бухгалтерского и налогового учета, так как они банально исчезли( счета из табличной части).
Регистры сведений , откуда берутся данные по умолчанию,остались без изменений, т.к. не периодические.
Новые документы значений по умолчанию не видят и автоматом не заполняются.
Если в курсе, в чем может быть причина, подскажите пожалуйста.

Еще выдает ошибку в процессе активизации ввода остатков:
{Форма.ФормаЗапуска.Форма(5642)}: Ошибка при вызове метода контекста (Записать)
ДокОбъект.Движения[ТекРегистрДвижений.Имя].Записать(Истина);
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.РаботаСОбщимиПеременнымиПовтИсп.Модуль(84)}: Ошибка при вызове метода контекста (Получить)
ДокОбъект.Движения[ТекРегистрДвижений.Имя].Записать(Истина);
по причине:
В данной транзакции уже происходили ошибки!

После повторного нажатия кнопки "Выполнить" продолжает работать.
42. Техподдержка 06.11.12 17:40
Есть информация, о том, что в последнем обновлении от 2012-11-01 13:30 мск. Версия 1.2.6 внесены изменения в обработку свертки, которые позволили свернуть базу из комментария (41) без ошибок.
43. www2007 08.11.12 22:58 Сейчас в теме
Замотался совсем, до комментариев добрался только сейчас.
Александр, огромное Вам спасибо за помощь и поддержку!
Все вопросы были решены с потрясающей оперативностью и положительным результатом.
Еще раз спасибо!!!
tarasenkov; +1 Ответить
44. proger1c81 10.11.12 01:01 Сейчас в теме
Я тоже повторюсь и скажу, что обработка суперская. Мне помогла быстро свернуть базу в файловом режиме.
платформа - 8.1
конфа - УПП 1.2.15.4 типовая
пусть и старенькая версия, но суть не в этом.
У меня вопросы к разработчику остались открытыми:
1. Не могу понять для чего в свернутом регистре накопления ПартииТоваровНаСкладах переходящий остаток разбит на несколько строк со знаком "-" и со знаком "+" (вид движения Расход и Приход)?
2. Поле ДокументОприходования заполняется старым документом партии, который хотелось бы тоже удалить из базы.
3. Регистры накопления ПартииТоваровНаСкладах и ТоварыНаСкладах связаны между собой тесно. Не знаю как у моих юзеров (юзЗверей) получилось сделать так, что Конечные или Начальные остатки (количественные значение) по некоторым номенклатурам разнятся на граммы.

Предложение к разработчику: сделать так, чтобы в свернутом регистре накопления ПартииТоваровНаСкладах была только одна строчка с видом движения Приход для одной номенклатуры и склада, а поле ДокументОприходования была заполнен ссылкой на сам себя, т.е. документ "Ввод Остатков свертка базы SQL". И если это возможно, в окно сообщений выводить проблемные номенклатуры, у которых КонечныйОстаток по регистру ПартииТоваров не равен КонечномуОстатку из ТоваровНаСкладах и к примеру в автоматическом режиме записывал в Регистр ТоварыНаСкладах конечныйОстаток правильный из регистра ПартииТоваров.
45. Техподдержка 12.11.12 14:09
(44) proger1c81,
Спасибо за отзыв!
1. Для всех регистров накопления, остаток разбит на приход и расход, если остаток не нулевой. Т.к. в некоторых случаях/конфигурациях требуются данные о приходах и расходах, а не только об остатке. Если подобных строк несколько значит отличаются измерения.
2. и 3. Цель обработки свернуть данные без потерь аналитики (данных в разрезе измерений). В данном случае могу порекомендовать написать отдельную обработку, которая бы очищала ссылки на "старые" документы партии, и/или перебивала их на новые документы "ввода остатков".

Проведение анализа корректности существующих данных в "конкретных" регистрах отдельных конфигураций также не входит в цель данной разработки, такой функционал не планируется.
46. realm 10.01.13 07:07 Сейчас в теме
Хелп. После пометки документов на удаление (движения уже отсутствовали) база стала дико тормозить при проведении документов. Явно тормоза происходят при работе с регистрами. Может ли кто-нибудь что-то подсказать? Полный пересчет итогов не помог.
47. Техподдержка 10.01.13 11:39
(46) realm, либо выгрузите в DT, загрузите из DT, либо выполните переиндексацию встроенными средствами 1с или средствами обработки.
48. realm 10.01.13 11:48 Сейчас в теме
(47) Спасибо за быстрый отклик
После танцев с бубном и с помощью добрых людей было установлено, что проблема оказалась в последовательностях. Они не подчищаются. Накопилось большое количество ссылок типа "объект не найден" и неактуальных (после свертки базы) данных в последовательности. При проведении документов, использующих последовательности, выполнялся какой-то дикий запрос к SQL с кучей соединений. Выполнение этого запроса и приводило к тому, что вместо проведения документа за несколько секунд, реально он проводился больше минуты. Соответственно вываливались блокировки и транзакции.
49. Техподдержка 10.01.13 17:21
(48) realm, скажите, "Накопилось большое количество ссылок типа "объект не найден"" - после свертки или до нее?
Смотрю по коду обработки свертки - последовательности должны очищаться от удаляемых помеченных объектов.
Запускали ли Вы переиндексацию или выгрузку/загрузку после свертки?
// После массовых удалений необходимо запускать переиндексацию - иначе будут тормоза.
51. realm 11.01.13 11:18 Сейчас в теме
(49)
Сравнив таблицы в SQL, хранящие последовательности, ДО очистки движений документов и ПОСЛЕ, выяснилось, что при очистке последовательности не почистились.
Большое количество записей в последовательностях с "объект не найден" - это оказались пережитки прошлого. 160000 записей насобиралось.
Свертку базы делали в несколько этапов. Пометка документов на удаление была отложена на пару недель, после свертки итогов и очистки движений документов. Видимо так совпало, что база начала сильно тормозить после пометки документов на удаление. Просто количество косяков перевалило за критическую отметку и количество записей в таблицах последовательностей перевалило за 2 000 000.
Собственно, все ожило после удаления косячных ссылок и подчистке таблиц - последовательностей. Очистку таблиц последовательностей сделали непосредственно в SQL простым скриптом. За пару минут всё лишнее удалилось. Стандартными средствами 1С было бы больше суток.
Не смотря ни на что, обработка всё равно очень и очень помогла. Спасибо автору.
tarasenkov; +1 Ответить
50. proger1c81 11.01.13 00:25 Сейчас в теме
(48) realm,
кстати, с этим я тоже столкнулся... "проблема оказалась в последовательностях. Они не подчищаются. Накопилось большое количество ссылок типа "объект не найден" и неактуальных (после свертки базы) данных в последовательности." я решил эту проблему тоже с помощью стандартных проверок "Тестирование и исправление" и !!!обязательно!!! пересчет итогов!!! хотя итоги якобы были пересчитаны, но в инвентаризации полезли косяки. Повторюсь обработка классная. Предлагаю добавить в эту обработку еще инструкцию или предупреждение о подобных действиях обязательных, которые нужно выполнить после свертки базы. (для кого-то это возможно очевидно, а для кого-то не очень)
tarasenkov; +1 Ответить
52. Техподдержка 11.01.13 12:27
(50) proger1c81, По поводу пересчета итогов - уточните пожалуйста по поводу косяков (можно в личку, лучше в почту).
// В ранних версиях обработки был включен пересчет итогов и при сворачивании прямыми запросами и при сворачивании без использования прямых запросов, затем для прямых запросов был найден способ обойтись без пересчета итогов, а позже был найден способ обойтись без пересчета и без использования прямых запросов. Не проблема включить код обработки по пересчету итогов, но пересчет весьма затратная по времени процедура, поэтому хотелось бы разобраться с косяками, чтобы её избежать.

(51) realm, Последовательности в обработке чистятся при удалении помеченных объектов, причем только от тех документов, которые удаляются (если документ помечен на удаление, но его удалить нельзя из-за ссылочной целостности - то из последовательностей он не будет удален). Вы так и не ответили, запускалась ли переиндексация.

Если у вас есть идеи о том, как сворачивать последовательности (возможно по аналогии с регистрами?) буду рад выслушать.
53. proger1c81 04.02.13 19:38 Сейчас в теме
помогите, пожалуйста, разобраться.
Свернул данной обработкой на днях базу у клиентов, конфа УПП на SQL. Какая-то непонятная проблема появилась: Формирую анализ движения денежных средств или ведомость ден.средств (в принципе во всех отчетах эта проблема) и хочу вывести Дополнительное поле Комментарий в отчете для группировки Регистратор. Для пользователя с Полными правами это Дополнительное поле Комментарий выводится, а для других пользователей - не выводится :(
Глянул в базе до свертки - там для всех пользователей выводится в Отчете Дополнительное поле. Любые манипуляции, типа: тестирование и исправление (со всеми включенными галками), выгрузка и повторная загрузка, обновление индекса полнотекстового поиска не дали положительного результата.
Какие будут предположения? с таким я еще ни разу не сталкивался
55. Техподдержка 05.02.13 17:48
(53) proger1c81, Поле "Комментарий" имеется у документа "ВводОстатковСверткаБазыSQL", при встраивании документа все права на этот документ даются только роли "ПолныеПрава". Документ "ВводОстатковСверткаБазыSQL" теперь является регистратором для всех регистров, в т.ч. для регистра "ДвижениеДенежныхСредств".

Как вариант можете попробовать дать на документ "ВводОстатковСверткаБазыSQL" для роли "Пользователь" все права кроме интерактивного удаления (такие права есть у "документа КорректировкаЗаписейРегистров"), но для начала я бы ограничился только правами на Чтение, Просмотр, ВводПоСтроке.
54. Lordemar 5 04.02.13 23:35 Сейчас в теме
Спасибо за обработку! Будем тестить, а то база пухнет, нужно уже готовится к свертке, то и гляди, получим указ сверху
56. Техподдержка 22.02.13 17:37
Рабочий пример запуска удаления помеченных по расписанию (из "Назначенные задания") с помощью батника (udalenie.vbs).

Предварительно Функцию ФормыЗапуска нужно сделать экспортной: ИспользоватьПрямыеЗапросыSQLПриИзменении(Элемент) Экспорт

Пример кода запуска обработки из процедуры ПриНачалеРаботыСистемы():
Если Лев(ПараметрЗапуска,2)="УД" Тогда
	// Альтернативное удаление помеченных
	Обработка = Обработки.СверткаБазыSQL.Создать();
	Обработка.ТолькоУдалениеПомеченных = Истина;
	фм = Обработка.ПолучитьФорму("ФормаЗапуска");
	фм.Открыть();

	фм.ТипСервера_SQL = "MSSQLServer";
	фм.ИспользоватьПрямыеЗапросыSQL = Истина;
	фм.ИспользоватьПрямыеЗапросыSQLПриИзменении(0);
	фм.ИмяБД_SQL = "svertka_test";
	фм.ИмяСервера_SQL = "server";
	фм.ИмяПользователя_SQL = "admin";
	фм.ПарольПользователя_SQL = "password";
	//фм.ИспользоватьБалкИнсерт = Истина;
	//фм.ИмяФайлаЗагрузкиBULK = "C:\udalenie.txt";
	//фм.ИмяФайлаВыгрузкиBULK = "C:\udalenie.txt";
	фм.ДляНеудаляемыхПоказатьПричины = Ложь;
	фм.ПоискПомеченныхПрямымиЗапросами = Истина; 
	//фм.МонопольныйРежим = Ложь; 

	фм.КнопкаВыполнитьНажатие(0);

	ЗавершитьРаботуСистемы();		
КонецЕсли;
Показать

Пример батника запуска удаления помеченных:
rem /RunModeOrdinaryApplication - для 8.2 - обычное приложение, без управляемых форм, для 8.1 убрать
LogPath = "/OutC:\log_udaleniya.txt -NoTruncate"
one1CPath = """%systemdrive%\Program Files (x86)\1cv82\common\1cestart.exe""" 
Paramters = "ENTERPRISE /Slocalhost\svertka_test /NИмяПользователя1с /PПарольПользователя1с /DisableStartupMessages /RunModeOrdinaryApplication /CУД"
Set fs = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run one1CPath & " " & Paramters& " " & LogPath& " ", 1, True
57. Техподдержка 22.02.13 20:00
Господа, хотелось бы обсудить варианты свертки распределенных баз.
Распределенные базы могут обмениваться данными как с помощью .xml пакетов, сформированных обработкой "УниверсальныйОбменДаннымиXML" по правилам созданным в конфигурации "Конвертация", либо же при помощи "ПлановОбмена".

Я вижу такие варианты:
Вариант 1.
Свертка прямыми запросами во всех узлах параллельно с обнулением регистрации изменений.
Если есть доступ ко всем узлам, то можно сделать следующим образом (на практике не проверялось!):
1. Приостановить доступ к базам.
2. Провести финальный обмен пакетами данных об изменениях.
3. Сделать резервные копии всех узлов (баз).
4. На каждом узле запустить быструю свертку прямыми запросами с очисткой регистрации изменений.
Если существует ограничение по времени - то усечение файлов баз, и, возможно, переиндексацию, можно отложить на другой день
[5. Сделать резервную копию после свертки на всякий случай]
6. Установить запрет на создание движений(проводок) в свернутом периоде во всех базах, кроме как документом ВводОстатковСверткаБазыSQL, кроме того этот вид документов не должен входить в планы обмена.
7. Разрешить пользователям работать с базами и включить обмен пакетами данных об изменениях.
8. Если 1с работает неадекватно - например резкие тормоза, то можно выгрузить загрузить базу, или в ручную найти в SQL базе испортившийся индекс и пересоздать его (бывает REBUILD не помогает и нужно делать DROP/CREATE), или все индексы пересоздать.

Для того, чтобы свертка проходила параллельно можно создать батники (или vbs скрипты) и поставить их в "Назначенные Задания".

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

--
Возможно существуют и другие варианты - например удаление прямыми запросами с записью в "регистрацию изменений" событий об удалении и последующей выгрузке "изменений" через планы обмена на подчиненные узлы (насколько такой вариант реален?).

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

Пожалуй стоит сверстать отдельную статью на эту тему.
58. Техподдержка 06.03.13 19:00
С приcкорбием вынужден сообщить, что в версиях обработки СверткаБазыSQL, выпущенных, до 5 марта 2013 года обнаружена ошибка формирования документов ввода остатков, эта ошибка ведет в некоторых редких случаях к некорректным данным в документах ввода остатков.

Для того, чтобы проверить возникла ли ошибка на Ваших данных и получить рекомендации по исправлению данных и кода обработки СверткаБазыSQL, рекомендуется скачать специальную обработку по ссылке:
https://dl.dropbox.com/u/49134062/CheckDocsMadeBySvertkaBasySQL.zip

При возникновении технических вопросов, обращайтесь в личку/почту.
Прикрепленные файлы:
CheckDocsMadeBySvertkaBasySQL.zip
61. chernoff 12.03.13 16:59 Сейчас в теме
(58) Пичалька. Делал свёртку 08 марта. Делал версией от 16/11/12. Т.е. у меня все шансы нарваться. После свёртки визуально сравнил остатки с базой сохраненной до свёртки. Все шло до копейки. Проблема осложняется тем, что после свёртки и проверки остатков я сделал ТиИ по полной (включил все галки). Как мне теперь понять попал ли я на те редкие случаи?
62. Техподдержка 12.03.13 18:25
(61) chernoff,
1) для начала проверьте этой штукой остатки (сверяет по регистрам накопления с исходной базой): https://dl.dropbox.com/u/49134062/CheckDocsMadeBySvertkaBasySQL.zip

2) по удалению помеченных, понять коснулось ли Вас, можно так:
2.1) сделать копию обработки, внести в нее исправления (последних двух обновлений), при этом оставить и исходную версию.
2.2) поднять копию базы до свертки, свернуть её НЕисправленной версией обработки (но не делать удаление помеченных, сжатия и реиндексации).
2.3) запустить удаление помеченных БЕЗ удаления объектов, старой версией с сохранением в файл "oldver-candel.txt"
2.4) запустить удаление помеченных БЕЗ удаления объектов, новой версией с сохранением в файл "newver-candel.txt"
2.5) сравнить полученные файлы - если не отличаются значит ок, если отличаются значит удалилось лишнее.

3) Варианты исправления.
3.а) Как вариант с помощью конфигурации Конвертация можно создать правила обмена и попробовать выгрузить из исходной в свернутую эти удалившиеся объекты (сперва в тестовую копию).

Если ТИИ запускали с флагом "При наличии ссылок на несуществующие объекты"="Не изменять" или "Создавать объекты", то такая схема может пройти. Если = "Очищать ссылки" - то чревато потерей детализации.

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

3.в) Разработать хитрую обработку, которая автоматически выполнит пункты 2.3), 2.4) сравнит какие объекты удалились неправильно, по ним определит какие объекты и откуда на них ссылаются в исходной, свернутой правильной обработкой базе, воссоздаст эти объекты в текущей базе и воссоздаст ссылки на эти объекты из других объектов в текущей базе. Это в планах, посмотрим, что получится...
63. Техподдержка 12.03.13 19:03
(61) chernoff, вот варианты обработки, восстанавливающей битые ссылки из архива:
1) http://infostart.ru/public/92259/
2) http://infostart.ru/public/98973/
по идее должны исправлять ситуацию, если ТИИ запускали с флагом "При наличии ссылок на несуществующие объекты"="Не изменять". (пока не ясно восстанавливают ли объекты и движения, подчиненные удаленному).
64. realm 13.03.13 05:52 Сейчас в теме
(61) chernoff, Остатки у вас, скорее всего, должны быть верные. Некоторые элементы справочников могут оказаться "Объект не найден ...". Как вариант, лечится применением универсальной выгрузки в XML этих элементов справочников из "непорезанной базы" и загрузкой в "рабочую".
59. realm 11.03.13 04:08 Сейчас в теме
Приветствую.
Есть ещё один момент. По какой-то причине контроль ссылочной целости не всегда корректно работает. При выполнении удаления прямыми запросами с альтернативным контролем целостности у меня удалились элементы справочников, по которым есть остатки по бухгалтерским проводкам.
60. Техподдержка 12.03.13 12:58
(59) realm, Спасибо за сообщение (и за подробное описание места возникновения ошибки в личке), ситуацию удалось воссоздать, а обработку исправить.

При альтернативном контроле целостности в некоторых случаях допускалось удаление помеченных объектов на которые имелись ссылки. Для исправления обработки СверткаБазыSQL требуется заменить в модуле формы процедуру "внОбработатьНепомеченные" на её исправленную версию: https://dl.dropbox.com/u/49134062/Procedure_ProcessNotMarked.zip
Прикрепленные файлы:
Procedure_ProcessNotMarked.zip
65. chernoff 13.03.13 10:12 Сейчас в теме
Коллеги tarasenkov и realm, спасибо за помощь
В результате исследований обнаружилось что поплыл регистр Товары переданные (у меня УПП) в ситуации,
когда количество = 0, а сумма взаиморасчетов <> 0, как я понял.
Остатков немного - поправил в ручную
По удалению помеченных - меня это не коснулось.
Я после свёртки делал, как я уже говорил, ТиИ - никаких ошибок не было, да и визуально я ничего не вижу
В УПП ( но думаю, что и КА, а может еще где) есть проблема с регистром "Свободные остатки", т.к. в модуле набора регистров "Товары в резерве на складка", "Товары на складах", "Товары в рознице", "Товары к передаче со складов" ПередЗаписью вызывается ОбщегоНазначения.ВыполнитьДвиженияПоРегиструСвободныеОстатки()
Решил эту проблему добавив в указанную процедуру код
	Если ТипЗнч(Регистратор) = Тип("ДокументСсылка.ВводОстатковСверткаБазыSQL") Тогда
		// При изменении базовых регистров документом "Ввод остатков свертка базы SQL"
		// не выполняется автоматическое формирование движений по регистру
		Возврат;
	КонецЕсли; 


Автору отдельная благодарность - испытал удовольствие после свёртки от 1С
tarasenkov; +1 Ответить
66. validat 1 30.03.13 23:56 Сейчас в теме
Спасибо. Буду пробовать, но я только учусь, поэтому вопросов больше чем опыта и результатов.
67. Aletar 05.04.13 05:43 Сейчас в теме
Подскажите, пожалуйста, какие-то странности со сверткой бух. регистров. После свертки, оборотно-сальдовая ведомость операцию ввода остатков не разворачивает по субконто, + не работают отборы по субконто. Т.е. все суммы есть, но вот подробно не посмотреть. Более того, если из документа ввода остатков перейти в журнал проводок (Перейти->Журнал проводок) то там отбор по субконто тоже не будет работать, т.е. записи все есть, но вот если я сделаю отбор по субконто любой из этих записей, то отбор ничего не найдет. В консоли запросов тоже самое.

Исправляется только если убрать активность записей, пересчитать итоги бухгалтерских регистров и снова включить активность. Если активность не изменять, то эффекта нет.

Возможно ли это как-то исправить?
68. Техподдержка 06.04.13 02:45
(67) Aletar, при свертке прямыми запросами таблицы регистров очищаются до заданной даты включая её, для каждого движения по регистру бухгалтерии 1с создает несколько записей в таблице субконто - для каждого выбранного субконто, а в таблице движений хранит ссылки на созданные записи в таблице субконто. При создании документов остатков с выключенной активностью 1с скорее всего создает записи субконто, а вот при активизации и переносе в предыдущий день прямыми запросами движения переносятся, а вот записи субконто не перенеслись, т.к. их перенос не был предусмотрен, скорее всего это и является причиной такой "странности".

Постараюсь что-то придумать, чтобы и они переносились. В принципе, на начало дня после даты свертки все должно разворачиваться нормально, но там только остатки.
69. Техподдержка 08.04.13 00:21
(67) Aletar, решение следующее, правим код обработки как указано ниже и запускаем обработку еще раз, с теми же параметрами и той же датой, но запускаем только один этап - этап активизации остатков.

В модуле ФормыЗапуска, в функции ВыполнитьЭтап6(), в самом низу, перед кодом:
	КонецЕсли;

	Возврат Истина;
КонецФункции
вставляем код:
		// Таблицы Значений Субконто для регистра БухИтогов
		масТаблицыЗначенийСубконто = тзСтруктура.НайтиСтроки(Новый Структура("Назначение", "ЗначенияСубконто"));
		к = 0;
		квсего = масТаблицыЗначенийСубконто.Количество();
		Для каждого стрСтруктура из масТаблицыЗначенийСубконто Цикл
			ОбработкаПрерыванияПользователя();
			к = к + 1;
			
			// Периодичность = секунда
			стрПериодБыло = "("+ПолеПериод+" = '"+Формат(ДобавитьМесяц(ДатаСверткиИБ+1, СмещениеДат * 12), "ДФ='yyyy-MM-dd HH:mm:ss'")+"')";
			стрПериодСтало = ПолеПериод+" = '"+Формат(ДобавитьМесяц(ДатаСверткиИБ, СмещениеДат * 12), "ДФ='yyyy-MM-dd HH:mm:ss'")+"'";
			//
			
			// Поле типа регистратора может отсутствовать
			ПолеТипа = "";
			ПолеРегистратора = "";
			ПолеТипаРегистратора = "";
			Для каждого внПолеХранения из стрСтруктура.Поля Цикл
				Если Лев(внПолеХранения.ИмяПоляХранения, СтрДлина("_Recorder")) = "_Recorder" и Прав(внПолеХранения.ИмяПоляХранения, 4) = "RRef" Тогда
					ПолеРегистратора = внПолеХранения.ИмяПоляХранения;
				КонецЕсли;
				Если Лев(внПолеХранения.ИмяПоляХранения, СтрДлина("_Recorder")) = "_Recorder" и Прав(внПолеХранения.ИмяПоляХранения, 4) = "TRef" Тогда
					ПолеТипаРегистратора = внПолеХранения.ИмяПоляХранения;
				КонецЕсли;
				Если Лев(внПолеХранения.ИмяПоляХранения, СтрДлина("_Recorder")) = "_Recorder" и Прав(внПолеХранения.ИмяПоляХранения, 4) = "TYPE" Тогда
					ПолеТипа = внПолеХранения.ИмяПоляХранения;
				КонецЕсли;
			КонецЦикла;
			
			Состояние("Активизация остатков ["+к+"/"+квсего+"] "+стрСтруктура.Метаданные+" определение числа записей для активизации остатков (значения субконто)...");
			
			// -- Сколько нужно активизировать
			RS = адоВыполнитьЗапрос("select count(*) from "+стрСтруктура.ИмяТаблицыХранения+" "+стрНеБлокировать+" where "+стрПериодБыло+?(ПолеТипаРегистратора = "", "", " and "+ПолеТипаРегистратора+" = "+стрУсловиеНомерТаблицы));
			RS.MoveFirst();
			КвоЗаписей = RS.Fields(0).Value;
			
			Если КвоЗаписей = 0 Тогда
				Продолжить;
			КонецЕсли;	
			
			// Переносим ЗначенияСубконто в дату свертки
			внПрогрессСоздать(Макс(1, Цел(КвоЗаписей/удУдалятьКвоСтрокЗаОдинЗапрос)), "Активизация остатков ["+к+"/"+квсего+"] "+стрСтруктура.Метаданные+" активизируем остатки (значения субконто) (к-во: "+КвоЗаписей+"): ");
			ОбработаноЗаписей = 0;
			Пока (ОбработаноЗаписей < КвоЗаписей) Цикл
				внПрогресс();
				ОбработкаПрерыванияПользователя();
				адоСтартТранзакции();
				Попытка
					Если ТипСервера_SQL = "MSSQLServer" тогда
						адоВыполнитьКоманду("update top ("+Формат(удУдалятьКвоСтрокЗаОдинЗапрос, "ЧГ=")+") "+стрСтруктура.ИмяТаблицыХранения+" "+удИспользоватьТабличнуюБлокировку+" set "+стрПериодСтало+" where "+стрПериодБыло+?(ПолеТипаРегистратора = "", "", " and "+ПолеТипаРегистратора+" = "+стрУсловиеНомерТаблицы));
					ИначеЕсли ТипСервера_SQL = "PostgreSQL" тогда
						адоВыполнитьКоманду("begin work; "+СтрЗаменить(удИспользоватьТабличнуюБлокировку, "$1", стрСтруктура.ИмяТаблицыХранения)+" update "+стрСтруктура.ИмяТаблицыХранения+" as tb1 set "+стрПериодСтало+" from (select "+ПолеПериод+", "+ПолеТипаРегистратора+", "+ПолеРегистратора+", "+ПолеНомерСтроки+" from "+стрСтруктура.ИмяТаблицыХранения+" where "+стрПериодБыло+?(ПолеТипаРегистратора = "", "", " and "+ПолеТипаРегистратора+" = "+стрУсловиеНомерТаблицы)+" limit "+Формат(удУдалятьКвоСтрокЗаОдинЗапрос, "ЧГ=")+") as tb2 where tb1."+ПолеПериод+"=tb2."+ПолеПериод+" and tb1."+ПолеТипаРегистратора+"=tb2."+ПолеТипаРегистратора+" and tb1."+ПолеРегистратора+"=tb2."+ПолеРегистратора+" and tb1."+ПолеНомерСтроки+"=tb2."+ПолеНомерСтроки+"; commit work;");
					КонецЕсли;	
					ОбработаноЗаписей = Мин(ОбработаноЗаписей + удУдалятьКвоСтрокЗаОдинЗапрос, КвоЗаписей);
					адоФинишТранзакции();
				Исключение
					Успешно = Ложь;
					адоОтменаТранзакции();
					Сообщить(стрСтруктура.ИмяТаблицыХранения+" ... ошибка, активизировано (значений субконто) " + ОбработаноЗаписей + " из " + КвоЗаписей);
					ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке());
					Прервать;
				КонецПопытки;	
			КонецЦикла;
		КонецЦикла;
Показать

*Т.к. ошибка возникает только при свертке прямыми запросами то и решение действует для свертки прямыми запросами.
70. Aletar 08.04.13 05:20 Сейчас в теме
72. Техподдержка 18.10.13 13:56
(71) dyak84,
1) по поводу времени свертки:
40.
SpartakM
(файл скачал)
07.08.12 14:13

Супер обработка.
базу 120гб, свернула за 6-7ч.
Время свертки обозримое. А если база уж очень большая и время монопольного доступа ограничено, то процесс свертки можно разбить, сворачивая регистры по одному или нескольким за запуск.

2) В свертке нет привязки к какой-либо конфигурации, работает как с типовыми так и с самописными одинаково.

3) Для быстрой свертки базы Оракла нужно будет либо написать прямые запросы под Оракл в коде обработки, либо выгрузить из Оракла в MS SQL или Postgre SQL, свернуть, и затем залить обратно в Оракл. Иначе будет сворачивать медленно.
73. Lionee 11.12.13 21:10 Сейчас в теме
ок , как раз надо, пригодится , опробую
74. ortpro 22.01.14 08:51 Сейчас в теме
Здравствуйте!
Купил сию обработку.
Есть у кого-нибудь опыт сворачивания УПП?
Может кто-нибудь поделится рекомендациями/советами?
У меня:
Клиент-сервер
1С:Предприятие 8.2 (8.2.19.76)
Управление производственным предприятием, редакция 1.3 (1.3.39.1)
Объем базы ~700 Gb
Microsoft SQL 2008 Server Standard Edition (64-bit)
75. wolverine87 10.08.14 06:27 Сейчас в теме
Автору спасибо. Давно хотел что-то подобное. опробую на днях. +
76. viva17 24.11.14 13:29 Сейчас в теме
Здравствуйте. Приобрел ваш обработку по свертыванию базы и по ней есть некоторые вопросы:
1) не помечается на удаление документ, по которому идет движение только по регистру сведений;
2) не удаляются помечены на удаление документы, при обработке вылетает ошибка недостаточно памяти. Процесс 1с на клиенте доходит до 1600 мб и выбрасывает. Сделав отбор по определенному виду документа, операция удаления проходит до конца, но не удаляются элементы, которые находятся в регистре "ОБъектыДоступаДокументов".
Подскажите пожалуйста, как правельно удалить помечены на удаление элементы конфигурации?
77. Ex 21 27.11.14 11:16 Сейчас в теме
А если ссылка, например на документ реализации, попадает в документ "Ввод остатков SQL", как этот документ удалиться?
78. Техподдержка 27.11.14 12:56
(77) Ex,
Идея алгоритма контроля вкратце:
1) Если на помеченный объект ссылается не помеченный на удаление либо движение регистра, значит его нельзя удалить.
2) Если на помеченный объект ссылается помеченный, который нельзя удалить, значит его тоже нельзя удалить.
3) В остальных случаях помеченный объект подлежит удалению.

Исходя из этого, если документ Ввод остатков SQL не помечен на удаление или по какой-либо другой причине не подлежит удалению - и в нем есть ссылка на документ Реализация, то документ Реализация не будет удален.

* По регистрам сведений немного отличается:
- считаем что запись помечена на удаление, если хотя бы одно ведущее измерение помечено на удаление
- считаем что запись не помечена на удаление, если нет ссылочных ведущих измерений, или ни одно ведущее не помечено на удаление
- неудаляемые равносильно непомеченным на удаление

** Исключение составляют удаление записей регистра сведений, подчиненных регистратору, которые будут удаляться при удалении ведущего измерения только при включенном флажке на вкладке "Удаление" или при удалении регистратора. Стандартный контроль целостности позволяет их удалять только при удалении регистратора.
79. alex_phantom 03.12.14 12:15 Сейчас в теме
Вот такое получил.
Форма.ФормаЗапуска.Форма(1520)}: Ошибка при вызове метода контекста (Open)
RS.Open(Текст, Соединение);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Неправильный синтаксис около конструкции "=".
80. Техподдержка 04.12.14 13:31
(79) alex_phantom, сообщил, что ошибка разрешилась сама собой
83. Asaharu 03.03.16 14:17 Сейчас в теме
(80) Тоже выскочила эта ошибка.
sel ect count(*) fr om _InfoRgOpt9225 as tbMain  with(nolock)  inner join #Udalenie as tbUdal  with(nolock)  on  tbMain.=tbUdal._IDRRef where tbUdal._IDTRef in (0x000020E0)


Где-то ПолеСсылка не заполнилась.

(82) Там есть возможность делать выборку документов за опр. период. Тогда можно обойти нехватку памяти
 AND [_Date_Time] < CONVERT (datetime, '"+(ДобавитьМесяц(ДатаСвертки, 12*2000)+1)+"', 104

Чуть страдает производительность, но работает.
81. GATTUSO 633 16.12.14 16:12 Сейчас в теме
скажите, с объемными базами обработка нормально справляется? Порядка 300гб
82. Техподдержка 16.12.14 19:12
(81) GATTUSO,
Если будет много помеченных объектов для контроля помеченных (несколько миллионов) - будет вылетать от нехватки памяти.
В таком случае свертку нужно выполнять в несколько этапов, например не 4 года за один раз сворачивать, а за один год (или меньше).
84. realm 14.04.17 05:27 Сейчас в теме
Доброго дня.
В рабочей базе накопилось огромное количество помеченных на удаление объектов.
Пробую использовать обработку для быстрого удаления таких объектов.
Проявилась странность, а именно: проблема в скорости (времени) выполнения шагов.
В настройках обработки указано следующее:
1. Монопольный доступ.
2. Прямыми запросами.
На вкладке "Удаление помеченных" указаны галки:
1. Альтернативный контроль допустимости удаления помеченных.
2. Для неудаляемых показать ссылки, ставшие причиной запрета удаления.
3. Удаление прямыми запросами к SQL
4. Использовать табличную блокировку.
5. Без проверок.
6. Выводить сообщения замеров при контроле целостности и удалении помеченных объектов.

Есть сервер, на котором операция по очистке базы выполняется 12 часов.
Есть другой сервер (по производительности быстрее), на которой эта же процедура происходит примерно в 3 раза медленнее.
Практически все шаги выполнения обработки выполняются немного быстрее, за исключением шагов следующего типа:
На первом сервере эта операция:
"Итерация: 1, ведущие измерения регистров обработаны за: 1 031 458 мс"

На втором:
"Итерация: 1, ведущие измерения регистров обработаны за: 2 648 101 мс"

Т.е. именно эти шаги каждой итерации выполняются почти втрое медленнее. Всё перелопатил. Настройки SQL одинаковы. В чём подвох???
Разница почти в три раза - критична. :(
85. realm 17.04.17 03:43 Сейчас в теме
Спасибо за ответы.
Однако всё оказалось несколько иначе.
Конечно же тестрование производилось на одинаковых копиях базы. Серверы с одинаковой ОС и SQL-серверами. Серверы приложений тоже одинаковые (32-х разрядные).
Вероятнее всего моя ошибка была в том, что бездумно пользовался галкой "Поиск помеченных объектов прямыми запросами SQL (с отображением прогресса)".
При установке этой галки разница времени выполнения (по сравнению с её отсутствием) получалась примерно трёхкратная.
Ещё одним полезным ускорением является использование паарллелелизма (на SQL). Всё дело в том, что на практике 1С работает быстрее при выключенном параллелелизме на SQL-сервере. Однако для выполнения процедуры очистки от помеченных на удаление объектов текущей разработкой - включение параллелелизма ускоряет процесс примерно на 25%.
87. vvacum 21.09.18 16:13 Сейчас в теме
Автору огромная благодарность! Обработка просто огонь! Я таких скоростей работы с данными ещё не встречал. Свернула базу УТ 10.3 на SSD диске средствами SQL в 120 гигов за 3,5 часа до 20-ти гигов! Остатки регистров накопления ДО и ПОСЛЕ сошлись до копейки. Чувствуется как много труда и знаний было вложено в обработку. До этого пробовали делать свёртку обработкой от 1-го БИТа, неделю крутила, так и не дождались окончания процесса. Вот бы 1С так быстро умела работать. Ещё раз спасибо!
tarasenkov; +1 Ответить
88. Gulf_Stream 29.12.18 20:49 Сейчас в теме
Добрый день!

При запуске обработки, создаются документы ввода начальных остатков SQL, но сами документы на удаление не помечаются.
В чем может быть проблема?
89. Техподдержка 30.12.18 02:50
(88) Запуск под пользователем с максимальными правами? Связаны ли документы (которые не помечаются) с движениями по сворачиваемым регистрам? Документы датированы ранее даты свертки? Под документами в сворачиваемом периоде движения очищаются? В окне сообщений нет сообщений об ошибках?
90. realm 12.12.19 09:23 Сейчас в теме
В очередной раз пришла пора воспользоваться данной обработкой. Очень не хватает возможности запустить удаление объектов с отбором по метаданным. На большой базе сутки только отрабатывает до статуса "Сохраняем перечень удаляемых объектов".
91. serg70 1 18.12.19 07:40 Сейчас в теме
Попробовал запустить на УТ 10.3 (объемом 85 Гб с 2007 года) на дату 31/12/20018, вылетает с ошибкой Недостаточно памяти при формировании остатков по регистру накопления Расчеты с контрагентами. Причем на 80%, видимо при созданиии документа остатков не очищается память.
92. realm 20.12.19 03:13 Сейчас в теме
(91) Попробуйте запустить клиента x64. При работе обработки потребление памяти легко перепрыгивает 32-х битное ограничение приложений по памяти. В моём случае клиентское приложение 1С при свертке выделило более 16 ГБ оперативной памяти. Возможно, потребуется использовать и сервер разрядности х64.
93. mak1 24.01.20 10:26 Сейчас в теме
После свертки базы остаются записи в регистрах бухгалтерии и накопления записи без регистратора,как исправить эту ошибку?
94. Техподдержка 24.01.20 11:37
(93) Такого ни разу не наблюдалось.
До свёртки этих записей не было? Ошибки при сверке никакие не выводились в окно сообщений? Какой версией сворачивали? (Номер, полная или лайт) Очистку помеченных запускали альтернативную или стандартную? Скрины настроек?
95. mak1 24.01.20 11:49 Сейчас в теме
(94) После свертки данных нет в регистрах,но если сформировать ОСВ выйдет сальдо на начало месяца даты свертки, если сформировать запрос по остаткам и оборотам регистра бухгалтерии выходят записи без регистратора, итоги пересчитывали не помогает
96. Техподдержка 24.01.20 14:15
(95) Права на документ Свёртки есть на чтение у того кто формирует ОСВ? В регистр пытались посмотреть не через ОСВ, а напрямую?
97. mak1 27.01.20 07:51 Сейчас в теме
(96) Вопрос: Здравствуйте, Права на документ Свёртки есть на чтение у того кто формирует ОСВ?
Ответ: Да

Вопрос: В регистр пытались посмотреть не через ОСВ, а напрямую?

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

Обработка Версии 1.2.2

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

Дело в обработке? Лучше стоит приобрести последнюю версию? или мы что то неправильно сделали?
98. mak1 29.01.20 04:53 Сейчас в теме
99. Техподдержка 29.01.20 11:07
(98) отлично! Какие действия помогли поделитесь пожалуйста?
Оставьте свое сообщение

См. также

Многопоточность. Универсальный «Менеджер потоков» 2.1 Промо

Производительность и оптимизация (HighLoad) Инструментарий разработчика Математика и алгоритмы Универсальные функции v8 1cv8.cf Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

3000 руб.

07.02.2018    71831    174    52    

Оптимизация поиска в списках через Elasticsearch

Поиск данных Производительность и оптимизация (HighLoad) v8 ERP2 БП3.0 УТ11 КА2 Россия Платные (руб)

Расширение для ускорения поиска по спискам справочников или документов.

10000 руб.

04.02.2020    2270    1    0    

Удаление дублей объектов

Универсальные обработки Чистка базы v8 1cv8.cf Платные (руб)

Обработка "Удаление дублей объектов" предназначена для поиска дублированных объектов по набору реквизитов и последующему слиянию найденных дублей в единый элемент. Имеет ряд преимуществ по сравнению с типовой обработкой: допускается поиск дублей по нескольким реквизитам, возможность слияния/замены всех ссылочных объектов (не только справочники, например документы, планы видов характеристик, задачи и т.д.), обработка общих реквизитов конфигурации, исправлены выявленные ошибки типовой обработки. Применима для конфигураций на обычных формах, для толстого клиента 1С версии 8.2.

3000 руб.

26.12.2019    2207    1    0    

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

Чистка базы Универсальные обработки v8 v8::УФ Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 КА2 ЗУП3.x Платные (руб)

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

3000 руб.

28.11.2019    3582    10    7    

Удаление организаций из информационных баз 1С Промо

Чистка базы v8 v8::УФ 1cv8.cf Россия Платные (руб)

Обработка предназначена для удаления организаций из любых информационных баз 1С, имеющих в своем составе справочник "Организации". Работает на обычных и управляемых формах, на базах любого формата и размера. Обработка проверялась на следующих типовых релизах 1С: БП 2.0.66.84, БП 3.0.71.77, БГУ 1.0.59.3, БГУ 2.0.65.17, УТ 10.3.55.3, УТ 11.4.10.57, ЗУП 3.1.11.106, ЗГУ 3.1.11.106, КА 2.4.9.98, УПП 1.3.126.1, УНФ 1.6.18.168, но должна работать и на более старых, так как обработке нужен только справочник "Организации".

3000 руб.

20.11.2019    2981    4    8    

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

Свертка базы Администрирование СУБД v8 БП3.0 УТ11 Платные (руб)

Сверните базу данных 1С:Предприятие 8.3 в 10-20 раз быстрее! (для клиент-серверного варианта работы)

25000 руб.

28.10.2019    4588    2    0    

Мониторинг баз и серверов 1С

Журнал регистрации Статистика базы данных Производительность и оптимизация (HighLoad) Администрирование СУБД Технологический журнал v8 Платные (руб)

В сферу обязанностей при работе с клиентами входит контроль работы баз данных и серверов 1С. Нужно понимать что происходит в базах, есть ли ошибки, зависания у пользователей и фоновых задач, блокировки или какое-то необычное поведение системы, получение информации о причинах возникновения проблем и их оперативное устранение и т.д. В качестве источников информации использую консоль кластеров 1С, технологический журнал 1С, журналы регистрации базы 1С. Для автоматизации части операций мониторинга и анализа создал инструмент на основе 1С.

7500 руб.

28.08.2019    6974    4    2    

Универсальная обработка удаления данных

Универсальные обработки Чистка базы v7.7 v8 1cv8.cf 1cv7.md Россия Платные (руб)

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

1000 руб.

05.02.2019    7368    7    0    

Расширение для очистки дублей в синхронизированных базах (УТ, БП, РТ, УНФ)

Чистка базы v8::УФ 1cv8.cf Россия Платные (руб)

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

1000 руб.

27.06.2018    8090    3    0    

Система сбора и анализа информации по производительности работы баз данных, работающих  под связкой «кластер 1С 8.2/8.3 - Microsoft SQL server»

Производительность и оптимизация (HighLoad) v8 Россия Платные (руб)

Инструмент в помощь специалисту по производительности sql-серверов с базами 1С. Программа (c#) собирает наиболее заметные (по времени исполнения, физическим / логическим чтениям / загрузке CPU ) запросы, группирует по обобщенным текстам запросов и контекстам исполнения 1С (если есть), предоставляет информацию в виде отчетов по наиболее заметным запросам и прочей информации (длительные запросы по данным техжурналов, содержимое буферпула в динамике, содержимое клерков памяти, ожидания сервера в разрезе бд, статистика ввода-вывода по файлам баз).

10000 руб.

12.12.2017    14379    84    8    

Комплекс подготовки к свертке базы (удаление данных 8.1, 8.2, 8.3, обычные формы)

Чистка базы v8 1cv8.cf Платные (руб)

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

6000 руб.

13.11.2017    10109    1    3    

Выборочное удаление организаций из баз (управляемые формы), с удалением всех ссылающихся на эти организации данных Промо

Чистка базы v8 v8::УФ 1cv8.cf Платные (руб)

Позволяет удалить организации из любых программ на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера.

2985 руб.

16.03.2015    70291    206    46    

Устранение расхождений между регистрами РАУЗ (регл) и регистрами учета ТМЦ, НЗП в УПП 1.3 и КА 1.1

Чистка базы Поиск данных Закрытие периода Производство готовой продукции (работ, услуг) Закрытие периода Производство готовой продукции (работ, услуг) v8 КА1 УПП1 Россия БУ НУ УУ Платные (руб)

Наведите порядок в остатках номенклатуры и НЗП в УПП Устраните расхождения в остатках номенклатуры Устраните расхождения в остатках НЗП Устраните отрицательные остатки в учете ТМЦ и НЗП

6000 руб.

08.09.2015    36637    98    11    

Замена Номенклатуры+Характеристики

Чистка базы Обработка справочников Обработка документов Учет ТМЦ Учет ТМЦ v8 v8::ПВХ КА1 УПП1 ERP2 УТ11 КА2 Платные (руб)

Настраиваемая обработка, позволяющая заменить пару: Номенклатура+Характеристика в документах, их движениях и независимых регистрах сведений. Без перепроведения. Поможет, если вы по каким-то причинам решили отказаться от характеристик

3000 руб.

04.08.2015    24827    68    56    

Альтернативный контроль помеченных и быстрое удаление средствами SQL

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

Эта обработка является логическим продолжением статьи "Свертывание объемной базы средствами SQL" http://infostart.ru/public/249429

1 стартмани

27.01.2014    40923    313    barelpro    48    

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6, КА 2, ЗУП 3 и т.д.)

Чистка базы Универсальные обработки Обработка документов Поиск данных Обработка справочников v8 v8::УФ 1cv8.cf Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. Если что-то будет неясно по работе с обработками – я готов Вам помочь. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! Данные обработки входят в ТОП-100 продаж за все время, что является залогом популярности, надежности в работе, и признанием других покупателей. (Обновление от 05.04.2020, версия 3.5)

3990 руб.

22.02.2013    96917    214    131    

Выборочное удаление помеченных объектов с отображением иерархии ссылок (с возможностью немонопольного удаления, порционного удаления, быстрой очистки регистров сведений для управляемых форм 1С 8.2)

Чистка базы Поиск данных Универсальные обработки v8 v8::УФ 1cv8.cf Россия Платные (руб)

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

3990 руб.

23.08.2012    43560    23    15    

Очистка базы от документов УУ, версия на SQL

Чистка базы v8 УПП1 Россия Платные (руб)

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

1000 руб.

22.11.2011    11389    0    9    

Правильная свертка или свертка базы по правилам Промо

Свертка базы Чистка базы v8 1cv8.cf Россия Платные (руб)

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

2000 руб.

22.07.2013    125432    499    476    

Универсальная свертка базы 1С:Предприятие 8

Свертка базы v8 1cv8.cf Платные (руб)

Разработка универсальна, работает на любой конфигурации, на версиях платформ 8.1 и 8.2. Исходные коды открыты. Усекаются сразу все разделы учета (регистры бухгалтерии, регистры накопления, регистры сведений). Разработка представляет из себя cf-файл с одним единственным документом: ЗакрытиеПериода. В нём содержится функционал как по заполнению, так и по очистке регистров. Так же для версии 8.2 возможна переброска данных в "чистую" базу нажатием одной кнопки.

4000 руб.

21.02.2011    92622    109    242    

Подсистема "Настройка контроля заполнения объектов в момент записи 3.1.3" для 1С: Предприятия 8.1 / 8.2

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Платные (руб)

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

1000 руб.

24.10.2009    23818    0    98    

Как свернуть базу УТ 10.3 Промо

Свертка базы v8 v8::ОУ УТ10 Россия УУ Платные (руб)

Как свернуть УТ 10.3. Цель свертки - свернуть остатки по товарам и по взаиморасчетам с контрагентами.

2000 руб.

04.04.2019    13255    79    15    

Быстрый поиск дублей с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6, КА 2, ЗУП 3 и т.д.) Промо

Чистка базы Поиск данных Универсальные обработки Обработка справочников Обработка документов v8 v8::УФ 1cv8.cf Платные (руб)

Данные обработки помогут Вам легко и, главное, быстро (в 5 раз и более быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. Если что-то будет неясно по работе с обработками – я готов Вам помочь. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! Данные обработки входят в ТОП-100 продаж за все время, что является залогом популярности, надежности в работе, и признанием других покупателей. (Обновление от 23.08.2019, версия 6.20, 6.30)

3990 руб.

14.05.2012    104683    302    217    

Оптимизация запросов 1С - от теории к практике Промо

Производительность и оптимизация (HighLoad) Практика программирования Математика и алгоритмы v8 1cv8.cf Платные (руб)

Желаете повысить свой уровень разработки? Не знаете, как оптимизировать работу тяжелых запросов 1С? Или знаете методы оптимизации, но на практике не получаете результат? Тогда эта интерактивная обучающая программа для Вас! Оптимизация запросов прямо в программе 1С:Предприятие 8. Несколько десятков практических заданий, рассматривающих методы оптимизации на практике. От Вас требуются реальные решения - оптимизация представленных запросов. Автоматизированная система оценит Ваш запрос и представит результат проверки.

1500 руб.

06.07.2015    55062    77    4    

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 23 мая по 14 июня 2020 г. Промо

Производительность и оптимизация (HighLoad) Решение задач на 1С:Специалист v8 Платные (руб)

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 руб.

30.05.2018    53640    76    10    

SALE! 30%