Имя: Пароль:
1C
 
Удаление записей справочника
0 Andreich88
 
11.05.21
22:31
Всем привет. Подскажите есть ли возможность удалить лишние записи справочника при ошибке "Достигнуто ограничение учебной версии"? Пробовал через обработку, не получается.
1 acht
 
11.05.21
23:25
Возможность есть.
Точно также как в обычной версии. Если ты ответишь на вопрос - что такое "лишние записи" и  как их отличить от "не лишних".
2 Andreich88
 
11.05.21
23:56
Записей много больше 2000, имеют наименование тип строка(2000099 пример). Пробовал через получить объект та же ошибка.
3 acht
 
12.05.21
00:06
(2) Еще раз. Что такое "лишние" записи. Чем они отличаются от "не лишних". Что ты хочешь удалить, что оставить?

Самое простое - пометить "лишние" ссылки на удаление, а потом запустить типовую обработку по удалению помеченных объектов. В зависомости от типа клиента это будет или в меню "операции" или в меню "все функции" в разделе "стандартные".
4 Andreich88
 
12.05.21
00:10
(3) В том то и проблема, что система не дает такой возможности ни пометить на удаление, ни удалить, ни через обработку.
Пробовал так:

&НаСервере
Процедура УдалитьНаСервере()
    
    Карта = Справочники.КартыСт.НайтиПоНаименованию("2000099");
    НайдКатрта = Карта.ПолучитьОбъект();
    НайдКатрта.Удалить();
КонецПроцедуры

&НаКлиенте
Процедура Удалить(Команда)
    УдалитьНаСервере();
КонецПроцедуры
5 acht
 
12.05.21
00:18
(3) Ты читать умеешь? Предложенный мной способ не требует написания кода.
6 Andreich88
 
12.05.21
00:25
(5) А ты? Система не позволяет пометить на удаление.
7 acht
 
12.05.21
00:28
(6) Ручками не позволяет? Ну-ну.
8 RomanYS
 
12.05.21
00:43
(7) а должно?
9 hhhh
 
12.05.21
00:47
(6) ну возьмите чистую учебную и обработкой ВыгрузкаЗагрузкаXML перекачайте туда нужные данные.
10 Andreich88
 
12.05.21
00:52
(9) Еще бы знаний хватило для таких действий))) Решился вопрос:
&НаСервере
Процедура Команда1НаСервере()
    
    НачатьТранзакцию();
    Выборка = Справочники.Карты.Выбрать();
    Пока Выборка.Следующий() Цикл
    Об = Выборка.ПолучитьОбъект();
    Об.Удалить();
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    Сообщить("All done...")
    
КонецПроцедуры

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