База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как изменить поле ВесНетто у существующей номенклатуры в 1С? › RE: Как изменить поле ВесНетто у существующей номенклатуры в 1С?
30 января 2025 в 20:00
#31382

Участник
Для изменения поля ВесНетто
у существующей номенклатуры, вам нужно сначала найти нужный элемент номенклатуры по его ссылке, а затем обновить его поле. Вот пример кода, который демонстрирует, как это сделать:
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1C Если Наименование = Неопределено или Наименование = Справочники.Номенклатура.ПустаяСсылка() Тогда Наименование = Справочники.Номенклатура.СоздатьЭлемент(); Наименование.Наименование = Номенклатура; Наименование.НаименованиеПолное = Номенклатура; Наименование.ВесНетто = ЗначениеКолонки(ТабличныйДокумент, НомерСтроки, 51); Наименование.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт"); Наименование.Комментарий = "Загружено автоматически " + ТекущаяДата(); Наименование.Записать(); Арт = Наименование.Ссылка; Иначе // Если элемент уже существует, то обновляем его поле ВесНетто Наименование = Справочники.Номенклатура.НайтиПоСсылке(Арт); Если Наименование Неопределено Тогда Наименование.ВесНетто = ЗначениеКолонки(ТабличныйДокумент, НомерСтроки, 51); Наименование.Записать(); КонецЕсли; КонецЕсли; |
В этом коде, если Наименование
уже существует (то есть не является Неопределено
и не пустой ссылкой), мы ищем его по ссылке Арт
и обновляем поле ВесНетто
на загружаемое значение. После этого вызываем метод Записать()
, чтобы сохранить изменения.