Дополнительные cведения для групп номенклатуры
Опубликовано: 17.03.2019 /
Рубрики: 1С, Разработки 1с
В типовом функционале отсутствует возможность сохранения дополнительных сведений для группы номенклатуры. Возможно настраивать для видов номенклатуры, но это не всегда удобно. Поэтому появилось эта небольшая разработка. Подходит для УТ 11, КА 2.4 и ERP.
Расширение можно подготовить самому, а можно скачать. Если делать самому, то ниже список изменений:
В модуль УправлениеСвойствамиПереопределяемый добавить две функции:
&Вместо("ПолучитьНаборыСвойствДляНоменклатуры")
Функция ДС_ПолучитьНаборыСвойствДляНоменклатуры(Объект)
Наборы = Новый СписокЗначений;
//++ НЕ ГОСИС
НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие;
Наборы.Добавить(НаборСвойств, НСтр("ru = 'Общие свойства'"));
// +++
Если НЕ Объект.ЭтоГруппа Тогда
// ---
НаборСвойств = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ВидНоменклатуры, "НаборСвойств");
Наборы.Добавить(НаборСвойств, НСтр("ru = 'Свойства для вида номенклатуры'"));
// +++
КонецЕсли;
// ---
//-- НЕ ГОСИС
Возврат Наборы;
КонецФункции
&Вместо("ЗаполнитьНаборыСвойствОбъекта")
Процедура ДС_ЗаполнитьНаборыСвойствОбъекта(Объект, ТипСсылки, НаборыСвойств, СтандартнаяОбработка, КлючНазначения)
//++ НЕ ГОСИС
Если ТипСсылки = Тип("СправочникСсылка.Партнеры") Тогда
СписокСвойств = ПолучитьНаборыСвойствДляПартнеров(Объект.Клиент, Объект.Конкурент, Объект.Поставщик, Объект.ПрочиеОтношения);
// +++
//ИначеЕсли ТипСсылки = Тип("СправочникСсылка.Номенклатура") И НЕ Объект.ЭтоГруппа Тогда
ИначеЕсли ТипСсылки = Тип("СправочникСсылка.Номенклатура") Тогда
// ---
СписокСвойств = ПолучитьНаборыСвойствДляНоменклатуры(Объект);
ИначеЕсли ТипСсылки = Тип("СправочникСсылка.ХарактеристикиНоменклатуры") Тогда
СписокСвойств = ПолучитьНаборыСвойствДляХарактеристикНоменклатуры(Объект);
ИначеЕсли ТипСсылки = Тип("СправочникСсылка.СерииНоменклатуры") Тогда
СписокСвойств = ПолучитьНаборыСвойствДляСерииНоменклатуры(Объект);
//++ НЕ УТ
ИначеЕсли ТипСсылки = Тип("СправочникСсылка.ОбъектыЭксплуатации") Тогда
СписокСвойств = ПолучитьНаборыСвойствДляОбъектаЭксплуатации(Объект);
//-- НЕ УТ
Иначе
Возврат;
КонецЕсли;
Для Каждого ЭлементСписка Из СписокСвойств Цикл
СтрокаНабора = НаборыСвойств.Добавить();
СтрокаНабора.Набор = ЭлементСписка.Значение;
СтрокаНабора.Заголовок = ЭлементСписка.Представление;
КонецЦикла;
//-- НЕ ГОСИС
КонецПроцедуры
И добавить в расширение форму группы номенклатуры, куда добавить кнопку с общей командой «ДополнительныеСведенияКоманднаяПанель».
Красоту с кнопками наводить на свой вкус :)
Тестировалась на версиях:
- Управление торговлей, редакция 11.4.6.207
- Комплексная автоматизация, редакция 2.4.6.207
- 1С:ERP Управление предприятием, редакция 2.4.6.207
Но будет работать и на других :)