Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=2279)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Ошибка при установке пометки удаления

Автор: Lefer 10.12.10, 10:01

Доброго времени суток. Возникла проблема следующего рода: Вот код:

       Спр = Справочники.Справочник.Выбрать();
        Пока Спр.Следующий()  Цикл
            СпрОбъект = Спр.ПолучитьОбъект();
            СпрОбъект.УстановитьПометкуУдаления(Истина,Истина);
            СпрОбъект.Удалить();
        КонецЦикла;


При выполнении кода возникает ошибка - "Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"

У текущего пользователя, под которым выполняется код, стоят полные права. Подскажите, пожалуйста, что не так.

Автор: World1С 10.12.10, 10:16

Спр = Справочники.Справочник.Выбрать();
        Пока Спр.Следующий()  Цикл
            СпрОбъект = Спр.ПолучитьОбъект();
            СпрОбъект.УстановитьПометкуУдаления(Истина,Истина);
            //СпрОбъект.Удалить();
        КонецЦикла;

Закоментируйте строку.

Автор: Lefer 10.12.10, 10:21

Происходит тоже самое.
Усправочника нет подчинения и подчиненных, он иерархический. Иерархия групп и элементов. Тип кода - число....

Автор: Vofka 10.12.10, 10:28

Может так:

СпрОбъект.ПометкаУдаления = Истина

?

Автор: Lefer 10.12.10, 10:35

Цитата(Vofka @ 10.12.10, 11:28) *
Может так:
СпрОбъект.ПометкаУдаления = Истина

?



Ничего вообще не произошло) 09000000.gif Обработка перебрала все элементы справочника успешно, но пометка на удаление не установилась.

Автор: World1С 10.12.10, 10:56

Спр = Справочники.Справочник.Выбрать();

         Пока Спр.Следующий()  Цикл
           // совсем забыл, сначало необходимо удалить элементы
           Если НЕ ЭтоГруппа() Тогда
            СпрОбъект = Спр.ПолучитьОбъект();
            СпрОбъект.УстановитьПометкуУдаления(Истина);
            //СпрОбъект.Удалить();
            КонецЕсли;
        КонецЦикла;


Так должно работать

Автор: vatikan 10.12.10, 11:13

Цитата(Lefer @ 10.12.10, 11:01) *
Доброго времени суток. Возникла проблема следующего рода: Вот код:

       Спр = Справочники.Справочник.Выбрать();
        Пока Спр.Следующий()  Цикл
            СпрОбъект = Спр.ПолучитьОбъект();
            СпрОбъект.УстановитьПометкуУдаления(Истина,Истина);
            СпрОбъект.Удалить();
        КонецЦикла;


При выполнении кода возникает ошибка - "Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"

У текущего пользователя, под которым выполняется код, стоят полные права. Подскажите, пожалуйста, что не так.


В какой момент возникает ошибка?
ПопробуйТЕ сделать то же самое но без СпрОбъект.Удалить();, а потом сделай Операции -> Удаление помеченных объектов

Автор: Lefer 10.12.10, 11:24

Цитата(vatikan @ 10.12.10, 12:13) *
В какой момент возникает ошибка?
Попробуй сделать то же самое но без СпрОбъект.Удалить();, а потом сделай Операции -> Удаление помеченных объектов


В этом посте выше уже указан результат таких действий.

World1С, спасибо, помогло. Пометка удаления встала на всех элементах справочника. Но только не на группах само собой разумеется. )

Автор: vatikan 10.12.10, 11:28

Цитата(Lefer @ 10.12.10, 12:24) *
В этом посте выше уже указан результат таких действий.

World1С, спасибо, помогло. Пометка удаления встала на всех элементах справочника. Но только не на группах само собой разумеется. )


Елки, да я извиняюсь, не увидел ответы предыдущих ораторов. Сорри.

Автор: Lefer 13.12.10, 16:16

И все же не работает - при количестве элементов (их у меня около 10000) какие-то помечает на удаление, а какие-то нет.

Автор: World1С 14.12.10, 17:03

Элементы справочника которые не пометились на удаление, не используюся в документах?

Автор: Lefer 14.12.10, 19:13

Цитата(World1С @ 14.12.10, 18:03) *
Элементы справочника которые не пометились на удаление, не используюся в документах?


Нет, нет, они ещё нигде не используются. Я их создаю и записываю программно из dbf файла - переношу из одной конфы в новую, где только и справочники есть.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua