|
v7: Удалить документы базы 1С | ☑ | ||
---|---|---|---|---|
0
box
05.12.17
✎
14:41
|
Необходимо физически удалить все документы кроме документа "Договор" в базе (dbf) 1С 7.7 Бухучет. Обработка архивирование не подходит, т.к. процедура занимает длительное время. Создал bat файл для удаления:
Pause del New_Stru del Syslog del *.cdx del *.lst del 1cv7srct.st del dt*.* del dh*.* del 1sjourn.dbf del 1scrdoc.dbf del 1sdnlock.dbf del 1sstream.dbf del rg*.* del ra*.* del 1SOPER.dbf del 1SENTRY.dbf del 1SBKTTLC.dbf del 1SBKTTL.dbf del 1SACCSEL.dbf del 1SSBSEL.dbf del 1supdts.dbf del 1sdwnlds.dbf del 1sdbset.dbf Документы Договор находится в файле DH332.dbf Вопрос каким образом можно оставить только эти документы? |
|||
1
Ёпрст
05.12.17
✎
14:43
|
del 1sjourn.dbf
зачет, ага |
|||
2
Злопчинский
05.12.17
✎
14:43
|
В упомянутой вами конфигурации - а её относимые к типовой бух 77 - документа Договор - нет
Поэтому что там у вас в вашем самопальном документе и как он связан с другими документами - знает только Яхве |
|||
3
nordbox
05.12.17
✎
14:44
|
Проще оставить один MD грохнуть все, пересоздать структуру, посмотреть DD файл и подсунуть ему файл договорами, вот только вопрос по справочникам которые в нем участвую ....
думай |
|||
4
nordbox
05.12.17
✎
14:45
|
(1) не расстраивай человека )
|
|||
5
Масянька
05.12.17
✎
14:50
|
(0) Вроде не первый раз замужем... А такие вещи спрашиваешь...
Открой файл dd, найди свой док-т, посмотри, подумай... И, кстати, как минимум - на боевой БД делать :) |
|||
6
box
05.12.17
✎
15:03
|
(5) файл DH332.dbf с документами Договор. Подставляю его. Файл 1sjourn.dbf также подставил. В общем журнале все документы остались. Тестирование и исправление. Посмотрю, что выйдет с этого)
|
|||
7
Ёпрст
05.12.17
✎
15:05
|
(6) ничего хорошего.
|
|||
8
box
05.12.17
✎
15:07
|
(7) какое другое решение?
|
|||
9
Злопчинский
05.12.17
✎
15:09
|
(8) если тч нет то просто
|
|||
10
Ёпрст
05.12.17
✎
15:29
|
(8)
для начала, так, хотя бы: //******************************************* Процедура Сформировать() Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Exclusive=Yes;Mode=ReadWrite;Collating Sequence=MACHINE"; ДБ = СоздатьОбъект("OLEDBData"); Рез = ДБ.Соединение(Соединение); Запрос = ДБ.СоздатьКоманду(); Запрос.Выполнить("EXECSCRIPT('SET ANSI OFF')"); Запрос.Выполнить("EXECSCRIPT('SET REFRESH TO 0,-1')"); Запрос.Выполнить("Exec('SET TABLEVALIDATE TO 0')"); Запрос = ДБ.СоздатьКоманду(); ВидДокумента="Договор";//ну или какое там у тя имя ? ТекстЗапроса =" |delete |from |1sjourn |where | iddocdef+dtos(date)+time+iddoc like $ВидДокумента."+ВидДокумента+"+'_______________________' |"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); Для к =1 По Метаданные.Документ() Цикл мета = Метаданные.Документ(к).Идентификатор; Если мета = ВидДокумента Тогда Продолжить; КонецЕсли; Состояние("Шапка "+мета); ТекстЗапроса =" |DELETE |FROM | $Документ."+мета+" |"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); Состояние("Строки "+мета); ТекстЗапроса =" |DELETE |FROM | $ДокументСтроки."+мета+" |"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); КонецЦикла; Состояние("ссылки 1SCRDOC"); ТекстЗапроса =" |DELETE |FROM | 1SCRDOC |WHERE CHILDID NOT IN(SELECT Жур.iddoc FROM 1sjourn as Жур)"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); Состояние("периодика 1SCONST"); ТекстЗапроса =" |DELETE |FROM | 1SCONST |WHERE DOCID<>' 0 ' and DOCID NOT IN(SELECT Жур.iddoc FROM 1sjourn as Жур)"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); Состояние("проводки 1SENTRY"); ТекстЗапроса =" |DELETE |FROM | 1SENTRY |WHERE (DOCID NOT IN(SELECT Жур.iddoc FROM 1sjourn as Жур))"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); Состояние("операции 1SOPER"); ТекстЗапроса =" |DELETE |FROM | 1SOPER |WHERE DOCID NOT IN(SELECT Жур.iddoc FROM 1sjourn as Жур)"; Запрос.ВыполнитьИнструкцию(ТекстЗапроса); КонецПроцедуры |
|||
11
Ёпрст
05.12.17
✎
15:32
|
после этого сжать все таблички и удалить все *.cdx, зайти монопольно, наслаждаться
|
|||
12
Franchiser
гуру
06.12.17
✎
01:12
|
(10) Зачетно
|
|||
13
Злопчинский
06.12.17
✎
02:13
|
пойду застрелюсь
|
|||
14
craxx
06.12.17
✎
04:58
|
(0) Эпично.
|
|||
15
Зуекщмшср
06.12.17
✎
07:06
|
Всю жизнь создавали пустую конфу из md и перекидывали данные с помощью обработки переноса между идентичными конфигурациями. Всяко проще, чем лазить по dd и отслеживать иерархию взаимосвязанных справочников и перечислений.
|
|||
16
Pahomich
06.12.17
✎
07:14
|
(15) "Нормальные герои всегда идут в обход..."
|
|||
17
0xFFFFFF
06.12.17
✎
07:39
|
(0) Прикольно. Кардинально. Профессионально.
:)))) Не церемонясь. Слушай сюда (15) И еще вопрос - а нафига? |
|||
18
Ёпрст
06.12.17
✎
09:43
|
и это, в (10) not like, если че :)
|
|||
19
Franchiser
гуру
06.12.17
✎
09:46
|
(0) если бы задача была удалить Все документы, оставив только справочники, удаление файлов нормальный вариант, сам так раньше делал, ну а если оставить 1 документ, то не совсем то.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |