Программное обеспечение

Админам и/или пользователям 1С

Не подскажете каким образом можно удалить,
из 1с всю накопленную информацию (док-ты, контрагенты и т. д. кроме номенклатуры) .
Заранее спасибо.
Удалить документы из 1С: Бухгалтерии можно вручную, щелкая кнопкой Delete на каждом документе в журнале. Но можно применить стандартную обработку документов из меню «Сервис» . Запускаем «Обработка документов» . В появившемся диалоге указываем соответствующий диапазон дат, и помечаем на удаление все документы. Далее через меню «Операции» удаляем помеченные объекты. После этой операции в базе останутся только справочники.
Формально, теперь информационная база не содержит документов и пригодна для внесения новых данных. Однако записи не удалены из таблиц базы окончательно, они только помечены как неактивные. Наша информационная база будет занимать столько же места на диске, что и до удаления.
Чтобы окончательно освободиться от удаленной информации нужно открыть базу в режиме Конфигуратора и выбрать из меню «Администрирование» команду «Тестирование и исправление информационной базы» . В появившемся диалоговом окне отметьте пункт «Упаковка таблиц информационной базы» и щелкните на кнопке «Выполнить» .
Информационная база будет перестроена, при этом размер ее файлов значительно сократится. Останется только отредактировать списки справочников и переименовать отдельные элементы справочников «Фирмы» и «Счета нашей фирмы» , записав туда реквизиты нового предприятия.

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

П. С. Забыл сказать что обязательно скопируйте вашу информационную базу перед манипуляциями...
Юрий Барышников
Юрий Барышников
7 556
Лучший ответ
семерка/восьмерка? файловая? конфигурация? ответить конечно можно и без ответов на эти вопросы,
Создается новая чистая конфа, конвертация данных сделает проброс данных без вопросов. Оплатить час работы специалиста проблем не составит.
Можно попробовать самописки http://www.infostart.ru/projects/2711/
Просто запустить скрипт, например из SQL Query Analizer’а. Текст скрипта представлен ниже:

USE MyTestBase
Go
CREATE TABLE ##ID
(IDDOC char(9) primary key clustered)
Go
INSERT INTO ##ID
SELECT DISTINCT IDDOC
FROM _1SJOURN
WHERE (DATE_TIME_IDDOC < '20040101')
Go
BEGIN TRANSACTION
DECLARE Mycur cursor for
SELECT sysobjects.name,syscolumns.name
FROM syscolumns INNER JOIN
sysobjects ON syscolumns.id = sysobjects.id
WHERE (syscolumns.name = N'iddoc') OR
(syscolumns.name = N'docid')
OPEN MyCur
DECLARE @TableName varchar(20)
DECLARE @ColName varchar(20)
FETCH NEXT FROM MyCur INTO @TableName, @ColName
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('Delete from '+@TableName+' with (tablock) where '+@ColName+' IN (Select IDDOC FROM ##ID)')
FETCH NEXT FROM MyCur INTO @TableName, @ColName
END
CLOSE MyCur
DEALLOCATE MyCur
COMMIT TRANSACTION
DROP TABLE ##ID

Сначала из таблицы журналов документов выбираются в отдельную временную таблицу все идентификаторы документов с датой меньше заданной. Теперь о том, что делает этот скрипт. Он проходится по метаданным и удаляет из всех таблиц, где есть колонка IDDOC или DOCID, строки с идентификатором документа, входящим в таблицу удаляемых. Таким образом чистятся таблицы документов, регистров и периодических реквизитов.

это будет в 10ки раз быстрее нежели, средствами 1С
М.
Марина .
1 904
Насколько знаю только ручками по одному документу. Сначала делаешь их не проведенными и отправляешь на удаление, а потом там есть функция удалить помеченные для удаления.

Похожие вопросы