УТ 10.3 Как удалить записи регистра сведений "Объекты доступа документов"?
Во-первых, Поздравляю всех с Новым годом! Всем желаю успехов в этом году.
Ну и вопрос. Необходимо почистить РС "Объекты доступа документов". Регистр независимый и непериодический. Вручную удалять записи нет возможности (а если есть, то подскажите как). А программно нужно удалить те записи, которых документы помечены на удаление. Как это можно сделать?
Ну и вопрос. Необходимо почистить РС "Объекты доступа документов". Регистр независимый и непериодический. Вручную удалять записи нет возможности (а если есть, то подскажите как). А программно нужно удалить те записи, которых документы помечены на удаление. Как это можно сделать?
По теме из базы знаний
- Быстрый поиск дублей в 1С с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Загрузка документов из Excel в 1С: УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.
- Интеграция 1С с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода - для УНФ, УТ, КА, ERP
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) не быстро, но вроде бы работает.
(1) Выбрать запросом такие документы и используя отбор по документу выполнить запись пустых наборов.
Это для скорости? Я сделал так:Процедура КнопкаВыполнитьНажатие(Кнопка)
НаборЗаписей = РегистрыСведений.ОбъектыДоступаДокументов.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
Индикатор =1;
КолЗаписей = НаборЗаписей.Количество();
ЭлементыФормы.Индикатор.МаксимальноеЗначение = КолЗаписей;
Для Счетчик = 1 по КолЗаписей Цикл
ОбработкаПрерыванияПользователя();
Индикатор = Индикатор +1;
Запись = НаборЗаписей[КолЗаписей-Счетчик];
Док = Запись.ДокументСсылка;
Если Док.ПометкаУдаления и Док.Дата <= КонецДня(УдалятьПо) Тогда
Сообщить(" - "+Док);
НаборЗаписей.Удалить(Запись);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
(7)
Скорее для бОльшей параллельности.
Оно и не будет быстро.
Я категорически не понимаю, для чего весь этот изврат, если можно сделать проще?
Это для скорости?
Скорее для бОльшей параллельности.
Оно и не будет быстро.
Я категорически не понимаю, для чего весь этот изврат, если можно сделать проще?
Запрос = Новый Запрос;
Запрос.Текст = "Выбрать Различные ДокументСсылка ИЗ Регистр ГДЕ ДокументСсылка.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НЗ = Регистры.<МойРегистр>.СоздатьНаборЗаписей();
НЗ.Отбор.ДокументСсылка.Установить(Выборка.ДокументСсылка);
НЗ.Записать();
КонецЦикла;
Написал так: но как-то мне не нравится строка - НаборЗаписей.Удалить(Запись);
Процедура КнопкаВыполнитьНажатие(Кнопка)
НаборЗаписей = РегистрыСведений.ОбъектыДоступаДокументов.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Док = Запись.ДокументСсылка;
Если Док.ПометкаУдаления Тогда
НаборЗаписей.Удалить(Запись);
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот