helpf.pro
Регистрация
 0 
Распечатать

Как выбрать запросом записи регистра сведений и удалить их?

В регистре сведений штрих кодов появились ошибочные записи, которые надо было быстро удалить... можно конечно и ручками выбирать и жать Delete, но это не наш метод!

Код 1C v 8.3
 Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Штрихкоды.Штрихкод,
| Штрихкоды.Владелец,
| Штрихкоды.ТипШтрихкода,
| Штрихкоды.ЕдиницаИзмерения,
| Штрихкоды.ХарактеристикаНоменклатуры,
| Штрихкоды.СерияНоменклатуры,
| Штрихкоды.Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.СерияНоменклатуры.ПометкаУдаления";

Результат = Запрос.Выполнить();
РезультатТаблица = Результат.Выгрузить();

ТекПозиция = 0;
Для каждого СтрокаЗапроса из РезультатТаблица Цикл

ОбработкаПрерыванияПользователя();
ТекПозиция = ТекПозиция + 1;
Состояние("Выполнено " + Окр(ТекПозиция / РезультатТаблица.Количество() * 100) + "%");

НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Штрихкод.Установить(СтрокаЗапроса.Штрихкод);
НаборЗаписей.Отбор.Владелец.Установить(СтрокаЗапроса.Владелец);
НаборЗаписей.Отбор.ТипШтрихкода.Установить(СтрокаЗапроса.ТипШтрихкода);
НаборЗаписей.Отбор.ЕдиницаИзмерения.Установить(СтрокаЗапроса.ЕдиницаИзмерения);
НаборЗаписей.Отбор.ХарактеристикаНоменклатуры.Установить(СтрокаЗапроса.ХарактеристикаНоменклатуры);
НаборЗаписей.Отбор.СерияНоменклатуры.Установить(СтрокаЗапроса.СерияНоменклатуры);
// Удаляем записи
НаборЗаписей.Записать(Истина);   

КонецЦикла;

Предупреждение("Обработка закончена.");
Разместил:   Версии: | 8.2 УП | 8.3 |  Дата:   Прочитано: 26057
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
Cообщение: "Не удалось удалить чеки ККМ!" 2
Пользователь с правами Администратор ККМ проводит Закрытие кассовой смены (Z). Выходит сообщение: " Не удалось удалить чеки ККМ!" ФР печатает Z -отчет, но Отчет о рознчничных продажах не формируется. Необходимо дать роли Администратор ККМ прав
ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За
Посмотреть все результаты поиска похожих
Комментарии
kuzyara
19.08.2016 09:19Комментарий: 2
kuzyara

Или воспользоваться кнопкой "Подбор и обработка объектов БД" в "Инструментах разработчика"...

all4cf
18.08.2016 17:06Комментарий: 1
all4cf

В просторах интернета нашелся еще вариант, методом замены записей

Код 1C v 8.3
 Процедура ПойматьРезидента(ДатаНаКотруюВсеБылоНормально) 
 Запрос=Новый Запрос(); 
 Запрос.Текст="ВЫБРАТЬ 
 | СтатусФизЛицКакНалогоплательщиковНДФЛСрезПоследних.Период, 
 | СтатусФизЛицКакНалогоплательщиковНДФЛСрезПоследних.ФизЛицо, 
 | СтатусФизЛицКакНалогоплательщиковНДФЛСрезПоследних.Статус 
 |ИЗ 
 | РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ.СрезПоследних(&ДатаНаКотруюВсеБылоНормально, ) КАК СтатусФизЛицКакНалогоплательщиковНДФЛСрезПоследних"; 
 Запрос.УстановитьПараметр("ДатаНаКотруюВсеБылоНормально",ДатаНаКотруюВсеБылоНормально); 
 НормальныеЗаписи=Запрос.Выполнить().Выгрузить(); 
 НаборЗаписейРегистра=РегистрыСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ.СоздатьНаборЗаписей(); 
 //почистим регистр на всякий случай хотя можно и без этого 
 //записать сразу 
 НаборЗаписейРегистра.Прочитать(); 
 НаборЗаписейРегистра.Очистить(); 
 НаборЗаписейРегистра.Записать(Истина); 
 //запишем нормальные 
 НаборЗаписейРегистра.Загрузить(НормальныеЗаписи); 
 НаборЗаписейРегистра.Записать(); 
КонецПроцедуры
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.