Как добавить единицу измерения?

Очень удобно добавлять единицу измерения через универсальную подбор и обработку с выполнением произвольного кода:

	НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
			
			НайденнаяЕдиницаОбъект.Наименование            = "шт.";
			НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("796");
			НайденнаяЕдиницаОбъект.Коэффициент             = 1;
			НайденнаяЕдиницаОбъект.Владелец                = Объект.Ссылка;
			
			Попытка
				НайденнаяЕдиницаОбъект.Записать();
			Исключение
				Сообщить("Не удалось записать единицу хранения остатков: " + ОписаниеОшибки(), СтатусСообщения.Важное);
			КонецПопытки;
			
			Попытка
			НайденнаяЕдиница = НайденнаяЕдиницаОбъект.Ссылка;
				
			Объект.ЕдиницаХраненияОстатков = НайденнаяЕдиница;
			Объект.ЕдиницаДляОтчетов = НайденнаяЕдиница;
			Объект.Записать();
			Ф = Объект.Ссылка.ПолучитьФорму();
			Ф.ЗаписатьВФорме();
		Исключение
			КонецПопытки; 

Проблема может возникнуть в том, что товар уже задействован в базе. Тогда можно просто закомментить строки с фразой “в товародвижении” типа:

//Если Не Услуга И Ссылка.ЕдиницаХраненияОстатков <> ЕдиницаХраненияОстатков И ПолныеПрава.Номенклатура_СуществуютСсылки(Ссылка, СуществуютСсылки) Тогда
        //    ТекстСообщения = «Единица «»» + СокрЛП(Ссылка.ЕдиницаХраненияОстатков) + «»» является единицей хранения остатков для «»» + Наименование + «»»
        //    |и уже участвует в товародвижении.
        //    |Изменить эту единицу уже нельзя!»;
        //    ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения, Отказ);
        //КонецЕсли;

Добавить комментарий