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