|
v7: Вопрос знатокам прямых запросов 1С++ | ☑ | ||
---|---|---|---|---|
0
dimm7310
02.07.14
✎
12:51
|
пробую в тестовой базе удаление документов посредством прямых запросов
при таком запросе удаляется только запись о документе в таблице _1SJOURN, а сам документ остается в DH и DT и его записи по регистрам ? [code] |DELETE |_1SJOURN |FROM _1SJOURN AS Журнал |WHERE (Журнал.IDDoc = :Док) |"; [/code] |
|||
1
Злой Бобр
02.07.14
✎
13:09
|
(0) Надеюсь ты в копии пробуешь?..
Ты код неправильно написал. Незабывай что ID у разных типов документов могут совпадать. Т.е. приходная и расходная могут иметь один и тот же ИД, но разный вид документа. При твоем коде удалятся обе записи. Посмотри готовый примеры на сайте компоненты. Там все подробно есть. |
|||
2
dimm7310
02.07.14
✎
13:21
|
(1) конечно в копии.
Этот пример пробный и удалять документы я хочу фильтруя не по ID . И все таки при таком запросе удаляется только ссылка на документ в журнале или все движения по документу тоже? |
|||
3
mikecool
02.07.14
✎
13:22
|
(2) нет, удаляется ровно то, что написано
никаких триггеров в 1с нет |
|||
4
dimm7310
02.07.14
✎
13:23
|
странно, тогда почему съезжают остатки по регистру, как если бы и удалялись движения сделанные этим документом.
|
|||
5
mikecool
02.07.14
✎
13:26
|
(4) потому что нет заголовка документа, скорее всего
проверь прямым селектом к движениям |
|||
6
DmitrO
02.07.14
✎
13:37
|
(4)Потому что в 77 расчет остатков по регистру может идти с участием _1SJOURN. Если в метаданных регистра не стоит флажок Быстрые движения или как там его, в таблице движений нет поля для DateTimeIDDoc.
|
|||
7
dimm7310
02.07.14
✎
13:38
|
не знаю на сколько выполнима задача (как раз и пытаюсь исследовать): нужно быстро удалить ссылки на документы в _1SJOURN , что бы их не было видно, но движения по ним оставались . Понимаю звучит абсурдно и сразу возникают вопросы типа "Зачем Ты угробишь базу" , я просто пока исследую варианты как быстро скрыть часть документов (со своим префиксом) на случай внезапной проверки (которая может быть в ближайшее время). Не спрашивайте почему так организована база - так было сделано до моего прихода.
Вообщем нужно быстро удалить ссылки на документы в _1SJOURN , что бы их не было видно, но движения по ним оставались, восстанавливать удаленные доки не придется, планируется восстановить ночной бекап базы и закачать в него док-ты сделанные сегодня. |
|||
8
DmitrO
02.07.14
✎
13:41
|
(7) :)
|
|||
9
varelchik
02.07.14
✎
13:48
|
(1) Ты сам то подумал что написал?
внимательно посмотри в dd и увидишь что iddoc это уникальное поле. id только в пределах справочников уникален. вот там твоя ситуация имеет смысл. |
|||
10
Злой Бобр
02.07.14
✎
14:12
|
(7) Незнаю как у Вас, но у нас проверяют документы а не записи в БД. Если придут с конкретной задачей то против паяльника непопрешь, даже если серваки будут на Луне. Так что завязывайте вы со своими ларечными понтами.
(9) Нет, я даже незадумывался. И у меня нет желания доказывать очевидное. Если сомневаетесь - учите матчасть. |
|||
11
ADirks
02.07.14
✎
14:19
|
(10) а зря не задумывался
#----Indexes------ # Name |Descr |Unique|Indexed fields |Type I=PK__1SJOURN |ROW_ID |1 |ROW_ID |1 I=IDDOC |Id Doc |1 |IDDOC |0 |
|||
12
varelchik
02.07.14
✎
14:28
|
(10) Это вы батенька учите матчасть.
+(11) 100. |
|||
13
varelchik
02.07.14
✎
14:28
|
(10)интересно как по вашему работает функция НайтиДокумент()
|
|||
14
mikecool
02.07.14
✎
14:44
|
(7) твой путь - не путь самурая, он ведет в никуда
|
|||
15
dimm7310
02.07.14
✎
14:49
|
(14) я как-то и не очень стремлюсь быть самураем. Значит ни как не спрятать док-ты
|
|||
16
Эмбеддер
02.07.14
✎
14:51
|
можно вообще без программирования открыть консоль MSSQL и удалить таблицы правой кнопкой мыши по одной
|
|||
17
Dolly_EV
07.07.14
✎
08:52
|
(0),(15) Зачем прятать? все равно же "из бэкапа поднимать" собираешься "после проверки" :-))? Ну так и удали их совсем! вместе с движениями.
Вот инструмент (не мое, я поправил немного, галочки добавил "только пометка" и "только движения"): [url=http://webfile.ru/87ca3bd6dac62210587aecd58a4a8b03]СкачатьУдалениеДокументовСредствамиSQL.ert[/url] А вообще в (10) в первой части совершенно правильно замечено, что проверка приходит проверять бумажные документы, а не "базу 1С" |
|||
18
Dolly_EV
07.07.14
✎
08:52
|
||||
19
Ёпрст
07.07.14
✎
08:58
|
(0)
А есть смысл "прятать" таким способом ? А архивы скулевы тоже прячешь при этом ?.. |
|||
20
Dolly_EV
07.07.14
✎
09:15
|
(19) Архивы типа "на луне"))
|
|||
21
dimm7310
07.07.14
✎
09:39
|
(17) спасибо посмотрю.
Пока что как вариант в обработке сделал не удаление документов а подмену их в журнале на пустой документ "Корректировка". |UPDATE |Журнал |SET |Журнал.IDDocDef = 28201 |,Журнал.IDJOURNAL = 0 |FROM _1SJOURN AS Журнал |WHERE (Left(Журнал.DOCNO,1) = :Префикс) при этом во всех журналах вместо старых документов отражается док-т "Корректировка" с номером скрытого документа и движения по регистрам все сохраняются и по всем отчетам регистратором движений теперь отражается док Корректировка. Конечно это тоже подозрительно - если копать начнут. Вообщем я предложил начальству это как вариант - пусть рассматривают. |
|||
22
dimm7310
07.07.14
✎
09:40
|
(19)-(20) типа недосягаемы, но эта не моя головная боль а админа
|
|||
23
orefkov
07.07.14
✎
09:52
|
(21)
Беги оттуда. Ничего хорошего там уже не будет. |
|||
24
Dolly_EV
07.07.14
✎
09:57
|
(22) а админ как раз "заболел"))) или "приходящий".... Детский сад короче.
(23) поддерживаю на 146% |
|||
25
VladZ
07.07.14
✎
09:57
|
(23) +500!
Слишком "топорно"... Прятать нужно так, чтобы на самом видном месте было не видно. |
|||
26
Dolly_EV
07.07.14
✎
09:58
|
(25) +100500))) Я так и сделал)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |