Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 03:07

Как удалить Запись из регистра накопления если регистратор "Объект не найден".

Автор jamil, 04 фев 2023, 13:25

0 Пользователей и 1 гость просматривают эту тему.

jamil

Как удалить Запись из регистра накопления если регистратор "Объект не найден". Программно.

Помогите пожалуйста.

Максим75

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

Максим75

или через конфигуратор вычистить.
запустить в конфигураторе тестирование и исправление ИБ, когда выбрать проверку ссылочной целостности, станет активным средняя часть, там выбрать очищать ссылки.
обязательно перед этим всем сделать копию базы.

LexaK

jamil,
1.запросом получить все записи с "битой" ссылкой
2.в цикле, при обходе результата в Отбор НабораЗаписей
устанавливать Регистратор - эту "битую" ссылка и Записывать его

если помогло нажмите: Спасибо!

Максим75


Ивашка

jamil, как-то так:
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ИмяРегистра.Регистратор КАК Регистратор
                   |ИЗ
                   |    РегистрНакопления.ИмяРегистра.ОстаткиИОбороты(, , Регистратор, , ) КАК ...
                   |ГДЕ
                   |    ИмяРегистра.Регистратор.Ссылка ЕСТЬ NULL";
   
    Выборка = Запрос.Выполнить().Выбрать();
   
    Пока Выборка.Следующий() Цикл
        Набор = РегистрыНакопления.ИмяРегистра.СоздатьНаборЗаписей();
        Набор.Отбор.Регистратор.Установить(Выборка.Регистратор);       
        Набор.Записать();
    КонецЦикла;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск