Задача состоит в следующем. Есть некоторый справочник. В нем реквизитом табличной части является "Номенклатура" и "Статья калькуляции".
Определили, что у огромного количества номенклатуры изначально был неправильно выбран "Вид номенклатуры".
Теперь нужно на основании выбранной "Статьи калькуляции" изменить вид номенклатуры в справочнике "Номенклатура".
То есть отбор будет по реквизиту одного справочника, а менять будем реквизит другого.
Есть ли возможность это сделать штатной обработкой "Групповое изменение реквизитов"?
(1) это в меру своего опыта надо выбирать. если один реквизит поменять и он при записи не потянет изменения в регистрах и проводках, то можно просто update на sql выполнить. А если надо много всего менять, то уж тогда выбирайте какой путь дешевле обойдется, а где и оба варианта правка на sql и запись через 1С.
Делаете отбор по табличной части вашего справочника и к найденным объектам применяете алгоритм типа такого
Для каждого Строка Из Объект.ИмяТабличнойЧасти Цикл
ОбновляемыйОбъект = Строка.Номенклатура.ПолучитьОбъект();
ОбновляемыйОбъект.ВидНоменклатуры = "Нужный вид номенклатуры";
ОбновляемыйОбъект.Записать();
КонецЦикла
Когда мне было нужно отобрать элементы по хитрому условию, я дописал кнопку, которая позволяла добавлять значения, возвращаемые произвольным запросом. Возможно, вам стоит сделать то же самое - должно не раз пригодиться.
Добрый день, а что мешает групповой обработкой это сделать, нажмите кнопку Дополнительно и получите доступ к редактированию служебных реквизитов, потом ещё пару раз согласитесь, проверите и будет всё отлично. Но сразу предупреждаю данная операция может привести к некорректной работе программы, если номенклатура уже использовалась (регистры и т.д.).
(11) Kedis, Автору нужно изменить данные в номенклатуре в зависимости от данных табличной части левого справочника.
Стандартная групповая этого не умеет.