Имя: Пароль:
1C
 
Как можно быстро пометить на удаление тучу документов?
0 1сПупс
 
06.03.26
09:34
Коллеги, доброго утра. С праздником.
Как можно пометить на удаление тучу документов? Пробовал через Групповую обработку справочников и документов:
1. Включил служебные реквизиты (скрин)
2. ОбменДанными.Загрузка = Истина; (скрин)
3. Смотрю документы, движения остались... Куда копать? только интерактивно помечать на удаление?
1 Гипервизор
 
06.03.26
08:49
Документы удалились, а движения остались? И что там теперь в регистраторах?
2 torgm
 
06.03.26
08:51
Туча этот сколько?
3 Ненавижу 1С
 
гуру
06.03.26
08:51
(1) битые ссылки естественно
4 torgm
 
06.03.26
08:52
Ну и цель удаления?
5 1сПупс
 
06.03.26
08:57
(2) 7500
6 1сПупс
 
06.03.26
08:58
(4) ошибочно созданы обработкой
7 Ychenik1c
 
06.03.26
08:59
(0) Реструктуризация таблиц должна помочь
8 maxab72
 
06.03.26
09:03
(6) так надо написать обработку, чтоб быстро удалила все потерянные движения. Тут делов-то, на 5 минут с перекуром.

Присоединяюсь к поздравлению всех с всероссийским днем гурмана. Приятного аппетита.
9 Fynjy
 
06.03.26
09:07
транкейт тейбл для таблиц документов и связанных таблиц
если это один тип документов делет фром для журналов и регистров с движениям этих документов.
И да 7500 это какой то стыд, а не куча.
10 Гипервизор
 
06.03.26
09:22
(3) Да я просто удивлён таким поведением типовой обработки.
Хотя в (0) что-то непонятное, разве Групповая обработка справочников и документов может удалять?
11 Ёпрст
 
гуру
06.03.26
09:23
Если с контролем ссылок, то на ир есть хороший струмент в несколько потоков фоново.
Если рукти прямые, то прямыми запросами с пересчетом итогов потом.
12 1сПупс
 
06.03.26
09:35
(8)

что-то типа и так для каждого регистра?:


	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПриходТовара.Ссылка КАК Ссылка
		|ИЗ
		|	Документ.ПриходТовара КАК ПриходТовара
		|ГДЕ
		|	ПриходТовара.ПометкаУдаления
		|	И ПриходТовара.Дата > &Дата";
	
	Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Набор = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
		Набор.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.Ссылка);		
		Набор.Прочитать();
		Набор.Очистить();
		Набор.Записать();
		
	КонецЦикла;
13 1сПупс
 
06.03.26
09:40
(10) нет. Групповая обработка справочников и документов только помечает на удаление
14 inkvizitr
 
06.03.26
09:40
чтобы удалить движения документов, распроведи сами документы,
потом пометь на удаления и удали
15 Гипервизор
 
06.03.26
09:42
(13) Тогда непонятно, а удаляли-то как потом после пометки? Через Удаление помеченных объектов?
16 1сПупс
 
06.03.26
09:46
(15) удаление пока не требуется, просто пометку удаления.
17 Stepashkin
 
06.03.26
09:57
(0) А что за праздник? Обработка пишется 5-10 минут. 1. Запросом выбираете определенные документы. 2. Программно отменяете проведение и и устанавливаете пометку удаления. 3. Радуетесь жизни.
18 Гипервизор
 
06.03.26
09:56
(16) Вот оно что, просто пометку удаления поменяли на Истину? Так у вас поди ещё и свойство Проведен у документов осталось Истина? В групповом изменении реквизитов можно выполнить произвольный алгоритм, УстановитьПометкуУдаления(Истина) вам в помощь.
19 Stepashkin
 
06.03.26
09:59
(18) 👍
20 Мультук
 
гуру
06.03.26
10:20
(14)

>>чтобы удалить движения документов,
>>распроведи сами документы,

Жаль, что те кто проектировал ЕРП, про это не курсе.
Ну или частично в курсе.
21 Timon1405
 
06.03.26
10:32
22 ProxyInspector
 
06.03.26
11:11
1с это очень тормозная система. При лучшем раскладе скорость установки пометки на удаления - несколько элементов в секунду.
   Если вам надо пометить пару сотен тысяч элементов то ждать вам придется примерно сутки. Вероятнее всего вы не дождетесь положительного результата
   Можно работать в несколько потоков. Если этих потоков  10, то за 20 мин можно пометить на удаление 200 000 документов.
23 Fish
 
гуру
06.03.26
11:38
(22) См. (5). Всего-то 7500 элементов. Вообще ни о чем.
24 1сПупс
 
06.03.26
11:43
(18) просто пометку удаления сделать для доков не дает, нужно еще чтобы реквизит Проведен был Ложь

(17) Думаешь так будет быстрее чем удаление из списка документов?
25 maxab72
 
06.03.26
11:45
Тему создали в 9:34, 24 пост появился в 11:43. за эти два часа можно было бы написать 100500 обработок и удалить 100500 раз по 7500 документов.
26 Stepashkin
 
06.03.26
11:46
(25) Точняк!!!
27 shuhard
 
06.03.26
11:48
(17)[Программно отменяете проведение ]
и получаем тучу ошибок от контроля отрицательных остатков
28 Fish
 
гуру
06.03.26
11:49
(25) Если у человека оплата почасовая, то такой подход норм. - выставит это время клиенту.
29 maxab72
 
06.03.26
11:52
(28) диалог про то, за сколь ко можно починить карету...
30 Fish
 
гуру
06.03.26
12:00
(29) Ну может человек ищет идеальный способ и готов запрягать хоть целый год, чтобы потом за минуту долететь.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс