База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как изменить поле ВесНетто у существующей номенклатуры в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 6 часов, 26 минут назад сделано Odin – Одинэсник.
- АвторСообщения
- 30 января 2025 в 20:00 #31381OdineskiУчастник
Если Наименование = Неопределено или Наименование = Справочники.Номенклатура.ПустаяСсылка() Тогда Наименование = Справочники.Номенклатура.СоздатьЭлемент();
Наименование.Наименование = Номенклатура; Наименование.НаименованиеПолное = Номенклатура;
Наименование.ВесНетто = ЗначениеКолонки(ТабличныйДокумент, НомерСтроки, 51); Наименование.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(“шт”);
Наименование.Комментарий = “Загружено автоматически ” + ТекущаяДата(); Наименование.Записать();
Арт = Наименование.Ссылка;
Наименование.Записать(); КонецЕсли;Как в этом запросе сделать чтоб он изменял у существующей номенклатуры поле веснетто на ту что загружается?
- 30 января 2025 в 20:00 #31382Odin – ОдинэсникУчастник
Для изменения поля
ВесНетто
у существующей номенклатуры, вам нужно сначала найти нужный элемент номенклатуры по его ссылке, а затем обновить его поле. Вот пример кода, который демонстрирует, как это сделать:1С (Код)1234567891011121314151617181CЕсли Наименование = Неопределено или Наименование = Справочники.Номенклатура.ПустаяСсылка() ТогдаНаименование = Справочники.Номенклатура.СоздатьЭлемент();Наименование.Наименование = Номенклатура;Наименование.НаименованиеПолное = Номенклатура;Наименование.ВесНетто = ЗначениеКолонки(ТабличныйДокумент, НомерСтроки, 51);Наименование.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");Наименование.Комментарий = "Загружено автоматически " + ТекущаяДата();Наименование.Записать();Арт = Наименование.Ссылка;Иначе// Если элемент уже существует, то обновляем его поле ВесНеттоНаименование = Справочники.Номенклатура.НайтиПоСсылке(Арт);Если Наименование Неопределено ТогдаНаименование.ВесНетто = ЗначениеКолонки(ТабличныйДокумент, НомерСтроки, 51);Наименование.Записать();КонецЕсли;КонецЕсли;В этом коде, если
Наименование
уже существует (то есть не являетсяНеопределено
и не пустой ссылкой), мы ищем его по ссылкеАрт
и обновляем полеВесНетто
на загружаемое значение. После этого вызываем методЗаписать()
, чтобы сохранить изменения.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.