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

1С 8.x : Как удалить записи из регистра сведений, подчиненного регистратору?

Код 1C v 8.х
 //Удаление записей из регистра, подчиненного регистратору
Запрос = Новый Запрос;

Запрос.Текст = "
|ВЫБРАТЬ
| ЦеныНоменклатурыКонтрагентов.Регистратор
|ИЗ
| РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов";

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

НаборЗаписей = РегистрыСведений.ЦеныНоменклатурыКонтрагентов.СоздатьНаборЗаписей();

Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);

НаборЗаписей.Записать();

КонецЦикла;

Сначала запросом получаем выборку всех документов, являющихся регистраторами для нужного регистра.
Далее создаем набор записей по данному регистру.
В цикле перебора выборки из результата запроса устанавливаем отборы для набора записей по нужным регистраторам и записываем пустые наборы записей в регистр с замещением старых наборов.


Код 1C v 8.х
 НачатьТранзакцию();

НаборЗаписей = РегистрыСведений.МестонахожденияОС.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить([документ создавший запись]); //обязательно для подчиненных регистров
НаборЗаписей.Прочитать();

сзУдаляемыеЗаписи = Новый СписокЗначений;
Для Каждого Запись Из НаборЗаписей
Если [условие] Тогда
сзУдаляемыеЗаписи.Добавить(Запись);
КонецЕсли; //[условие]
КонецЦикла;

Для каждого ЭлтСз Из сзУдаляемыеЗаписи
НаборЗаписей.Удалить(ЭлтСз.Значение);
КонецЦикла;

НаборЗаписей.Записать();

ЗафиксироватьТранзакцию();
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 34543
 +1 
Распечатать
Возможно, вас также заинтересует
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 3
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием ...
Автоматическая выгрузка загрузка данных используя регламентное задание 1
Для обмена данными между программами необходимо сделать следующее: 1. При помощи Конвертации Данных создать правила выгрузки данных 2. Нужно чтобы в конфигурации была обработка УниверсальныйОбменДаннымиXML ,...
Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 1
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов...
Ввод документа на основании - Программно 5
НовДок = Документы.ПеречислениеНДФЛвБюджет.СоздатьДокумент(); //Заполнить - вызывает ОбработкаЗаполнения(Основание) в документе ПеречислениеНДФЛвБюджет ...
Взаимодействие с Контрольно-Кассовыми Машинами (ККМ) 0
Имеется ли возможность взаимодействия конфигурации Управление торговлей с контрольно-кассовыми машинами (ККМ)? Данная возможность реализована в конфигурации в трех вариантах: ККМ в режиме фискального...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.