В зависимости от того как мы ведем учет номенклатуры , у нас могут возникнуть дополнительные проблемы в каталогизации справочника. И вот, когда, в ход идут характеристики , то проблем не меньше , а больше. Но все это решаемо. И очень просто!
Вот и мы с самого начала товары вели по характеристикам , но тут возникли вопросы... Почему в типовой не учли , что товар с другим размером и цыетом будет имень иной артикул , или изображение? И действительно , почему в типовой такая недоработка. Ведь там ничего тяжелого нет.
Полазил по форумам , и самым простым решением стало - допиливание типовой. А именно справочника "ХарактеристикиНоменклатуры". Добавили реквизит "Артикул" и "ОсновноеИзображение" , стянули парочку процедур и функций с основной формы справочника "Номенклатура" , добавили парочку элементов формы. И все. Показываю что получилось.
Что придется сделать для такой реализации...
Ну , во-первых это добавить реквизиты справочнику ХарактеристикиНоменклатуры "Артикул" и "ОсновноеИзображение" аналогично справочнику Номенклатура.
Дальше надо будет изменить реквизит "Объект" справочника ХранилищеДополнительнойИнформации добавив ему в составной тип справочник ХарактеристикиНоменклатуры . Вот и можно уже добавлять изображения и артикул вашим характеристикам. Если это хотите делать интерактивно , то прийдется переделывать формы элемента аналогично как в форме справочника номенклатуры. Процедуры там те же скопировать и все ;). Ничего сложного. Одно что надо будет заменить глобально , так это процедуру , которая отвечает за вывод кода и артикула номенклатуры в табличных частях документов. Теперь же нас будет интересовать артикул характеристики а не номенклатуры самой. Вот , ее то и переделаем. Добавим параметр №4 через который будем передавать значение характеристики номенклатуры в текущей строке.
РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура, ДанныеСтроки.ХарактеристикаНоменклатуры);
Вот, а в модуле уже ее так перепишем:
Процедура ПоказатьКодАртикул(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура , ХарактеристикаНоменклатуры) Экспорт
Если КолонкиТабПоля.Код.Видимость
ИЛИ КолонкиТабПоля.Артикул.Видимость Тогда
Если КолонкиТабПоля.Код.Видимость Тогда
Если Номенклатура <> Неопределено Тогда
ЯчейкиСтрокиТабПоля.Код.УстановитьТекст(Номенклатура.Код);
Иначе
ЯчейкиСтрокиТабПоля.Код.УстановитьТекст("");
КонецЕсли;
КонецЕсли;
// Типовый текст заменен Фан 11.12.2014
Если КолонкиТабПоля.Артикул.Видимость Тогда
Если ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
Если ЗначениеЗаполнено(ХарактеристикаНоменклатуры) Тогда
ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст(ХарактеристикаНоменклатуры.Артикул);
Иначе
ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст(Номенклатура.Артикул);
КонецЕсли;
Иначе
ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст("");
КонецЕсли;
КонецЕсли;КонецЕсли;
КонецПроцедуры // ПоказатьКодАртикул()
В общем, и все!!!
Пользуйтесь.
Пишите мне , будем обсуждать эту тему дальше!