Код для очистки ранее созданной номенклатуры

изображение_2021-02-10_055301.png
в модуле не могу найти ошибку или что то сам не правильно пишу

&НаСервере

Процедура ДобавлениеНовыхТоваровНаСервере()
	ГСЧ=Новый ГенераторСлучайныхЧисел;
	Для Счетчик=1 По 100 Цикл
		Если Счетчик<=25 Тогда
			Группа=Справочники.Номенклатура.НайтиПоНаименованию("Летние");
		ИначеЕсли Счетчик<=50 Тогда
			Группа=Справочники.Номенклатура.НайтиПоНаименованию("С шипами");
		Иначе
			Группа=Справочники.Номенклатура.НайтиПоНаименованию("Липучки");
		КонецЕсли;
		НовыйТовар=Справочники.Номенклатура.СоздатьЭлемент();
		НовыйТовар.Родитель=Группа;
		НовыйТовар.Наименование="Товар №"+Счетчик;
		НовыйТовар.Склад=Справочники.Склады.Оптовый;
		НовыйТовар.ЦенаЗакупочная=ГСЧ.СлучайноеЧисло(500,2000);
		НовыйТовар.ЦенаПоступления=НовыйТовар.ЦенаЗакупочная*1.2;
		НовыйТовар.Записать();
	КонецЦикла;
КонецПроцедуры

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

&НаСервере
Процедура ОчиститьСписокНаСервере()
	ГСЧ=Новый ГенераторСлучайныхЧисел;
	Для Счетчик=1 По 100 Цикл
		Если Счетчик<=25 Тогда
			Группа=Справочники.Номенклатура.НайтиПоНаименованию("Летние");
		ИначеЕсли Счетчик<=50 Тогда
			Группа=Справочники.Номенклатура.НайтиПоНаименованию("С шипами");
		Иначе
			Группа=Справочники.Номенклатура.НайтиПоНаименованию("Липучки");
		КонецЕсли;
		ОчиститьСписок=Справочники.Номенклатура.НайтиПоНаименованию("Летние");
		ОчиститьСписок.Наименование="Товар №";
		ОчиститьСписок.Наименование.Удалить();
		ОчиститьСписок.Записать();
	КонецЦикла;
	
КонецПроцедуры

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

Ответы

LeXXeR
#1, 10 февраля 2021 09:58

ОчиститьСписок.Наименование.Удалить();

Эта строка что делает? 😃


dronz21
#2, 10 февраля 2021 11:57

(1) LeXXeR, я же только учусь, поэтому методом тыка написал, верхний код этот список формирует, а вот в нижний хочется чтоб этот же список удалялся


bolsun
#3, 10 февраля 2021 12:20

(2) dronz21, Вам бы посмотреть какие-то начальные курсы по 1С или почитать книгу.
То, что у вас в коде не имеет смысла.


LeXXeR
#4, 10 февраля 2021 12:20

(2) dronz21, ну тогда код очистки вообще надо переписать заново 😃
У тебя сейчас товары рандомно генерятся через ДобавлениеНовыхТоваровНаСервере() - вопросов нет. Но удаление то зачем делать рандомно? Нужно просто перебрать все элементы справочника и удалить их в цикле. Если все равно непонятно, выложи файл обработки, покажу как. Самому лень это копипастить.


bolsun
#5, ред. 10 февраля 2021 12:22

(4) LeXXeR, причем случайное удаление в цикле ))


bolsun
#6, 10 февраля 2021 12:26

кстати оно не рандомное, ГенераторСлучайныхЧисел не используется


LeXXeR
#7, 10 февраля 2021 12:48

(6) bolsun, кстати, да ))


dronz21
#8, ред. 11 февраля 2021 03:21

(4) LeXXeR, вот ЗаполнениеСправочникаНоменклатура.epf


dronz21
#9, 14 февраля 2021 20:11

Нет понимающих?


Лучший ответ LeXXeR
#10, ред. 01 марта 2021 17:10

(9) dronz21, упс, прости! 😦 Мне что-то уведомления не приходили с сайта. А тут оказывается беседа!
Ладно, может кому поможет. Простейший код для удаления всех элементов справочника, не являющихся группами (если удалить группы - перестанет работать процедура генерации, которая выше):

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


См. также

Очистка регистра сведений

ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов (БСП)

ИнициализацияТипом

Очистка (БСП)

ПередОчисткойДанных (БСП)

ФоновоеЗаданиеОчисткиКлассификатораАдресов (БСП)

ИнтерактивноеИзменениеВыгрузкиОчисткаДетально (БСП)

ТекстЗапросаДляОчисткиФайлов (БСП)

Модератору