Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Июн 2021, 00:16
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: Код обработки Свойств номенклатуры не добавляет значения  (Прочитано 661 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Василий Кокорин

  • *
  • Регистрация: 2016-11-20
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
Обработка загружает из EXCEL свойства номенклатуры. Cуть в том, что они добавлятся только в новую, создаваемую номенклатуру. А вот если я хочу обновить уже имеющуюся, то ничего не происходит.
Помогите исправить КОД что бы при обновлении значение тоже записывалось. А лучше проверялось, есть такое или нет в справочнике ЗначенияСвойствОбъектов, если есть то бралось оттуда, если нет, тогда записывалось и подставлялось. Так избежим гору дублей свойств.

Процедура ЗаписатьСвойстваНоменлатуры(ТекущаяСтрокаТаблицы, ТекНом)
 
НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
// Производитель
Если ЗначениеЗаполнено(КолонкаПроизводитель) Тогда
Если ЗначениеЗаполнено(ТекущаяСтрокаТаблицы[КолонкаПроизводитель]) Тогда
 
ЗначениеСвойства = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТекущаяСтрокаТаблицы[КолонкаПроизводитель]);
Если ЗначениеСвойства.Пустая() Тогда
НовЗначСв = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
НовЗначСв.Владелец = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Производитель");
НовЗначСв.Наименование = ТекущаяСтрокаТаблицы[КолонкаПроизводитель];
НовЗначСв.Записать();
ЗначениеСвойства = НовЗначСв.Ссылка;
КонецЕсли;
 
 
Запись = НаборЗаписейЗначенияСвойств.Добавить();
Запись.Объект   = ТекНом;
Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Производитель");
Запись.Значение = ЗначениеСвойства;
 
КонецЕсли;
КонецЕсли;
 
// ПартНомер
Если ЗначениеЗаполнено(КолонкаПартНомер) Тогда
Если ЗначениеЗаполнено(ТекущаяСтрокаТаблицы[КолонкаПартНомер]) Тогда
 
ЗначениеСвойства = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТекущаяСтрокаТаблицы[КолонкаПартНомер]);
Если ЗначениеСвойства.Пустая() Тогда
НовЗначСв = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
НовЗначСв.Владелец = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Код производителя, MPN");
НовЗначСв.Наименование = ТекущаяСтрокаТаблицы[КолонкаПартНомер];
НовЗначСв.Записать();
ЗначениеСвойства = НовЗначСв.Ссылка;
КонецЕсли;
 
Запись = НаборЗаписейЗначенияСвойств.Добавить();
Запись.Объект   = ТекНом;
Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Код производителя, MPN");
Запись.Значение = ЗначениеСвойства;
 
КонецЕсли;
КонецЕсли;
 
НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(ТекНом);
Попытка
НаборЗаписейЗначенияСвойств.Записать();
Исключение
КонецПопытки;
 
КонецПроцедуры


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Последние вакансии

* Том 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
65 Сообщений
LexaK
62 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
26 Сообщений
neek666
23 Сообщений
KATERINA 861
19 Сообщений
SSC
15 Сообщений
alexandr_ll
13 Сообщений
Алексей_1985_06
11 Сообщений
MiThO
8 Сообщений

* Кто онлайн

  • Точка Гостей: 135
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Инструменты

* Дополнительно

Поиск