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

Регистр сведений. Удаление записей.

Автор Igor100500, 28 сен 2016, 13:42

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

Igor100500

Здравствуйте
Суть в том что нужно удалить все записи регистра который (не используется)УдалитьНалоги
Из-за его записей не получается обновить конфигурацию.
Регистр независимый

&НаСервере
Процедура ОчиститьНаСервере()

Выборка = справочники.УдалитьВиды.Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей = РегистрыСведений.УдалитьВычеты.СоздатьНаборЗаписей();
// НаборЗаписей = РегистрыСведений["УдалитьВычеты"].СоздатьНаборЗаписей();
НаборЗаписей.Отбор.КодДохода.Установить(Выборка.Ссылка);
НаборЗаписей.Записать(Истина);
КонецЦикла

КонецПроцедуры

&НаКлиенте
Процедура Очистить(Команда)
ОчиститьНаСервере();
КонецПроцедуры


ну собственно ничего такого тут нет.
При выполнении обработки возникает ошибка - НаборЗаписей.Записать(Истина)
По причине:
Не удалось записать: "(не используется) УдалитьВычеты"!
И далее
редактирование общих данных запрещено

Ну(права проверил, в регистре под моими правами все разрешено(редактирование и т.д), а по факту ничего не могу изменить)
Ссылок на него нет.
В чем может быть проблема?
1С 8.3 Упр. формы.

alexandr_ll

Как-то странно вы удаляете записи регистра.
Я бы написал так:
    Выборка = РегистрыСведений.УдалитьВычеты.Выбрать();
    Пока Выборка.Следующий() Цикл
        // удаление существующей
        Выборка.ПолучитьМенеджерЗаписи().Удалить();

    КонецЦикла;

Посмотрите еще здесь: http://forum.infostart.ru/forum87/topic133216/

ДенисЧ

НаборЗаписей = РегистрыСведений.УдалитьВычеты.СоздатьНаборзаписей();
НаборЗаписей.Записать(Истина);
Добавлено: 28 сен 2016, 14:11


Цитата: alexandr_ll от 28 сен 2016, 14:00
Как-то странно вы удаляете записи регистра.
Я бы написал так:
    Выборка = РегистрыСведений.УдалитьВычеты.Выбрать();
    Пока Выборка.Следующий() Цикл
        // удаление существующей
        Выборка.ПолучитьМенеджерЗаписи().Удалить();

    КонецЦикла;


А вот я бы не делал... Это извращение

Igor100500

Цитата: alexandr_ll от 28 сен 2016, 14:00
Как-то странно вы удаляете записи регистра.
Я бы написал так:
    Выборка = РегистрыСведений.УдалитьВычеты.Выбрать();
    Пока Выборка.Следующий() Цикл
        // удаление существующей
        Выборка.ПолучитьМенеджерЗаписи().Удалить();

    КонецЦикла;

Посмотрите еще здесь: http://forum.infostart.ru/forum87/topic133216/

А что такое Выборка. ПолучитьМенеджерЗаписи()
там вообще нету такого метода

alexandr_ll

Цитата: ДенисЧ от 28 сен 2016, 14:10НаборЗаписей = РегистрыСведений.УдалитьВычеты.СоздатьНаборзаписей();
НаборЗаписей.Записать(Истина);
Согласен. так проще. Как-то не пришло в голову!


Добавлено: 28 сен 2016, 14:27


Цитата: Igor100500 от 28 сен 2016, 14:20А что такое Выборка. ПолучитьМенеджерЗаписи()
там вообще нету такого метода

Смотри Синтакс-помощник ПолучитьМенеджерЗаписи

Igor100500

Цитата: ДенисЧ от 28 сен 2016, 14:10
НаборЗаписей = РегистрыСведений.УдалитьВычеты.СоздатьНаборзаписей();
НаборЗаписей.Записать(Истина);
Добавлено: 28 сен 2016, 14:11


Цитата: alexandr_ll от 28 сен 2016, 14:00
Как-то странно вы удаляете записи регистра.
Я бы написал так:
    Выборка = РегистрыСведений.УдалитьВычеты.Выбрать();
    Пока Выборка.Следующий() Цикл
        // удаление существующей
        Выборка.ПолучитьМенеджерЗаписи().Удалить();

    КонецЦикла;


А вот я бы не делал... Это извращение
у меня так изначально было)))
Добавлено: 29 сен 2016, 10:09


вообщем, решил проблему:
&НаСервере
Процедура ОчиститьНаСервере()

НаборЗаписей = РегистрыСведений[объект.ВведитеИмяРегистра].СоздатьНаборЗаписей();
НаборЗаписей.ОбменДанными.Загрузка=Истина;
НаборЗаписей.Записать(Истина);
КонецПроцедуры

&НаКлиенте
Процедура Очистить(Команда)
ОчиститьНаСервере();
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск