Задать вопрос
ElizabethP
@ElizabethP

Как скопировать значение одного реквизита справочника в другой?

Здравствуйте! Я создала реквизит для справочника Номенклатура, например "название товара", теперь мне нужно внести значение реквизита "наименование" в мой новый реквизит "название товара" для каждого элемента справочника. Как это реализовать с помощью внешней обработки в торговле 2?
Заранее спасибо всем за ответы)
  • Вопрос задан
  • 2895 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 4
Sgr_A
@Sgr_A
Нет такой конфигурации "торговля 2", зато есть Управление торговлей разных редакций (10.х и 11.х).

//Получаете номенклатуру выборкой или запросом, как душа пожелает.
КоллекцияНоменклатуры = ПолучитьНоменклатуру();

Для каждого НоменклатураСсылка Из КоллекцияНоменклатуры Цикл
Попытка
НоменклатураОбъект = НоменклатураСсылка.ПолучитьОбъект(); 
НоменклатураОбъект.НазваниеТовара = НоменклатураОбъект.Наименование;
НоменклатураОбъект.Записать();
Исключение
ТекстПроблемы = ОписаниеОшибки();
ТекстПроблемы = СтрШаблон(НСтр("ru = 'Ошибка присвоения названия товару %1'), НоменклатураСсылка.Наименование);
КонецПоптыки;

КонецЦикла;
Ответ написан
@Dementor
программист, архитектор, аналитик
Можно написать свою обработку, в которой будет типа такого:

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


Или можно воспользоваться "Универсальным подбором и обработкой объектов" (на ИТС и в составе "Инструментов разработчика"), где отобрать нужные элементы и запустить произвольный код с автосохранением:

Объект.НазваниеТовара= Объект.Наименование;
Ответ написан
Комментировать
@Dem0lisher
Не знаю, есть ли это в вашей конфигурации, но вот в УТ 11 можно выделить нужные строки в форме списка справочника номенклатура и во всех действиях
5faba1a9716ba206625747.png
Не знаю, как у вас там..
Ответ написан
Комментировать
@AntoShik
Здравствуйте, вы создали дополнительный реквизит или изменили конфигурацию расширением?
Можно зайти в Администрирование.
Обслуживание.
Корректировка данных.
Групповое изменение реквизитов.
Выбрать Номенклатура.
Уточнить в ссылке справа какие номенклатуры будут обработаны. По умолчанию все.
Зайти закладку произвольный алгоритм. (в 1с фреш, так не получится).
Написать такой текст:

Объект.МойРеквизит = Объект.Наименование;
Объект.Записать;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы