|
Странное поведение при физическом удалении | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
24.07.13
✎
14:31
|
На периферийной точке пытаюсь подчистить документы "Переоценка товаров в рознице" - физически удаляю через метод объекта Удалить.
но зараза-программа почему то удаляет еще и движения документа. Как можно удалить документ, не затронув движений? Может это особенность УТ 10.3 (подвязаны какие-то обработчики)? |
|||
1
ale-sarin
24.07.13
✎
14:32
|
А кто должен остаться регистратором у движений?
|
|||
2
ДенисЧ
24.07.13
✎
14:32
|
Ты хочешь движения без регистратора?
Это в твоём духе... |
|||
3
exwill
24.07.13
✎
14:32
|
(0) Эээ... а что, по твоему, должно быть в этих неудаленных движениях в поле Регистратор?
|
|||
4
H A D G E H O G s
24.07.13
✎
14:33
|
Погодите, погодите..
СТОЙТЕ! Гений, это ты штоле? |
|||
5
Гений 1С
гуру
24.07.13
✎
14:33
|
(1) (2) да, движения без регистратора хочу.
Регистраторы сами по себе весят 1 Гб. Для периферийной нужно по ценам знать только одно - есть цена на товар на точке или нет. т.е. это не очень ценная инфа. Но я чищу информацию об удаления в одной транзакции с удалением, непонятно, зачем удаляются движения???? |
|||
6
Гений 1С
гуру
24.07.13
✎
14:33
|
(4) ты по сучеству вопроса давай.
|
|||
7
dva1c
24.07.13
✎
14:33
|
(2) ))))
(0) Никак нельзя оставить движения без регистратора (документ). |
|||
8
ДенисЧ
24.07.13
✎
14:34
|
(5) ты тупой? (Хотя зачем спрашиваю...)
Сделай один служебный документ и вешай движения на него. Не может быть движения в подчинённом регистре без регистратора. |
|||
9
skunk
24.07.13
✎
14:35
|
(7)можно ... правильнее сказать их можно сделать без регистратора
|
|||
10
dva1c
24.07.13
✎
14:35
|
(6) Как правильно читать "по сУчеству" или "по существу"? ))
|
|||
11
ale-sarin
24.07.13
✎
14:35
|
(5) Обработкой записать нужные движения с регистратором "Корректировка записей регистров". Потом убить доки.
|
|||
12
dva1c
24.07.13
✎
14:36
|
(9) Согласен. Можно. Но не в данном случае.
|
|||
13
drcrasher
24.07.13
✎
14:37
|
(all) для гения - всё это слишком просто.
должно быть как в (0) - удалил док, движения оставил. всё. никак иначе. всем спасибо, все свободны. |
|||
14
Maxus43
24.07.13
✎
14:39
|
Док.ОбменДанными.Загрузка = Истина;
Док.Удалить(); |
|||
15
mehfk
24.07.13
✎
14:40
|
(0) >> На периферийной точке подчистить документы "Переоценка товаров в рознице"
убрать галочку в плане обмена не предлагать? |
|||
16
skunk
24.07.13
✎
14:42
|
(14)это не поможет ... это они в обмен не полетят ... но движения все-таки удаляться
|
|||
17
palpetrovich
24.07.13
✎
14:44
|
(7)(8) может! только утром удалял такие "безрегистраторные" движения :)
|
|||
18
dva1c
24.07.13
✎
14:46
|
(17) Как? :)
|
|||
19
Maxus43
24.07.13
✎
14:50
|
(16) ОбменДанными.Загрузка = Истина - не препятствует регистрации в обменах. По крайней мере в УПП
|
|||
20
dva1c
24.07.13
✎
14:55
|
(19) Да тут не стоит "бодаться". Из (0): "На периферийной точке пытаюсь подчистить документы...". Работа ведется на периферийный базе.
|
|||
21
Гений 1С
гуру
24.07.13
✎
14:57
|
(7) (8) да что вы мне байки рассказываете, подаваны. Полно движений без регистратора. РИБ никогда что ли не видели?
|
|||
22
Гений 1С
гуру
24.07.13
✎
14:57
|
(14) блин, я так и знал.... надо проверить.
|
|||
23
Maxus43
24.07.13
✎
14:59
|
(22) тока потом это в центр пойдёт, удаление доков. очисти регистрацию
|
|||
24
skunk
24.07.13
✎
15:04
|
(18)с отбором поо удаленному регистратору ... ссылка же присутствует
|
|||
25
Гений 1С
гуру
24.07.13
✎
15:15
|
(17) вот и я о том же... ;-)
(23) чищу вот так, не знаю правильно или нет, на всякий случай перестраховываюсь, удаляю и ссылку и удаление объекта: (17) вот и я о том же... ;-) (23) чищу вот так, не знаю правильно или нет, на всякий случай перестраховываюсь, удаляю и ссылку и удаление объекта: Функция УдалитьБезРегистрацииДокументы(ГУ, ИмяВида) Экспорт З = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ | Т.Ссылка |ИЗ | Документ.ПоступлениеТоваровУслуг КАК Т | |УПОРЯДОЧИТЬ ПО | Т.Дата"); З.Текст = СтрЗаменить(З.Текст, "ПоступлениеТоваровУслуг", ИмяВида); Выборка = З.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Попытка Сообщить("" + Выборка.Ссылка); Если Удалять Тогда НачатьТранзакцию(); ДО = Выборка.Ссылка.ПолучитьОбъект(); ДО.ОбменДанными.Загрузка = истина; ДО.Удалить(); УО = Новый УдалениеОбъекта(Выборка.Ссылка); ПланыОбмена.УдалитьРегистрациюИзменений(ГУ, УО); ПланыОбмена.УдалитьРегистрациюИзменений(ГУ, Выборка.Ссылка); ЗафиксироватьТранзакцию(); КонецЕсли; ОбработкаПрерыванияПользователя(); Сообщить(Символы.Таб + "Удалено"); Исключение ОписаниеОшибки = ОписаниеОшибки(); Сообщить(Символы.Таб + ОписаниеОшибки, СтатусСообщения.Важное); КонецПопытки; КонецЦикла; КонецФункции |
|||
26
Гений 1С
гуру
24.07.13
✎
15:17
|
(19) да, не препятствует, поэтому я подчищаю за собой следы.
|
|||
27
Maxus43
24.07.13
✎
15:30
|
(26) ну всё получается?
обращайтесь (с) |
|||
28
Maxus43
24.07.13
✎
15:31
|
Можно было в центре зарегистрировать удаление, без удаления самих доков. Вариантов много короче
|
|||
29
Ненавижу 1С
гуру
24.07.13
✎
15:31
|
(25) зачем в тексте запроса слово РАЗЛИЧНЫЕ?
|
|||
30
Maxus43
24.07.13
✎
15:38
|
Транзакция там тоже сомнительно... ну сути не меняет
|
|||
31
Сергиус
24.07.13
✎
15:39
|
(29) на всякий случай!) А вообще - тут скорее идет речь не про движения без регистраторов, а про движения, у которых в качестве регистратора ненайденные ссылки на объект..
|
|||
32
Ненавижу 1С
гуру
24.07.13
✎
15:43
|
(31) почему?
|
|||
33
Сергиус
24.07.13
✎
15:48
|
(31) что почему?
|
|||
34
Ненавижу 1С
гуру
24.07.13
✎
15:50
|
(33) почему ты решил, что "скорее идет речь не про движения без регистраторов, а про движения, у которых в качестве регистратора ненайденные ссылки на объект"
|
|||
35
Сергиус
24.07.13
✎
15:54
|
(34) Потому, что когда удаляешь сам объект, а его движения остаются, то что по твоему будет в поле регистратор? Идентификатор ненайденной ссылки.
|
|||
36
Maxus43
24.07.13
✎
15:55
|
(35) да как хочешь называй, ссылка один хрен битая)
|
|||
37
Сергиус
24.07.13
✎
15:58
|
(36) Просто уточнение..про "движения без регистратора".
Формально регистратор там всегда есть..его "всего лишь" найти нельзя) |
|||
38
Ненавижу 1С
гуру
24.07.13
✎
16:02
|
(37) понятное дело есть, оно NULL не может быть, это часть первичного ключа
|
|||
39
Mitriy
24.07.13
✎
16:04
|
(0) звезда в шоке...
|
|||
40
Mitriy
24.07.13
✎
16:07
|
Если бы просто был вопрос о том, как оставить движения при удалении документов, я бы еще понял, но с таким якобы опытом удивляться тому, что при удалении документа удаляются движения, то бишь впервые с этим столкнуться - это воистину гениальный маразм...
|
|||
41
Mitriy
24.07.13
✎
16:09
|
(0) выгрузить движения документа в таблицы значений, удалить документ, потом записать наборы обратно...
|
|||
42
Гений 1С
гуру
24.07.13
✎
16:16
|
(36) битые ссылки в периферийке - это нормальное явление.
Пример - регистр "Продажи по дисконтным картам". Путешествует по всем точкам, а вот документы не путешествуют.... гыгыгы. (29) да с прошлого запроса осталось, откуда копировал, не суть. не буквоедь. (41) любишь секс стоя в гамаке? Зачем, если проще удалить документы? там объемы огого. Цель всего этого еще раз. у меня в базе документы переоценки весят 1 ГБ, база весит 100 Гб (в центре), периферийку путем разных сжатий ужал до 40 Гб, хочу лишнее почикать, решил документы переоценки грохнуть, нафиг они в переферийке не нужны, вот и написал код... Но когда начал смотреть, увидел, что на девственно чистом плане обмена в центр несутся удаления регистров сведений... Остановил, очистил план обмена, задумался. Поставлю обмен данными загрузка = истина, проверю. думаю, все будет норм. |
|||
43
Mitriy
24.07.13
✎
16:21
|
(42) тогда удали напрямую в скуле...
|
|||
44
braslavets
24.07.13
✎
16:25
|
(42) Перед удалением выгрузи движения в ТЗ, грохни документ, загрузи ТЗ в движения и запиши с ОбменДанными.Загрузка = Истина
|
|||
45
Гений 1С
гуру
24.07.13
✎
16:27
|
(43) это файловая
(44) сложно и обьемы большие |
|||
46
Mitriy
24.07.13
✎
16:30
|
(45) загони ради такого дела в скуль... все равно на порядки быстрее получится... а вообще 40 гигов в файле - это уже за гранью фола...
|
|||
47
Лефмихалыч
модератор
24.07.13
✎
16:30
|
(0) автоудаление движений отключи и не будут чиститься регисты
|
|||
48
braslavets
24.07.13
✎
16:35
|
(45) ВыгрузкаЗагрузкаВXML
Выгрузи регистр по удаляемым документам, грохни документы, загрузи обратно |
|||
49
Mitriy
24.07.13
✎
16:35
|
(47) не факт... в типовых у многих документов автоудаление отключено, удаляются программно - надо код лопатить... а если у автора РИБ, то вообще гемор...
|
|||
50
Гений 1С
гуру
24.07.13
✎
16:46
|
да ладно, думаю обмен данными загрузка = истина решает все проблемы. спасибо за консультацию
|
|||
51
katc
24.07.13
✎
17:01
|
Гений, ну в чем проблема, удаляешь изменения в переферийной базу, затем в центральное базе регистрируешь только движения и они у тебя в переферийной с "Объект не найден...." в измерение регистратор. а затем вообще запрети этому документу ходить по обмену. а регистрам разреши. Будет не красиво, зато не будешь страдать фигней по удалению документов
|
|||
52
Maxus43
24.07.13
✎
17:02
|
(51) быстрей удалить документы, чем через обмен гнать все движения... ну разными путями можно сделать короче
|
|||
53
Гений 1С
гуру
26.07.13
✎
18:11
|
(51) нет, проще как я сделал. уже работает, сообщаю, спасибо за ОбменДаннными.Загрузка. ;-)
(52) вот и я про то что проще удалить. Прочистил, все хоккей. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |