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