Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

1С v8. Удаление объектов

1С v8. Удаление объектов
Я
   User_Agronom
 
08.01.13 - 14:37
Можно ли программно установить метку удаления на объект не получая и не записывая его?

Вариант приведённый ниже не подходит((
Объект1 = Выборка.ПолучитьОбъект();
Объект1.ПометкаУдаления=Истина;
Объект1.Записать();

Нужно просто установить метку (удалить его полностью)
 
 
   zak555
 
1 - 08.01.13 - 14:38
установить метку != удалить его полностью
   Нуф-Нуф
 
2 - 08.01.13 - 14:38
"Нужно просто установить метку (удалить его полностью)" ты бы определился, шашечки или ехать
   acsent
 
3 - 08.01.13 - 14:38
без объекта никак
   1Сергей
 
4 - 08.01.13 - 14:38
>>Нужно просто установить метку (удалить его полностью)

это пять
   Тот
 
7 - 08.01.13 - 14:40
Оригинально. Перевожу на русский. "Можно ли изменить объект, не записывая его?"
Ответ. "Можно. Только он не изменится."
   Тот
 
8 - 08.01.13 - 14:41
А почему приведенный вариант то не подходит?
   acsent
 
9 - 08.01.13 - 14:43
скорее всего вопрос в том чтобы избежать события передзаписью
   1Сергей
 
10 - 08.01.13 - 14:43
Объект1 = Выборка.ПолучитьОбъект();
Объект1.Удалить();

не?
 
 Рекламное место пустует
   Нуф-Нуф
 
11 - 08.01.13 - 14:44
настоящие адинеснеги убивают запись в физических таблицах. и никаких "ПередЗаписью"
   1Сергей
 
12 - 08.01.13 - 14:45
Пардон,

Объект1.УстановитьПометкуУдаления(Ыстына);
   User_Agronom
 
13 - 08.01.13 - 14:45
(8) Объект кривой. Он не запишется, так как там много ошибок.
Нужно его просто удалить.
(10) Спс, сейчас попробую.
   User_Agronom
 
14 - 08.01.13 - 14:45
(12) сейчас попробую.
   Тот
 
15 - 08.01.13 - 14:46
(9) Так переписать его. Проверить - была только пометка установлена или нет.
   acsent
 
16 - 08.01.13 - 14:47
(14) не поможет. Првильно все проверки перед записью ставить после
проверки ОбменДанными.Загрузка = Истина
   Тот
 
17 - 08.01.13 - 14:47
(13) Ага. Давай. Получишь битые ссылки.
   User_Agronom
 
18 - 08.01.13 - 14:47
(12) Не катит. Он всё равно объект перезаписывает
   User_Agronom
 
19 - 08.01.13 - 14:48
(17) Не получу. Эти объекты ни с чем не связаны.
   User_Agronom
 
20 - 08.01.13 - 14:48
В идеале просто выставить метки и штатным образом удалить. Если что-то с чем-то и связано - так оно не удлалится
   1Сергей
 
21 - 08.01.13 - 14:49
(19) тогда удали их из конфигурации
   User_Agronom
 
22 - 08.01.13 - 14:50
(21) А как насчет контроля: вдруг где-то с чем-то связано?
   acsent
 
23 - 08.01.13 - 14:50
update ... set DeletionMark = 1
   Тот
 
24 - 08.01.13 - 14:50
(18) Может там перед удалением процедура имеется?
   1Сергей
 
25 - 08.01.13 - 14:53
(22) Операции > Поиск ссылок на Объекты
   User_Agronom
 
26 - 08.01.13 - 14:53
(9) Да. Нужно избежать события "перед записью"
Я неправильно выразился
   User_Agronom
 
27 - 08.01.13 - 14:54
(25) кривых объектов около 400. Все их искать долго.
На то мы и программисты))
   Тот
 
28 - 08.01.13 - 14:54
(26) Так закомменти его. А после удаления - восстанови.
   User_Agronom
 
29 - 08.01.13 - 14:55
(10) - это работает.
Но, насколько я понимаю, просто удаляется объект: без контроля зависимостей.
   1Сергей
 
30 - 08.01.13 - 14:56
(29) прально понимаешь
   Тот
 
31 - 08.01.13 - 14:57
(29) Правильно понимаешь. Без контроля ссылочной целостности удаляет.
   Тот
 
32 - 08.01.13 - 14:57
(29) Потом можешь пройтись лечилкой. Восстановит что-то как-то криво.
   User_Agronom
 
33 - 08.01.13 - 15:03
С одним подобным случаем я уже справился. (просто заполнял пустые значения - всё равно же потом удалять). Осталось всего два кривых объекта, которые оказалось несложно проверить вручную через (25)
Теперь второй. Осложняется тем, что для того, чтобы записать нужно править правильные объекты (чего не хотелось бы).
Самое интересное, можно щелкнуть правой кнопкой мыши и без всякой записи установить метку удаления. Поэтому родилась мысль, что это можно сделать программно. Но не знаю как((
 
 
   Mafoni
 
34 - 08.01.13 - 15:20
А УстановитьПометкуУдаления ?? Не катит ???
   Aprobator
 
35 - 08.01.13 - 15:25
(13) если конца типовая и объект не переписке через одно место, то может помочь:
...
ИзменяемыйОбъект.ОбменДанными.Загрузка = Истина;
ИзменяемыйОбъект.Записать();

   Aprobator
 
36 - 08.01.13 - 15:26
Млин. Андроид замахал слова подменять (
   Mafoni
 
37 - 08.01.13 - 15:26
(34) +  ОбменДанными.Загрузка = Истина - в стандартных конфах в процедуре ПередЗаписью есть проверка на то откуда записывается объект!!
   Mafoni
 
38 - 08.01.13 - 15:27
(36)  будь мужиком юзай вин 8!!!
   Aprobator
 
39 - 08.01.13 - 15:34
(38) на таблетке?
   Mafoni
 
40 - 08.01.13 - 15:36
Бросай колеса нафиг они к добру не доведут ! :)
   User_Agronom
 
41 - 08.01.13 - 15:37
(35) Конфигурация типовая.
Старт был дан другим программистом.
Этот "программист" наделал кучу косяков. Пытаюсь по одному избавляться.
Я думаю, что нормальный программист (и даже админ) должен понимать вещи вроде (31) и отдавать отчет своим действиям.
Метка удаления тем и хороша, что практически ничего не изменяет. Т.е. висячих ссылок не будет. А уж по 3-5 объектам можно и (25) провести проверку и анализ.
   Mafoni
 
42 - 08.01.13 - 15:39
(41) нормальный программист перед тем как сделать важные изменения backup делает !
   User_Agronom
 
43 - 08.01.13 - 15:43
(42) Это правильно.
Но когда пишешь код нужно представлять, что этот код делает.
Можно просто удалить и забить. А потом будет висеть куча ссылок битых и пр. пр. пр. И никто, кроме программиста, про это в конторе не узнает


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует