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

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

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

удаление помеченных объектов

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

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

Что послужило поводом для создания собственного решения: 

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

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

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

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

Требует монопольного режима потому, что:

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

Другое решение - обработка с ИТС УдалениеПомеченныхОбъектов.epf (или DeleteMarkedObjects). Она позволяет анализировать и удалять в разделенном режиме. Но в ней используется все тот же встроенный в платформу метод ТаблицаСсылок = НайтиПоСсылкам(МассивКУдалению). Именно он работает крайне медленно. Даже если переписать обработку и подсовывать ей объекты по одному, она будет искать все ссылки на объект, на чем тратится безумное количество времени. Так же из-за большого временного лага между анализом и непосредственным удалением появляется довольно высокий шанс вклинивания какого ни будь Powered User и генерации битых ссылок. Битые ссылки - явление достаточно неприятное и трудно исправимое. И хотя средства лечения давно найдены (например //infostart.ru/public/98973/), но зачем нарываться?

Справедливости ради надо отметить одно очень интересное решение "Свертка базы SQL + Альтернативный контроль удаления помеченных" //infostart.ru/public/139651/. Но тут опять не без ложки дегтя. Оно довольно-таки платное. Кроме того мне показался сценарий автора слишком уж сложным и в итоге негодным для разделенного режима. Да, он сделал быстрый движок для анализа и удаления, быстрее чем в вышеупомянутых решениях, но все равно остается опасно большой временной лаг между анализом и непосредственным удалением, потому что он пытается за один раз удалить все по максимуму, а для этого требуется долгий алгоритм для выявления последовательных или закольцованных цепочек ссылок. 

Я решил максимально ускорить процесс анализа удаляемости. Это можно сделать только за счет упрощения алгоритма. Приносим в жертву качество, получаем выигрыш в скорости и уменьшаем шансы появления битых ссылок. Под низким качеством я понимаю недообследованные до конца и потому оставленные неудаленными объекты. Что происходит в моей обработке: я анализируется последовательно каждый объект, если нахожу хотя бы одну ссылку на него, то перехожу к следующему объекту. Если ссылок не найдено, то сразу удаляю объект, а не накапливаю список для отложенного пакетного удаления. Если есть длинные цепочки последовательных ссылок, то пользователь интерактивно может повторить анализ/удаление несколько раз. Если есть закольцованные цепочки, то мой алгоритм их конечно же не разорвет, но каков процент таких цепочек обычно бывает в общей массе, особенно в массе удаляемых за прошлые периоды документов при свертке?! Окончательную зачистку можно сделать в монопольном доступе типовым механизмом "Удаление помеченных объектов" - он работает быстро при небольшом количестве помеченных.

Как это работает на уровне интерфейса:

1. Если БД на SQL, то на закладке "Настройки SQL" указываем параметры подключения к SQL. Нажимаем кнопку "Проверить подключение к SQL". Если все ОК то при последующем заполнении таблицы на закладке  "Объекты поиска" будет выдана информация о размерах таблиц:

Вес одной записи, KB
Total table size, KB
Index size, KB
Data size, KB
Unused space, KB

2. На закладке "Настройки SQL" выбираем способ удаления: средствами 1С или SQL. Понятное дело, если ваша база файловая, то вариант один. Если база на SQL, и у вас нет предрассудков против использования не-1С-методов, выбирайте второй вариант. При этом скорость удаления будет существенно выше засчет сокращения накладных расходов, связанных с работой сервера 1С и вызовом предопределенных процедур в модуле удаляемого объекта.
Для режима "Удалять средствами SQL" можно включить режим "Записывать в журнал регистрации событий". При этом журнал будет заполняться по аналогии с типовым удалением средствами 1С, только в поле "Комметарий" будет пометка "Удалено средствами SQL".

3. На закладке "Объекты поиска" нажимаем кнопку "Заполнить".
В список попадают справочники и документы с ненулевым количеством объектов БД, отсортированные в обратном порядке по колонке "Кол помеченных" (или по колонке "Вес одной записи, KB", если база на SQL)- это чтобы сразу было видно с кого начать анализ/удаление. 
Для документов подсчитывается количество объектов без движений в колонке "Кол без движений". Это могут быть проведенные документы с очищенными движениями как часть кампании по сворачиванию базы.
Если у вас база на SQL и на закладке "Настройки SQL" указаны верные параметры подключения к SQL, то будут заполнены колонки с размерами в килобайтах.
Единственная колонка "Можно удалять" будет заполнена на этапе удаления, который можно запустить в режиме имитации.

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

5. После выбора объектов МД можно переходить к поиску соответствующих объектов БД - кандидатов на анализ и удаление. Для этого нажимаем кнопку "Заполнить" на закладке "Помеченные на удаление" и/или "Документы без движений". На закладке "Документы без движений" можно указать отбор по периоду для документов.

6. На закладке "Схема анализа" нажимаем кнопку "Заполнить". На этом этапе для каждого анализируемого объекта МД готовятся тексты запросов типа "ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ всех таблиц, у которых есть поля со ссылками на этот объект МД".

7. Нажимаем кнопку "Анализ (удаление)". Дальше идет вопрос "Одновременно удалять?". Если ответить НЕТ, то будет выполнена имитация удаления, и в таблице "Объекты поиска" будет заполнена колонка "Можно удалять".

Основные фишки на уровне кода:

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

ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ Документ.АвансовыйОтчет.Прочее КАК Т ГДЕ Т.Субконто1 = &Параметр ИЛИ Т.Субконто2 = &Параметр ИЛИ Т.Субконто3 = &Параметр ИЛИ Т.СубконтоНУ1 = &Параметр ИЛИ Т.СубконтоНУ2 = &Параметр ИЛИ Т.СубконтоНУ3 = &Параметр

...

ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрНакопления.ВзаиморасчетыСПодотчетнымиЛицами КАК Т ГДЕ Т.ФизЛицо = &Параметр 

...

ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрБухгалтерии.Хозрасчетный.Субконто КАК Т ГДЕ Т.Значение = &Параметр

...

ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрБухгалтерии.Хозрасчетный КАК Т ГДЕ Т.ВалютаДт = &Параметр ИЛИ Т.ВалютаКт = &Параметр

Конечно, если поле с условием не проиндексировано, то выполняться такой запрос будет медленно, и чем больше таблица, тем медленнее запрос, потому что SQL в запросе будет тупо перебирать все записи таблицы - выполнять команду Table Scan. Конечно самое лучшее, это на время свертки базы в конфигураторе установить у таких полей признак Индексировать. Если такой возможности нет, то остается только одно - начать удаление объектов МД с самым большим показателем "Вес одной записи", т.к. они будут ссылаться на остальные не такие большие таблицы.

Чтобы определить самые тяжелые запросы, на закладку "Схема анализа" я добавил кнопку "Замерить запросы". По завершению замера будет заполнена колонка "Время запроса". По ней можно понять, каких Индексов не хватает. 

2. При удалении средствами SQL удаляются записи в таблицах:

Основная
ТабличнаяЧасть
ТаблицаИзменений

ЖурналДокументов
Последовательность

РегистрСведений (по ведущему измерению)

Например, так выглядит пакет SQL запросов для удаления одного документа, у которого несколько табличных частей, который участвует в планах обмена и в журналах документов и в последовательностях, а одна из последовательностей участвует в планах обмена, и есть регистр сведений с ведущим измерением, ссылающимся на этот документ:

DELETE FROM _Document430 WHERE _IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10847 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10887 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10899 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10920 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10925 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10943 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Document430_VT10950 WHERE _Document430_IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _DocumentChngR10960 WHERE _IDRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _DocumentJournal12795 WHERE _DocumentRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _DocumentJournal23761 WHERE _DocumentRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _DocumentJournal22967 WHERE _DocumentRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _DocumentJournal23751 WHERE _DocumentRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _DocumentJournal12946 WHERE _DocumentRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Seq17875 WHERE _RecorderRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Seq17867 WHERE _RecorderRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Seq17869 WHERE _RecorderRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _Seq17864 WHERE _RecorderRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _SeqChngR29764 WHERE _RecorderRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57
DELETE FROM _InfoRg13934 WHERE _Fld13935_RRRef = 0xa6dce0cb4ed5f61711e03b64f2ff7e57

И не забывайте, что при массированном удалении объектов база под SQL не уменьшается, а увеличивается за счет разрастания журнала транзакций (*.ldf). За этим надо следить и периодически сжимать, например командой DBCC SHRINKFILE

3. По ходу испытаний выяснилось, что метод Метаданные.НайтиПоПолномуИмени() очень медленно работает, причем только под 8.2. Под 8.3 видимо его оптимизировали. Но все равно пришлось его переписать по своему - см. Функция МетаданныеНайтиПоПолномуИмени()

 

В общем кому надо, пользуйтесь! Если будут толковые замечания или предложения, сообщайте - будем совершенствовать обработку совместными усилиями.

44

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

Наименование Файл Версия Размер
УдалениеОбъектов Barelpro
.epf 26,15Kb
28.01.14
499
.epf 26,15Kb 499 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. tormozit 5598 27.01.14 10:37 Сейчас в теме
Зачем делать запрос к таблице ДвиженияССубконто, если ты все равно делаешь запрос к основной таблице регистра бухглатерии? Оптимальнее делать запрос либо только к ДвиженияССубконто либо к двум таблицам: к основной таблице и к таблице Субконто.
2. barelpro 1050 27.01.14 10:51 Сейчас в теме
(1) tormozit,

согласен, но я умышленно разнес на два запроса.

Объясняю:

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

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

PS. Невнимательно прочитал вопрос. Да, запрос к Субконто более оптимальный, чем к ДвиженияССубконто, исправлю, спасибо!
3. yukon 78 27.01.14 10:57 Сейчас в теме
И не забывайте, что при массированном удалении объектов база под SQL не уменьшается, а увеличивается за счет разрастания журнала транзакций (*.ldf). За этим надо следить и периодически сжимать, например командой DBCC SHRINKFILE


Вот ведь все хорошо пишите. Но это вот зачем писать-то? На сколько увеличат объем журнала транзакций именно ваши "ручные" транзакции? Да ни насколько.

Периодически сжимать журнал транзакций на рабочей базе нельзя, ну только если вы техномазохист и/или у вас НЖМД в "сервере" аж целых 40Гб.
4. barelpro 1050 27.01.14 11:02 Сейчас в теме
(3) yukon,

вы не поверите, после удаления 50млн записей регистров методом TSQL DELETE база выросла в полтора раза (в моем случае до 150Gb) как раз за счет разрастания журнала транзакций. DELETE пишет себя в журнал транзакций, даже если recovery model = simple.
5. yukon 78 27.01.14 11:39 Сейчас в теме
(4)

вы не поверите, после удаления 50млн записей регистров методом TSQL DELETE база выросла в полтора раза


Охотно верю. И как часто вы удаляете 50 млн записей? Неужели ежедневно.

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

в моем случае до 150Gb


Если у вас на сервере один жесткий на 320Gb, то да это ПРОБЛЕМА, согласен.
6. barelpro 1050 27.01.14 17:30 Сейчас в теме
(5) yukon,

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

ps. По своему опыту знаю, что урезание файла журнала транзакций можно выполнять при работающих пользователях. Эта операция быстрая и безболезненная. А вот урезание файла с данными (mdf) может быть долгим, т.к. процесс похож на дефрагментацию диска. Файл данных разрастается, например, после реструктуризации базы - попробую объяснить почему: все таблицы пересоздаются и записываются в конец файла mdf, данные из старых таблиц переносятся в новые, старые удаляются, и появляются дырки в начале файла mdf. Как-то так...
7. yukon 78 29.01.14 12:20 Сейчас в теме
По своему опыту знаю, что урезание файла журнала транзакций можно выполнять при работающих пользователях.


Можно, но крайне не нужно.

Эта операция быстрая и безболезненная.


Это не так. Операция далеко не безболезненная.

все таблицы пересоздаются и записываются в конец файла mdf


Это весьма упрощенное и, как следствие, в большинстве случаев, неверное представление. На увеличение размера mdf файла(ов) влияют с десяток факторов. А уж на размещение данных внутри mdf-файла(ов) как бы не сотни.

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

В частности, размер ldf файла в модели восстановление simple SQL сервер выбирает именно такой, чтобы обслуживать базу данных при существующей интенсивности работы. Вместо помощи серверу и увеличения размера ldf файла, хотя бы до размера "чуть больше чем надо", вы предлагаете на постоянной(!) основе вставлять серверу палки в колеса, это же "быстро и безболезненно".
8. barelpro 1050 29.01.14 12:36 Сейчас в теме
(7) yukon,
Юрий, я прямо чувствую, что вы обладаете тайными знаниями, и очень искусно их прячете от общества :)

Дайте пруфлинки, объясните развернуто, чем таким чревато урезание журнала транзакций при подключенных к базе пользователях? Все вам скажут спасибо, если знания будут полезны. Тут атмосфера вполне доверительная.
9. yukon 78 29.01.14 16:10 Сейчас в теме
Юрий, я прямо чувствую, что вы обладаете тайными знаниями, и очень искусно их прячете от общества :)

Хорошо хоть не сакральными.

Начнём с Ab ovo: http://msdn.microsoft.com/ru-ru/library/ms189085(v=sql.105).aspx Усечение журнала транзакций

За исключением тех случаев, когда усечение журнала по каким-то причинам задерживается, оно выполняется автоматически следующим образом.
В простой модели восстановления — после достижения контрольной точки.

Там же схема работы механизма.

http://msdn.microsoft.com/ru-ru/library/ms345414(v=sql.105).aspx Факторы, могущие вызвать задержку усечения журнала

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

Из популярных изложений было отличное на sqlcmd.ru. Правда они чего-то закрылись :( , так, что придется смотреть через archive.org

Первая часть: http://web.archive.org/web/20120416065146/http://www.sqlcmd.ru/trans_log_internals-part01.html Как перестать называть журнал транзакций SQL Server лог-файлом и прекратить борьбу за его размер. Часть 1/12

Последняя с выводами:http://web.archive.org/web/20120418002619/http://www.sqlcmd.ru/trans_log_internals-part12.html Как перестать называть журнал транзакций SQL Server лог-файлом и прекратить борьбу за его размер. Часть 12/12.

Чего не следует делать с журналом транзакций никогда в жизни ни при каких обстоятельствах.
...
* сжимать (SHRINKFILE) лог. Да, в отличии от предыдущих пунктов нельзя сказать что это — «категорическое нет», но все же «почти всегда нет»;
* сжимать (SHRINKFILE) лог на регулярной основе, по расписанию. А вот это — необсуждаемый, совершенно полный и законченный бред. Даже продуманное и обоснованное однократное сжатие лога следует рассматривать как ситуацию чрезвычайную и как попытку предотвратить надвигающуюся катастрофу. Делая же это по расписанию вы признаете, что не прочь поработать «пожарником» на постоянной основе, вместо того что бы один раз тщательно потушить все «очаги возгорания» имеющиеся во вверенной вашим заботам системе.


Пропажу обнаружил вот прямо сейчас. Надо озаботиться сохранением в нормальном виде.
10. barelpro 1050 29.01.14 17:09 Сейчас в теме
(9) yukon,

вот, уже лучше, осталось только чтобы ссылки открывались :)
11. yukon 78 29.01.14 17:15 Сейчас в теме
(10)

По клику не открываются - какой-то набор букв вываливает :( а copy-paste работает. Мистика :)
12. barelpro 1050 29.01.14 18:30 Сейчас в теме
(11) yukon,

прочитал, но так и не нашел ответа на свой вопрос: если у нас объемная 1С-база, с ежедневным полным бэкапом и включенным recovery mode = simple, и мы провели массированное удаление с помощью команды T-SQL DELETE, и получили распухший журнал транзакций, соизмеримый с размером файла данных, и видим, что свободное файловое пространство на исходе, и спинным мозгом чувствуем, что в любой момент наступит коллапс всей базы, что же все-таки КОНКРЕТНО нам мешает в этом случае сделать усечение файла журнала транзакций?
13. yukon 78 30.01.14 10:18 Сейчас в теме
(12)

прочитал


0_0 за час? Там только чтения страниц 30 А4. Минимум на весь день, а с практикой так и на все 3-4 дня.

и видим, что свободное файловое пространство на исходе


Это как так? 150 гигов для современных дисков это не очень внушительный объем. Даже для серверных версий дисков. Заложите в бюджет расширение дискового пространства.

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

все-таки КОНКРЕТНО нам мешает в этом случае сделать усечение файла журнала транзакций


Конкретно, разово ничего не мешает. Но это далеко не простая и безболезненная процедура. Если уж прям нужно то сделайте ее во время наименьшей загрузки базы. Еще лучше - в "монопольном" режиме. При этом размер усеченного файла оставьте достаточно большим, для обслуживания нормальной рабочей интенсивности работ.

В нормальном режиме эксплуатации SQL сервер самостоятельно производит усечение журнала по мере необходимости.
15. barelpro 1050 30.01.14 15:13 Сейчас в теме
(13) yukon,

теперь понял, спасибо за совет! А вы не хотите по этому поводу написать статью на ИС с конкретными рекомендациями для 1С-внедренцев - как правильно настраивать журнал транзакций и почему, чтобы уберечь от возможных негативных последствий?

PS. Для меня, как для внешнего подрядчика обычно недоступны все IT-ресурсы заказчика. Чаще всего они выделяются по мере необходимости - нарезаются виртуальные машины с определенными параметрами. Поэтому на тестовых базах такое часто случается - недостаток дискового пространства. Эту ситуацию я и описал выше.
14. iov 364 30.01.14 14:36 Сейчас в теме
(9)(10)(11)
архив zip Сохранил в одном архиве для истории.
16. yukon 78 30.01.14 18:30 Сейчас в теме
(14)

Спасибо.

(15)

как правильно настраивать журнал транзакций


Ну вы и задачки ставите. "Правильно" - это к SQL DBA, а "на пальцах" могу попробовать.
17. Pavl0 86 28.02.14 12:38 Сейчас в теме
Маленький баг есть. Получить его сложно. Если в конфигурации количество регистров > 255 то на базе MS SQL упадет при заполнении объектов поиска. У меня такая ситуация на УПП+Appius на документе КорректировкаЗаписейРегистров.
Просто повесил проверку на количество таблиц.
18. Wrols 78 29.04.14 19:36 Сейчас в теме
Почему-то в моем случае сразу не получилось запросто использовать...

В базе все документы за сворачиваемый период уже помечены на удаление.

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

В процедуре "АнализОднойИзТаблиц" в строке модуля 739 под комментом "еще раз проверим отсутствие движений" выполняется запрос на наличие движений у объекта с условием "НЕ ТекДокумент.ПометкаУдаления".
При этом результат запроса всегда пустой и удаление не происходит.

К слову, в выражении "ТекстЗапроса_БезДвижений" тоже содержится условие на "НЕ ТекДокумент.ПометкаУдаления".
igor.ofitserov; pit201201; Збянтэжаны Саўка; +3 Ответить
22. Збянтэжаны Саўка 241 20.11.14 15:11 Сейчас в теме
глюк какой-то?, не могу изменить адресат поста, ошибся и ответил 20-му
(18) Wrols, (19) timm00,
мой предыдущий пост предназначался вам
19. timm00 112 01.06.14 09:23 Сейчас в теме
Это все потому что данный запрос относится только к таблице документов без движений. А автор как-то забыл поставить условие. После правки данного блока вроде все нормально.
Збянтэжаны Саўка; +1 Ответить
21. Збянтэжаны Саўка 241 20.11.14 14:18 Сейчас в теме
(19) timm00, (18) Wrols,
насколько я понял то там ошибка не в запросе, а в условии после него:
вместо условия
Если Запрос.Выполнить().Выбрать().Количество() = 0 Тогда
нужно
Если Запрос.Выполнить().Выбрать().Количество() > 0 Тогда

т.е. если есть движения, то нельзя удалять

//еще раз проверим отсутствие движений
Если Строка.ТипМД = "Документ" Тогда

  Запрос.Текст = 
    "ВЫБРАТЬ ПЕРВЫЕ 1 1
    |"
    + НайденныеСтроки[0].ТекстЗапроса_БезДвижений
    + "
    |И ТекДокумент.Ссылка = &Параметр
    |И НЕ ТекДокумент.ПометкаУдаления
    |";
					
  //Если Запрос.Выполнить().Выбрать().Количество() = 0 Тогда
  Если Запрос.Выполнить().Выбрать().Количество() > 0 Тогда
    Строка.МожноУдалять = Ложь;
    Прервать;
  КонецЕсли;

КонецЕсли;
Показать
pit201201; +1 Ответить
34. avasl 68 27.12.16 18:07 Сейчас в теме
(21) правильное исправление такое

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

Запрос.Текст = СтрЗаменить(Запрос.Текст, "НЕ ТекДокумент.ПометкаУдаления", "ИСТИНА")


Кусок тогда будет выглядеть так

				//еще раз проверим отсутствие движений
				Если Строка.ТипМД = "Документ" Тогда
					
					Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 1
					|"
					+ НайденныеСтроки[0].ТекстЗапроса_БезДвижений
					+ "
					|И ТекДокумент.Ссылка = &Параметр
					|И НЕ ТекДокумент.ПометкаУдаления";
					
					//s
					Запрос.Текст = СтрЗаменить(Запрос.Текст, "НЕ ТекДокумент.ПометкаУдаления", "ИСТИНА");
					
					Если Запрос.Выполнить().Выбрать().Количество() = 0 Тогда
						
						Строка.МожноУдалять = Ложь;				
						Продолжить; //s //Прервать;
						
					КонецЕсли;
					
				КонецЕсли;
Показать


Тогда для любого очередного документа к удалению, не важно помеченный он или нет, будет проверяться отсутствие движений. Если есть движение хоть в каком то регистре, где документ является регистратором, то результат запроса будет пустой и соответственно выполнится условие
Запрос.Выполнить().Выбрать().Количество() = 0

и у документ справедливо не будет удален.

Автору бы не мешало поправить обработку
20. berator37 70 31.08.14 08:59 Сейчас в теме
Можно на почту Альтернативный контроль помеченных и быстрое удаление средствами SQL berator37@mail.ru . Заранее спасибо
23. zekrus 151 20.01.15 11:15 Сейчас в теме
Добрый день!
Пытаюсь в УТ 11.0 почистить справочник "Контрагенты".
{Форма.Форма.Форма(539)}: Поле объекта не обнаружено (ОбщийРеквизит)
МдРез = Метаданные[ИмяПоля];
romku; pit201201; +2 Ответить
26. pit201201 68 29.07.15 09:06 Сейчас в теме
(23) zekrus,
В своей версии обработки я добавил
СпЗамен.Вставить("ОбщийРеквизит", "ОбщиеРеквизиты");
последней строчкой. Вроде взлетело.
ElektronHM; +1 Ответить
24. b-dm 169 28.01.15 12:38 Сейчас в теме
А можно ли как то удалить документы за определенный период ?
25. Aleksey81 949 05.04.15 19:23 Сейчас в теме
barelpro, вы очень душевно поработали. Восхищает, что обработка (субъективно) раз в 50 быстрее удаляет данные и при этом позволяет другим пользователям полноценно работать с базой (в том числе запись и проведение документов. Спасибо.
Однако есть и просьба устранить две странные ошибки.
1) Заменить процедуру ЗначениеНеЗаполнено на сам знаете что....
2) Возможно я не прав, но.... у похоже в коде процедуры АнализОднойИзТаблиц
Понадобилось заменить
						
Строка.МожноУдалять = Ложь;				
//Алексей
//Возврат; неправильная команда
Продолжить;

Потому как ваша обработка останавливает любую активность, как только находит строку, которую удалять нельзя.
Поправьте меня, если я не прав.
37. bsturtle 158 20.06.18 00:10 Сейчас в теме
(25) Алексей, спасибо. я поправил как вы сказали и все заработало. а то у меня тоже останавливалась сразу обработка.

автору обработки - огромнейшее спасибо за труд. реально выручил. можно сказать вытащил из трясины ))
27. pit201201 68 29.07.15 09:11 Сейчас в теме
Хорошая обработка! Даже не смотря на некоторые, выше отмеченные ошибки.
Есть предложение добавить опцию "отложенное удаление", при котором скрипт не выполняется, а сохраняется в текстовый файл.
28. pit201201 68 29.07.15 10:14 Сейчас в теме
Очень не хватает функции "Разорвать циклическую ссылку" .
А то есть два документа СчетФактураВыданный (реквизит ДокументОснование) и ОказаниеУслуг(реквизит СчетФактура) оба помечены на удаление и ссылаются друг на друга.
29. pit201201 68 29.07.15 10:35 Сейчас в теме
Чтобы удалить документы, ссылающиеся друг на друга добавил строки

Если (Найти(ИмяТаблицыВЗапросе,"Документ.")>0) Тогда 
    НоваяСтрока.ТекстЗапроса = НоваяСтрока.ТекстЗапроса + " И НЕ Т.Ссылка.ПометкаУдаления";
КонецЕсли;

в процедуру СоздатьЗапросВСхемеАнализа

Очень хочется услышать мнение автора обработки на этот счет.
30. Tciban 30.09.15 10:02 Сейчас в теме
(29) pit201201, А где это добавить, поточнее можно?
31. b-dm 169 18.10.16 18:03 Сейчас в теме
32. Godman 63 26.12.16 16:44 Сейчас в теме
Не работает :((((
При удалении без проверки на ссылки выдало:
{ВнешняяОбработка.УдалениеОбъектовBarelpro.Форма.Форма.Форма(777)}: Значение не является значением объектного типа (НайтиСтроки)
НайденныеСтроки = СХБЗ.НайтиСтроки(Новый Структура("ТипМД, ОбъектМД", Строка.ТипМД, Строка.ОбъектМД));
33. zekrus 151 26.12.16 20:36 Сейчас в теме
Странно у меня работает.
35. user839171 18.10.17 13:23 Сейчас в теме
На файловой базе не заработала
Проходит анализ объектов, но объекты в результате не помечаются галочкой "Можно удалять" и не удаляются.
Жаль бессмысленно потраченные 5 $m .
36. Харьковец 19 24.05.18 22:46 Сейчас в теме
Подтверждаю, что для файловой базы ЭТА обработка не работает! Занимаюсь отладкой и исправлением ошибок уже второй час и пока результата нет. Действительно жаль 5$m!!!!
38. bsturtle 158 20.06.18 00:11 Сейчас в теме
РАБОТАЕТ! тем у кого не сработало - см. комментарий 25
39. bsturtle 158 20.06.18 00:15 Сейчас в теме
прогонять приходится 2-3 раза. потом уже остатки добиваем штатным удалением помеченных.
базу упп 1.3 на 150 тысяч помеченных объектов, на обычном пк corei5 с 8 гб оперативки зачистила за сутки. автору спасибо
40. doctorov_s 39 04.03.19 16:32 Сейчас в теме
Скачал данную обработку в итоге по времени работает не быстрее да ладно бы не быстрее, так она работает не корректно (удаляет лишние данные без движений, да и приходится править ошибки в коде) все что написано выше что полезная полная чушь...
41. doctorov_s 39 04.03.19 16:33 Сейчас в теме
Жаль потраченные 5 стартмани
42. b-dm 169 04.03.19 17:48 Сейчас в теме
(41) - там уже выше комментировали, что она действительно работает очень выборочно...но вы же всегда можете заминусовать :)
43. Deryni 23 07.03.19 16:10 Сейчас в теме
Блок, начинающийся со строки 739
				Если Строка.ТипМД = "Документ" Тогда
					
					Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 1
					|"
					+ НайденныеСтроки[0].ТекстЗапроса_БезДвижений
					+ "
					|И ТекДокумент.Ссылка = &Параметр
					|И НЕ ТекДокумент.ПометкаУдаления";
					
					Если Запрос.Выполнить().Выбрать().Количество() = 0 Тогда
						
						Строка.МожноУдалять = Ложь;				
						Прервать;
						
					КонецЕсли;
					
				КонецЕсли;
Показать


Я так понимаю, что тут проверяется, есть ли у документа движения. Во-первых при этом вылетает на первом же документе, у которого нет движений. Поэтому вот это:
					Если Запрос.Выполнить().Выбрать().Количество() = 0 Тогда

меняем на это:
					Если Запрос.Выполнить().Выбрать().Количество() <> 0 Тогда


а Прервать; на Продолжить;
44. acanta 67 07.03.19 16:15 Сейчас в теме
А что понимается под выбрать()?
Создается и сразу же уничтожается в памяти объект из которого берется только количество()? Флуктуация какая то..

А потом что с запросом, снова выбрать или выгрузить?
45. Deryni 23 07.03.19 17:41 Сейчас в теме
(44) тут как раз всё понятно, проверяем пустая ли выборка.
Выполнить() создаёт объект РезультатЗапроса.
Выбрать() создаёт объект ВыборкаИзРезультатаЗапроса для этого объекта
Количество() возвращает количество значений в выборке.
В принципе можно заменить на
НЕ Запрос.Выполнить().Пустой()

А дальше выгружать нечего. Это запрос просто проверить, есть ли ссылки на этот объект в движениях.
46. GC_Rogneda 12.09.19 11:24 Сейчас в теме
Буду пробовать на базе 200 ГБ )
47. altshift 23.10.19 14:40 Сейчас в теме
На управляемых формах не планируете делать?
Оставьте свое сообщение

См. также

Очистка базы данных 1С на базе MS SQL от данных по организациям 22

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

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

10 стартмани

20.09.2019    4600    15    nomad_irk    26       

Быстрое удаление данных по организации, используя ADO 14

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

Время от времени возникают вопросы на форуме Инфостарта по сабжу. Данная обработка решает данную задачу.

1 стартмани

12.08.2019    1410    11    Fox-trot    19       

Удаление неиспользуемых элементов справочников в БП 3.0, УНФ 1.6, Розница 2.2, УТ 11.4, КА 2.4, 1С ERP 2.4 12

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

Данная обработка предназначена для удаления неиспользуемых элементов справочников в конфигурациях "1С: Бухгалтерия предприятия 3.0", "1С: Управление нашей фирмой 1.6", "1С: Розница 2.2", "1С: Управление торговлей 11.4", "1С: Комплексная автоматизация 2.4", "1С: ERP Управление предприятием 2.4"

1 стартмани

15.03.2019    2367    40    BurlakovIvan    0       

Восстановление настроек плана счетов и очистка некорректных рабочих счетов в БГУ 1.0 12

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

В плане счетов в БГУ 1.0 есть возможность восстановить настройки по умолчанию. Но при наличии некорректных рабочих счетов, восстановление настроек не выполняется. При этом даже нет информации, в каком именно счете проблема. Данная обработка находит некорректные рабочие счета и удаляет их.

1 стартмани

04.03.2019    8996    166    Sashares    32       

Обнуление остатков регистров бухгалтерии и накопления 41

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m) Универсальные обработки Чистка базы

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    8962    171    morozov.sv    30       

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. 32

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

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    18436    287    Eugen-S    34       

Очистка замеров производительности - даешь больше места на диске (= меньше хлама в базе) 39

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 Розница УНФ БП3.0 УТ11 ЗУП3.x Абонемент ($m) Чистка базы

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

1 стартмани

31.10.2018    6364    88    1c.pro.fun    8       

Перенос организации в отдельную базу, полная очистка базы от данных организации (версия от 25.07.2019) 14

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

Данная обработка позволяет удалить организацию и все связанные с ней данные – документы, элементы справочников, записи регистров сведений. Обработка полезна для выделения организации в отдельную базу. Доработано для ЗУП 3.1.

3 стартмани

14.08.2018    7196    174    serge_msk    38       

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних) 4

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

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    8281    14    Alexander.Shvets    9       

Помощник удаления и очистки объектов 14

Инструменты и обработки no Расширение (cfe) v8 Розница УНФ БП3.0 УТ11 КА2 Абонемент ($m) Чистка базы

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

2 стартмани

04.06.2018    7163    59    Kutuzov    10       

Удаление данных средствами SQL, теория и практика 18

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

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

5 стартмани

25.04.2018    8451    63    METAL    28       

Очистка базы данных от данных по организации 33

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

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

1 стартмани

23.01.2018    10965    85    mugr    25       

Удалить "ненужную организацию" в БП 3.0 (+ доп.обработка для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6) 37

Инструменты и обработки Системный администратор Программист Бухгалтер Архив с данными v8 v8::УФ Розница УНФ ERP2 БП3.0 КА2 ЗУП3.x Абонемент ($m) Чистка базы

Обработка, способная удалить все данные по выбранной организации из конфигурации Бухгалтерия предприятия 3.0. (+ обработка "Универсал" для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6)

1 стартмани

06.11.2017    21703    595    Ant10    0       

Очистка регистрации обмена 4

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

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

1 стартмани

19.09.2017    9139    4    serg-lom89    0       

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

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

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

1 стартмани

06.06.2017    14874    46    Dima_    6       

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

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

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

1 стартмани

09.05.2017    11938    252    stone_evil    20       

Что мешает удалению объектов? 18

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

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

1 стартмани

20.12.2016    12169    106    Alxby    17       

Задвоились предопределенные элементы справочников? Выход есть! 13

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

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

1 стартмани

02.11.2016    15363    84    Luchik    8       

Удаление помеченных объектов, замена ссылок. Обычное и управляемое приложение. Не монопольно, включая рекурсивные ссылки, с отбором по метаданным и произвольным запросом 90

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

Обработка удаления помеченных объектов с расширенным функционалом. Работает в обычном и управляемом приложении. Монопольный и разделенный режим работы. Отображение и отбор по структуре метаданных. Отборы данных произвольными запросами. Копирование и сохранение отборов. Удаление циклических ссылок (рекурсия). Представление циклических в виде дерева с отображением ключевых ссылок, не позволяющих удалить текущий объект информационной базы. Удаление записей связанных независимых регистров сведений. Групповая замена ссылок. Индикатор прогресса при поиске и контроле ссылочности.

10 стартмани

31.10.2016    39950    520    m..adm    184       

Удаление неиспользуемых элементов справочника (простые и управляемые формы) 29

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

Обработка предназначена для удаления неиспользуемых элементов выбранного Вами справочника. Обработка конфигурационно-независима. UPD. Расширены возможности обработки

3 стартмани

02.08.2016    9531    78    roma_semenov79    6       

Удаление документов по организациям для 1С:Бухгалтерия Предприятия 3.0 и 2.0 (управляемые и простые формы) 55

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

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

3 стартмани

31.07.2016    22356    313    Krasnyj    52       

Ошибка "Записи регистра сведений стали неуникальными" 31

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

При обновлении конфигурации периодически может возникать ошибка "Записи регистра сведений стали неуникальными" или "Имеются записи с одинаковыми измерениями". Что она означает и как ее исправить.

1 стартмани

21.07.2016    57624    663    ekaruk    36       

Многопоточное удаление объектов 9

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

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

2 стартмани

02.06.2016    19238    49    zzz_natali    20       

Удаление помеченных объектов с отбором по метаданным 10

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

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

1 стартмани

06.04.2016    18914    136    endym    7       

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

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

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

2 стартмани

05.04.2016    15730    66    katerinaUniv    8       

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

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

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

2 стартмани

03.04.2016    40656    717    Alex_E    340       

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

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

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

1 стартмани

10.03.2016    30389    291    GlebHappy    50       

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

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

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

5 стартмани

23.02.2016    25608    94    Igortid    17       

Чистка регистров накопления {остатки и обороты} по закрытым движениям (обычные формы) 7

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

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

1 стартмани

22.02.2016    20626    44    endym    13       

Непосредственное удаление объектов из базы (не монопольно - вся цепочка) 11

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

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

2 стартмани

07.02.2016    13928    217    maXon777    8       

Замена дублей средствами SQL (MS SQL, УФ, 8.2, 8.3) 13

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Чистка базы Поиск данных Обработка справочников

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

1 стартмани

02.02.2016    12624    66    v.krivenko    10       

Удаление дублей или замена одних элементов справочников другими 11

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

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

1 стартмани

17.12.2015    7918    123    DrugOn    18       

Удаление организации из 1С. Чистка базы 1С. Удаление "не удаляемых" объектов 37

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

Удалить все документы, чтобы в базе осталась только одна организация со своими документами? Удалить всю информацию в регистрах, не связанную с указанной фирмой? Удалить "неудаляемую" номенклатуру? Легко! Используйте эту обработку.

10 стартмани

02.10.2015    44030    312    spy-83    63       

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

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

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

1 стартмани

15.09.2015    18172    33    Smaylukk    3       

Версионирование объектов - отключение создания одинаковых версий + обработка по их удалению 11

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

Стандартная процедура версионирования объектов создает одинаковые версии при перепроведении / перезаписи объекта без изменения реквизитов. Следовательно, база пухнет от пустых версий, особенно при закрытии месяца (проведение документов).

1 стартмани

10.08.2015    16731    32    VovkaPutin    7       

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

Инструменты и обработки Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 v8::ПВХ КА1 УПП1 ERP2 УТ11 КА2 Windows Учет ТМЦ Абонемент ($m) Чистка базы Обработка справочников Обработка документов

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

10 стартмани

04.08.2015    19859    58    echo77    30       

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

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Чистка базы Обработка справочников

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

1 стартмани

31.07.2015    28873    94    primat    9       

Удаление помеченных объектов за период + поиск помеченных запросом 12

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

Обработка позволяет отметить документы, помеченные на удаление за выбранный период. Разорвать связь между заказом поставщику и другими документами. А также позволяет заполнить перечень объектов, которые надо удалить запросом.

2 стартмани

07.07.2015    16996    119    echo77    9       

Изменение и очистка регистра сведений (управляемые формы) 16

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

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

1 стартмани

17.06.2015    12940    234    gorsh157    10       

Методика перехода с 1С БП Проф на 1С БП базовую 11

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

Возникла ситуация, вынуждающая Вас или Вашего клиента перейти с БП Проф на базовую версию? Нет смысла объяснять зачем, этот шаг можно только приветствовать! Попробую (может быть, уже не в первый раз на форуме Инфостарта) помочь с переходом.

1 стартмани

04.06.2015    19383    48    asdfgcom    34       

Очистка базы средствами SQL (управляемое приложение) 43

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

Очистка базы средствами SQL (управляемое приложение). Полная и частичная. Любая конфигурация 1С 8.2, 8.3. Тонкий клиент, управляемое приложение, Такси

3 стартмани

26.05.2015    30210    350    stsasha87    37       

"Распил" базы БП 3.0. Удаление организации из базы со всеми связанными данными 34

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

Необходимо удалить одну из организаций из информационной базы Бухгалтерия предприятия, редакция 3.0? Разделить одну, общую базу, где ведется учет по нескольким организациям? Данная статья может быть полезна!

1 стартмани

12.01.2015    50255    675    DDos76    30       

Hasher Pro 1C \ 8.x \ Абсолютная очистка Кэша \ Кеша \ Хеша \ Временных файлов \ Мусора \ Создание гибкого скрипта очистки VBS \ BAT \ Дополнительные возможности \ УФ и Обычные \ Яркие впечатления 107

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

Hasher Pro 1C - это новый подход в очистке кэша 1С:Предприятия. В сообществе временные файлы пользователя 1С называют по разному: кэш, кеш, хеш и т.д. Как правило этот мусор хранится годами на вашем компьютере и занимает очень много места - сотни гигабайт могут быть заняты бесполезными файлами. Hasher Pro 1C сочетает в себе ТРИ варианта очистки Кэша: 1) Быстрый и безопасный, подходит для любого пользователя 1С. 2) Полный и более тщательный, для программистов и уверенных пользователей. 3) Агрессивный с дополнительными административными возможностями. * А так же интерактивное создание скрипт файлов VBS или BAT для отложенной очистки или передачи скрипта коллегам. Используйте обработку Hasher Pro 1C как незаменимый инструмент при работе с 1С:Предприятием 8.1, 8.2 и 8.3 в клиент-серверном и файловом варианте. Поддержка толстого клиента, тонкого клиента, управляемых форм, интерфейса Такси. Совместимость: Windows XP/Vista/7/8/10 (x32/x64) + Серверные платформы.

3 стартмани

02.01.2015    39782    541    ya.Avoronov    34       

Проблемы переноса данных в ЗУП 3.1 и 3.0 14

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

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

1 стартмани

19.11.2014    35080    180    perepetulichka    10       

Удаление неиспользуемой номенклатуры 18

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

Обработка ищет неиспользуемые элементы справочника "Номенклатура" и помечает их на удаление.

1 стартмани

04.08.2014    23415    199    Istur    4       

1С:Бухгалтерия 8. Переход на редакцию 3.0 с настройкой обмена (УТ 10.3) 20

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

Последовательность действий для наиболее безболезненного перехода на новую редакцию (На примере 3.0.33.19) и восстановлению штатного обмена с УТ 10.3. Инструкция подготовлена на основе рекомендаций 1С и личного опыта.

1 стартмани

08.06.2014    24634    24    magdeevik    16       

Поиск, замена и удаление дублей любого ссылочного элемента (не только справочников) 11

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

Поиск, замена и удаление дублей любого ссылочного элемента: документы, справочники, планы видов расчета, задачи, бизнес процессы, планы видов характеристик, планы счетов.

1 стартмани

04.06.2014    13228    401    baa50    28