#0
by barsik123
Есть задачка обрезать данные до выбранной даты в 1c 7.7 sql базе. Для выполнения этой задачки можно использовать следующий код: Проверял код, задачу свою он выполняет. Но мне нужно,чтобы не все документы удалялись, поэтому я подправил этот код таким образом: EXEC ('Delete from '+@TableName+' with (tablock) where '+@ColName+' IN (Select IDDOC FROM ##ID)') END FETCH NEXT FROM MyCur INTO @TableName, @ColName END При выполнении исправленного кода, нужные таблицы пропускаются,т.е. не выполняется для этих функция EXEC,но в итоге документы связанные с этими таблицами все-равно удаляются. Подскажите где ошибка, как правильно задать ограничение.
#2
by barsik123
Спасибо, попробую. Что-то я не совсем понимаю смысл кода, по приведенной мной ссылке в топике. Я так понимаю,что документы удаляются из базы, когда путем перебора добираемся до таблицы 1sjourn, тогда зачем вся эта чехарда с удалением других таблиц, если доки и так удаляются, при удалении 1sjourn?
#4
by vip03
в 77 документ хранится в трех таблицах. 1sjourn - дата, время, общие реквизиты и т.д. dh - шапка документа dt - табличная часть т.е. ты сами документы не удаляешь, но ссылки на них из журнала удалил. вот ты их и не видишь.
#8
by Mikeware
я просто штатным ТиИ в клюшках не пользовался почти никогда (ну, кроме первых пары лет).
#12
by Провинциальный 1сник
В dt и dh нет информации о дате документа. Она есть только в журнале. Так что - не восстановятся. Проверял.
#16
by Mikeware
бездатость® документов исправляется рысканьем по регистрам (если в таковых установлена "быстрая обработка движений"), и "ссылкам документов"
#18
by Провинциальный 1сник
Нет. Вот сейчас проверил, сделал ТиИ. Выдает кучу сообщений типа таких: --- Проверка таблиц документов. Документ ПлатежноеПоручение(DH12070. Запись 9). Нет в журнале документов. Удалено ---
#19
by Mikeware
+ну и часть общих реквизитов с отбором тоже из регистров возможно вытянуть. впрочем, скажи чо доброе по
#20
by Mikeware
там флажки вроде были - как почиупать с потерянными объектами, удалять или восстанавливать.
#21
by Провинциальный 1сник
Это касается только ссылок на удаленные объекты. Безжурнальный документ удаляется в любом случае.
#22
by Mikeware
лень проверять, если честно.... но вроде у меня восстанавливались... "это было так давно, что почти неправда"©
#23
by barsik123
Как то не так все получается. Запускаю скрипт, в течении выполнения скрипта захожу в базу 1с вижу,что документов нет,исключаемые документы остались. Наблюдаю как растет журнал регистрации,но т.к. диск у меня ограничен по размеру, прерываю обработку, сжимаю журнал регистрации, захожу в базу и ... все удаляемые документы на месте. как они вернулись то?
#25
by Провинциальный 1сник
Под словами "журнал регистрации" вы очевидно понимаете журнал транзакций?
#26
by barsik123
Да, журнал транзакций. И что я там вычитаю? Моя задача удалить документы, они восстанавливаются, я так понимаю что вы тоже не очень хорошо в этом вопросе разбираетесь,так бы сразу что-нибудь посоветовали бы, а не отправляли к программисту.
#27
by Провинциальный 1сник
"Наблюдаю как растет журнал регистрации,но т.к. диск у меня ограничен по размеру, прерываю обработку" При изменении данных в пределах одной транзакции журнал транзакции растет, ибо в него копируются ВСЕ изменения, производимые в базе. И так пока транзакция не закончится подтверждением или откатом. Далее возможны варианты. В случае модели восстановления full данные в журнале останутся до бэкапа журнала с очисткой. В модели simple данные в журнале удалятся. В обоих вариантах файл журнала сам уменьшаться не будет, нужен шринк (если нужен). Ищите дополнительное дисковое пространство или переписывайте алгоритм, разделяя его на несколько транзакций.
#28
by Mikeware
там вы вычитаете как минимум причину того, что происходит. сапоги должен тачать сапожник. поэтому вам и советуют позвать программиста.
#29
by Провинциальный 1сник
Напомнило классический баянчик "Надо сделать сложную операцию на позвоночнике моему другу (ему 16 лет). К врачам идти - дорого. Книжку по хирургии мы уже купили. У кого есть опыт - поделитесь!"
#30
by barsik123
Извините, возможно за глупые вопросы, просто ранее не приходилось разбираться с базами на sql, вот теперь возникла такая задача. У меня в базе используется простая модель данных. Я предполагал, что сжатие базы привет просто к удалению журнала, а произошло,что сжатие приводит к восстановлению данных за последнюю транзацию. такой журнал большой мне по-любому не нужен, поэтому журнал нужно удалять. Ну я как бы и зашел к программистам. Вы же тоже при непонятных ситуациях либо разбираетесь сами, либо заходите на форум, думаю вряд ли сразу приглашаете профи в этой области.
#31
by Провинциальный 1сник
"Я предполагал, что сжатие базы привет просто к удалению журнала, а произошло,что сжатие приводит к восстановлению данных за последнюю транзацию. " Ни то ни другое. Откат произошел потому, что вы прервали транзакцию, не дав ей завершиться. Сжатие тут вообще ни при чем и ни на что не влияет, кроме свободного места на диске!
#32
by Mihenius
Давно же это было ) Для ТИС 1) Нужно сделать подготовку, чтобы не было битых ссылок 2) Само удаление Я вроде под dbf переделывал правда. Под sql Надо править ) ПС: Если Опер учет, то есть еще 2 варианта 1) Спец. доком "Свертка регистра" - делаем срез регистров на дату, что раньше удаляем 2) Правим "косяки" штатной свертки - самый лучший вариант Для бухии аналогично можно доработать косячную штатную и будет в несколько раз быстрее.
#34
by barsik123
Все спасибо понял.буду искать диск отдельно для лога. На серваке стоят скази-диски, на этом диске всего 150 гб, сама база 20 Гб, а журанл разрастается до 100 и больше.Поставлю один большой, на него только лог перекину. С бдф базами, там все просто, все ограничивается знаниями 1с. Ни раз делал, все получалось, а здесь штатными средствами 1с все делается очень долго, а люди с базой работают круглосуточно и без выходных, так что нужно все делать быстро. В базе такой бардак,что классическая свертка бесполезна, проще руками или с помощью обработок занести правильные остатки, поэтому и решил,что удалю данные через sql, а потом занесем остатки.
#35
by Mihenius
Дык, там суть та же. Я брал за основу свертку скуль базы, переделал на дбф Проблему битых ссылок SQL не решить
#36
by Mikeware
вообще-то, журнал транзакций можно назначить и на другой диск. или вообще сделать их несколько, онграничив размер первого (который на диске с базой)
#38
by barsik123
Продолжаю развлекаться в фоновом режиме своей работы со сверткой базы. Есть пара вопросов. 1. Выше я писал,что размер диска небольшой и журнал транзакций разрастается до размеров диска. Думал,что нужно поставить отдельный диск для журнала, но решил проблему без доп. диска, просто разбил одну большую транзакцию удаления всех таблиц на транзакцию при удалении каждой таблицы: BEGIN TRANSACTION EXEC ('Delete from '+@TableName+' with (tablock) where '+@ColName+' IN (Select IDDOC FROM ##ID)') COMMIT TRANSACTION В итоге журанл транзакций уже так не разрастался. Вот думаю, может ли такой финт привести к каким-то негативным последствиям? 2. После выполнения скрипта по удалению таблиц обнаружилось,что удаляется полностью один из справочников базы. Каким чудом это происходит пока не понятно. Я даже для теста отключил удаление системных таблиц, типа _1SCONST и других. Но это не помогло.Может есть у кого мысли, как при выполнении скрипта из ссылки, указанной в топике, может удаляться справочник.
#41
by ADirks
1. Если балуешься с базой-песочницей, то не ставь recovery model 'Full'. Поставь 'Simple'. И нафига там транзакции вообще? 2. а это никто за тебя разбираться не станет
#42
by Ёпрст
мот он на-ходу режет ? :) вместе с пользователями в базе, вот и лепит транзакцию в коде
#51
by ДенисЧ
У меня другой принцип - безумная лень... Это когда ленишься, но иногда такое накатывает...
#52
by Mikeware
ленишься, ленишся... потом как накатит - пипец как ленишься... а потом отпустит - и опять просто ленишься?
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Обрезка комплексной базы
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: Обрезка базы в ТиС.
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
- v7: Обрезка базы ТиС 1с 7.7
В этой группе 1С
- Раскрыть одну группировку табличного документа
- интернетпочта удалить файл вложение
- Оборотно сальдовая по счету в бухии
- Отказ ПередУдалением вызывает исключение
- Дискретное преобразование Фурье
- 1с 8.3 Получить итог по колонке динамического списка
- USB ключ есть, лицензии нет
- Программно изменить реквизит справочника
- Сделать движения неактивными: комплексная автоматизация 1.1
- ЗУП 2.5.99.2 превышение предельной базы в январе
- Подмена текста в шблонах договора world 1с 8
- Запрос к Справочнику и Регистру Сведений
- УТ 11 метод НайтиПодчиненныйДокумент
- как программно вставить разрыв страницы при выводе табличного документа в отчете
- Сокращение журнала регистрации 1с 8.3. Чем потом открыть elf?
- v7: Ошибка создания объекта "MSComctlLib.ImageListCtrl"
- Нет пользователя с правами администратора УТ 11
- v7: ЗИК 1С 7.7. Растет накопленная задолженность по некоторым сотрудникам.
- Передать ТабДок из общего модуля серверного на клиента
- v7: В какой dbf лежат перечисления?