Программно поменять вид номенклатуры у элементов.

1. Linly04 15.11.19 13:00 Сейчас в теме
1С:Предприятие 8.3
Помогите пожалуйста.
Обработка перемещает дублируемые элементы и помещает их в корзину. Каким образом мне можно изменить вид номенклатуры каждого перемещенного элемента? У элемента сейчас стоит вид, нужно имеющийся вид заменить на вид: корзина2. У этого вида есть свой код.
Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Номенклатура.Наименование КАК Наименование,
	|	Номенклатура.Наименование КАК НаименованиеПолное,
	|	Номенклатура.Артикул КАК Артикул
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.Родитель = &Родитель
	|	И Номенклатура.Наименование <> &Наименование
	|	И Номенклатура.Наименование <> &Наименование1";
	
	Запрос.УстановитьПараметр("Родитель", ПапкаНоменклатуры);
	Запрос.УстановитьПараметр ("Наименование", "");   	
	Запрос.УстановитьПараметр ("Наименование1", "<>"); 
	
	НоменклатураИзНовойПапки = Запрос.Выполнить().Выгрузить(); 	
	Корзина = Справочники.Номенклатура.НайтиПоНаименованию("корзина"); 
	
		Для Каждого Результат из НоменклатураИзНовойПапки Цикл
				
		Запрос = Новый Запрос;
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	Номенклатура.Ссылка КАК Ссылка
		|ИЗ
		|	Справочник.Номенклатура КАК Номенклатура
		|ГДЕ
		|	Номенклатура.Родитель <> &ПапкаНоменклатуры
		|	И Номенклатура.Родитель <> &Корзина
		|	И Номенклатура.ЭтоГруппа = &ЭтоГруппа
		|	И Номенклатура.Наименование = &Наименование
		|	И Номенклатура.Артикул = &Артикул
		|	И Номенклатура.НаименованиеПолное ПОДОБНО &НаименованиеПолное";
	//	|	И Номенклатура.ВидНоменклатуры = &ВидНоменклатуры";
		
		Запрос.УстановитьПараметр("Артикул", Результат.Артикул);
	//	Запрос.УстановитьПараметр("ВидНоменклатуры", Результат.ВидНоменклатуры);
		Запрос.УстановитьПараметр("Наименование", Результат.Наименование);
		Запрос.УстановитьПараметр("НаименованиеПолное",Результат.НаименованиеПолное); 
		Запрос.УстановитьПараметр("ПапкаНоменклатуры", ПапкаНоменклатуры); 
		Запрос.УстановитьПараметр("Корзина", Корзина); 	
		Запрос.УстановитьПараметр("ЭтоГруппа", Ложь); 
		РезультатЗапроса = Запрос.Выполнить().Выгрузить();		
		Для Каждого стр из РезультатЗапроса Цикл 
			Дубль=стр.Ссылка.ПолучитьОбъект();
			Дубль.Родитель = Корзина;        
			Дубль.Наименование="ЯЯЯ"+Дубль.Наименование;
			Дубль.Артикул="ЯЯЯ"+Дубль.Артикул;
			Дубль.НаименованиеПолное="ЯЯЯ"+ Дубль.Артикул+Дубль.Наименование;
			//Дубль.ВидНоменклатуры="Корзина2";		
			Дубль.Записать();    
			
		Номенклатура = Стр.Ссылка.ПолучитьОбъект();
		Номенклатура.Записать();
	    Сообщить(Номенклатура.Код);
		
		
        Объект = Стр.Ссылка.ПолучитьОбъект();
        Объект.ПометкаУдаления = Истина;
        Объект.Записать();
				КонецЦикла;
			
	КонецЦикла;
	
	
	КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
2. Lenten 25 15.11.19 13:07 Сейчас в теме
вы очень отважный человек, раз такой код публикуете.

я так понял у вас проблема с

//Дубль.ВидНоменклатуры="Корзина2";     


попробуйте так

Дубль.ВидНоменклатуры=справочники.видыНоменклатуры.НАйтиПоНаименованию("Корзина2");


и старайтесь не писать запросы в цикле. такой код медленно работает.

а так же для устранения дублей можно использовать обработку поиск и удаление дублей. Она склеивает номенклатуру
AlexandrSmith; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Lenten 25 15.11.19 13:07 Сейчас в теме
вы очень отважный человек, раз такой код публикуете.

я так понял у вас проблема с

//Дубль.ВидНоменклатуры="Корзина2";     


попробуйте так

Дубль.ВидНоменклатуры=справочники.видыНоменклатуры.НАйтиПоНаименованию("Корзина2");


и старайтесь не писать запросы в цикле. такой код медленно работает.

а так же для устранения дублей можно использовать обработку поиск и удаление дублей. Она склеивает номенклатуру
AlexandrSmith; +1 Ответить
6. AlexandrSmith 69 15.11.19 22:05 Сейчас в теме
(1) Вам правильно все подсказали.
(2) Вы абсолютно правильно все посоветовали.
(5) Да есть кучи обработок, инструменты разработчика.
3. пользователь 15.11.19 13:09
Сообщение было скрыто модератором.
...
4. PriestVI 15.11.19 13:39 Сейчас в теме
Понятия не имею как это должно работать, если не устраивает обработка удаления дублей, посмотрите еще на обработку групповое изменение реквизитов. Если вы хотите куда-то перемещать и что-то менять. Так как в приведенном примере лучше не делать.
5. Kovekh 15.11.19 15:31 Сейчас в теме
Человеку просто нравится изобретать то, что уже есть) Причём в не очень удачной форме, если честно
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот