gifts2017

Ведение артикулов и изображений номенклатуры по характеристикам. Простое решение

Опубликовал Виталий Фантич (Boudybuilder) в раздел Программирование - Практика программирования

В зависимости от того как мы ведем учет номенклатуры , у нас могут возникнуть дополнительные проблемы в каталогизации справочника. И вот, когда, в ход идут характеристики , то проблем не меньше , а больше. Но все это решаемо. И очень просто!

В зависимости от того как мы ведем учет номенклатуры , у нас могут возникнуть дополнительные проблемы в каталогизации справочника. И вот, когда, в ход идут характеристики , то проблем не меньше , а больше. Но все это решаемо. И очень просто! 

Вот и мы с самого начала товары вели по характеристикам , но тут возникли вопросы... Почему в типовой не учли , что товар с другим размером и цыетом будет имень иной артикул  , или изображение? И действительно , почему в типовой такая недоработка. Ведь там ничего тяжелого нет.

Полазил по форумам , и самым простым решением стало - допиливание типовой. А именно справочника "ХарактеристикиНоменклатуры". Добавили реквизит "Артикул" и "ОсновноеИзображение"  , стянули парочку процедур и функций с основной формы справочника "Номенклатура" , добавили парочку элементов формы. И все. Показываю что получилось.


Что прийдется сделать для такой реализации...

Ну  , во-первых это добавить реквизиты справочнику ХарактеристикиНоменклатуры "Артикул"  и "ОсновноеИзображение" аналогично справочнику Номенклатура. 
Дальше надо будет изменить реквизит "Объект" справочника ХранилищеДополнительнойИнформации добавив ему в составной тип справочник ХарактеристикиНоменклатуры . Вот и можно уже добавлять изображения и артикул вашим характеристикам. Если это хотите делать интерактивно , то прийдется переделывать формы элемента аналогично как в форме справочника номенклатуры. Процедуры там те же скопировать и все ;). Ничего сложного. Одно что надо будет заменить глобально , так это процедуру , которая отвечает за вывод кода и артикула номенклатуры в табличных частях документов. Теперь же нас будет интересовать артикул характеристики а не номенклатуры самой. Вот , ее то и переделаем. Добавим параметр №4 через который будем передавать значение характеристики номенклатуры в текущей строке.


РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура, ДанныеСтроки.ХарактеристикаНоменклатуры); 


Вот , а в модуле уже ее так перепишем:


Процедура ПоказатьКодАртикул(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура , ХарактеристикаНоменклатуры) Экспорт

Если КолонкиТабПоля.Код.Видимость
ИЛИ КолонкиТабПоля.Артикул.Видимость Тогда

Если КолонкиТабПоля.Код.Видимость Тогда
Если Номенклатура <> Неопределено Тогда
ЯчейкиСтрокиТабПоля.Код.УстановитьТекст(Номенклатура.Код);
Иначе
ЯчейкиСтрокиТабПоля.Код.УстановитьТекст("");
КонецЕсли;
КонецЕсли;

// Типовый текст заменен Фан 11.12.2014
Если КолонкиТабПоля.Артикул.Видимость Тогда
Если ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
Если ЗначениеЗаполнено(ХарактеристикаНоменклатуры) Тогда
ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст(ХарактеристикаНоменклатуры.Артикул);
Иначе
ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст(Номенклатура.Артикул);
КонецЕсли;
Иначе
ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст("");
КонецЕсли;
КонецЕсли;

КонецЕсли;

КонецПроцедуры // ПоказатьКодАртикул()

 

вобщем и все!!!
Пользуйтесь.
Пишите мне , будем обсуждать эту тему дальше!  

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Старченко (dr.death) 25.12.13 11:33
А почему бы артикул, который вы используете в характеристике, использовать как Наименование этой характеристики, а ЦВЕТ как свойство ХАРАКТЕРИСТИКИ
2. Виталий Фантич (Boudybuilder) 26.12.13 01:23
(1) dr.death, Для этого прийдется делать еще один шаг добавляя свойство характеристике. Да и непонятно как это сработает при выгрузке на Битрикс...
3. Андрей Старченко (dr.death) 26.12.13 06:22
Свойства характеристикам - типовой функционал. На битриксе всё это учитывается при выгрузке, просто в xml ваши данные будут в других тегах. нужно будет на сайте настроить что откуда брать в карточку товара
4. Павел Никифоров (Lyns_owner) 18.01.14 21:52
Чего вы добьетесь, установив текст в таб. части? З.Ы. вы добавили обязательный реквизит в процедуру, которая вызывается если не из всех, то из БОЛЬШИНСТВА документов системы, вы все эти вызовы переписали? Ради того, что в документе видеть текст, который не попадет на печать?
cool.vlad4; +1 Ответить 1
5. Виталий Фантич (Boudybuilder) 19.01.14 00:24
(4) Lyns_owner, а чет там менять то? Глобальная замена в помощь!
6. Ийон Тихий (cool.vlad4) 19.01.14 00:40
(5) Boudybuilder, это была шутка? менять все вызовы...я уж молчу, что лучше тогда просто лишний параметр сделать по умолчанию Неопределенно и все. Решение в статье сомнительное. Нет, даже постановка задачи сомнительная. Ну изображения понятно, а артикулы здесь причем?
7. Виталий Фантич (Boudybuilder) 20.01.14 03:28
(6) cool.vlad4, ладно... Мне эти артикулы стока минингита не доставляют как изображения... Теперь не знаю как нормально на Битрикс все таки выгружать... Одни так говорят ... другие так... :(
8. Елена К (Ele1234567) 22.02.14 22:32
9. Александр Жигурт (jigourt) 22.02.14 22:50
мучает один вопрос, чем ПВХ свойства объектов не угодило?? на мой взгляд сомнительное удовольствие вносить столько изменений.
10. Виталий Фантич (Boudybuilder) 24.03.14 22:23
(9) jigourt, А Как в СВОЙСТВО Вы бы картинку записали?
11. Александр Жигурт (jigourt) 25.03.14 01:36
(10) Boudybuilder, добавляете справочник изображений в тип значения характеристики и вуаля

вообще в принципе прочитал публикацию. справочник характеристик подчинен номенклатуре, а вы добавляете артикул подчиненному элементу. в вашем случае, я бы характеристики перенес в свойства и наплодил бы нужное кол-во номенклатур с нужными артикулами. в вашем случае вы ломаете всю природу справочника Характеристики номенклатуры и как следствие у каждого элемента своя картинка
12. Виталий Фантич (Boudybuilder) 25.03.14 01:50
(11) jigourt, а как складской учет вести в разрезе свойств?
13. Александр Жигурт (jigourt) 25.03.14 02:01
(12) Boudybuilder, а зачем вам это делать если у вас один артикул это определенный набор свойств?

судя по картинкам, у вас будет свойство Цвет с неким значением, а артикул переедет к артикулу самой номенклатуры
14. Виталий Фантич (Boudybuilder) 25.03.14 10:23
(13) Ну да. По характеристикам мы ведем только по цветам. И там свойства одинаковы. А вот для ноутбуков например, разный артикул - это и разные свойства. Но модель может быть одна и та же самая. Мы больше это делали для битрикса. Так как там в таком случае непонятно как связать такие товары в предложения. Когда есть одна модель но с разными свойствами. У нас это отдельные товары. :( (отдельная номенклатура)
15. Александр Жигурт (jigourt) 25.03.14 10:28
(14) Boudybuilder, дак количество свойств может быть какое угодно, они интерактивно добавляются, просто каждого свойства по одному значению для одной номенклатуры
16. Виталий Фантич (Boudybuilder) 25.03.14 11:46
(13) jigourt, один артикул это определенный набор свойств.

Тогда какой смысл вобще в характеристиках? Раз и свойства разные , то по характеристикам нефиг вести.
17. Александр Жигурт (jigourt) 25.03.14 12:30
(16) Boudybuilder, ну например у нас в характеристиках хранятся размеры, потому что у нас артикул у всех размеров одинаковый. а вот различные модификации номенклатуры где есть модель, тип и т.п. это разные артикулы, т.е. разные элементы справочника Номенклатура
18. Виталий Фантич (Boudybuilder) 25.03.14 12:33
(17) jigourt, тодЫ ж я правильно все решил! Что вы меня путаете?
19. Александр Жигурт (jigourt) 25.03.14 13:14
(18) Boudybuilder, как правильно, когда вот это
во-первых это добавить реквизиты справочнику ХарактеристикиНоменклатуры "Артикул" и "ОсновноеИзображение" аналогично справочнику Номенклатура
противоречит тому, что я сказал
20. Светлана Коровянская (liana-banana) 07.12.14 21:29
Самый простой вариант ведения характеристик по артикулам, не трогая вообще программы, вообще ничего не переписывая - в том числе еще печатные формы, отчеты, прайсы и так далее - это просто в характеристике в наименовании вести Артикул.

Больше вообще ничего не нужно. Наименование решает всю задачу. в 1С сделано что наименование складывапется из свойств, но это можно сказать лишнее. Свойства итак есть в характеристике. А наименование можно спокойно задавать под артикул.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа