gifts2017

[УТ 10.3, УПП, КА] Редактор свойств номенклатуры (в режиме одного окна)

Опубликовал Иван Токманцев (1psspam) в раздел Обработки - Обработка справочников

Вводная: есть произвольный справочник номенклатуры. Требуется: максимально быстро и удобно задать (изменить) значения свойств у товаров

 

Итак, имеется справочник номенклатуры. Нам необходимо, потратив, как можно меньше времени, задать для товаров свойства либо изменить уже существующие.

Все, кто занимался этим, знают, что штатными средствами править свойства номенклатуры - занятие довольно муторное, требующее много времени.

Поэтому, собственно, и родилась обработка, которую можно скачать из данной публикации. Скачиваем обработку, открываем её в своей информационной базе (все тесты желательно проводить на копии базы или на какой-нибудь тестовой).

При запуске, обработка проверит существующую структуру регистров свойств номенклатуры, и, если необходимо, предложит немного подправить её.


Суть исправлений заключается в следующем:

Если есть свойства, у которых не указано назначение (т.е. в табличной части "Назначения свойства" нет строк), то, как известно, это свойство будет относиться ко всем элементам справочника "Номенклатура"

 

Обработка найдёт такие свойства и заполнит табличную часть "Назначения свойства" всеми элементами справочника "Номенклатура":


Если есть свойства, у которых в табличной части "Назначения свойства" есть элементы, являющимися группами, то обработка удалит эти элементы:


и вместо них добавит все элементы справочника "Номенклатура", которые "лежат" в этой группе:


Т.е., по сути, всё останется, как и было, но обраобтка сможет корректно работать.

После того, как обработка выполнит необходимые преобразования (только с согласия пользователя), откроется главная форма обработки, на которой:

Левая часть - "Дерево номенклатуры" - содержит все элементы справочника "Номенклатура", представленные в виде дерева. В этой области мы выделяем нужную номенклатуру (возможно множественное выделение), для которой будем править свойства. Тут стоит отметить, что, если выбран(ы) элемент(ы) справочника "Номенклатура", то все дальнейшие изменения будут затрагивать только выбранные элементы. Если выбрана(ы) группа(ы), то все дальнейшие изменения будут затрагивать все элементы справочника "Номенклатуры", которые у этих групп находятся в иерархии.


Правая-верхняя часть - "Список свойств" - Содержит список всех свойств. Тут же можно добавить новое свойство или изменить существующее. Галочками отмечаются свойства, которые есть у выбранных в "Дереве номенклатуры" элементов (если галочка "мутная", то значит, что данное свойство есть, но не у всех выбранных элементов). Если галочка убирается, то свойство убирается из выбранных элементов номенклатуры.


Правая-нижняя часть - "Список значений свойств" - показывает все возможные варианты выбранного в "Списке свойств" свойства. Тут же можно добавить или изменить существующее значение. Если свойство имеет тип значения отличный от "Значение свойств объектов", то "Список значений свойств" не отображается, т.к. подразумевается, что пользователь вводит произвольное значение вручную, а не выбирает его из заранее предопределённого списка.


Собственно и вся обработка: маленькая, но довольно функциональная.

P.S.: модуль закрыт от посторонних глаз.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Обработка "Редактор свойств номенклатуры"
.epf 30,99Kb
01.12.15
88
.epf 30,99Kb 88 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Иван Токманцев (1psspam) 01.08.13 17:28
Если есть какие-то вопросы, то готов ответить.
2. Филипп Игоревич Игнатьев (zlogistik) 01.08.13 17:46
(1) 1psspam, обработка отличная! Автору однозначно плюс! Спасибо!
3. Филипп Игоревич Игнатьев (zlogistik) 01.08.13 17:48
(1) 1psspam, вот почему фирма 1С не сделает подобный механизм в своих конфигурациях!? Вроде, как возможность сделают, а методы работы с ней - крайне не удобные.
4. Епрст (Ёпрст) 01.08.13 18:07
А занафига Назначение свойств заполнять вообще ?
Тем более, всем справочником ?
5. Иван Токманцев (1psspam) 01.08.13 18:30
(4) Ёпрст, обработка судит о присутствии того или иного свойства у номенклатуры по наличию этой номенклатуры в табличной части "Назначение свойства". Если табличная часть пуста, то обработка считает, что это свойство не относится ни к одной номенклатуре, хотя на самом деле это свойство относится ко всем элементам справочника номенклатуры. Поэтому "Назначение свойства" и подгоняется под "удобство" работы с ним обработке.
6. Иван Токманцев (1psspam) 01.08.13 18:31
(3) zlogistik, потому что, если фирма 1С внедрит все "фишечки", которые размещены на ИнфоСтарте в свои конфигурации, то сначала закроется сам ИнфоСтарт, а потом половина всех разработчиков 1С сменят род деятельности.
7. Епрст (Ёпрст) 01.08.13 19:05
(5) это не есть гуд, при добавлении новой номенклатуры, назначения свойств .. дырка от бублика.
Или ваша поделка каждый раз проверяет это соответствие ?
8. Иван Токманцев (1psspam) 01.08.13 19:09
(7) Ёпрст, "дырка от бублика" будет в любом случае. В вашем - будут свойства, но их значения не будут заполнены. В случае моей обработки: добавили номенклатуру, поставили у неё галки для нужных свойств (галку можно даже не ставить, достаточно заполнить значение свойства и оно автоматически "прикрепится" к этой номенклатуре).
9. Иван Токманцев (1psspam) 01.08.13 19:11
(7) Ёпрст, соответствие обработка проверяет при каждом запуске. Если найдены "косяки" с точки зрения обработки, то она предлагает их исправить.
10. Александр Капустин (kapustinag) 01.08.13 19:15
(5) 1psspam, Думаю, такое решение (насчет заполнения "Назначения свойства" всеми элементами номенклатуры), мягко говоря, не слишком удачное. По следующим причинам:
1. Если "Назначение свойства" пустое, то свойство (в типовой функциональности) относится не только ко всем СУЩЕСТВУЮЩИМ элементам справочника Номенклатура, но и ко всем, которые будут созданы впоследствии. Аналогично, если в "Назначении свойства" указана папка справочника - свойство относится не только ко всем существующим элементам, входящим в иерархию этой папки, но и ко всем, которые будут созданы здесь в будущем, либо перемещены сюда из других папок справочника. Ваша обработка, чтобы работали ее алгоритмы, ломает эту типовую функциональность. В результате придется за такими свойствами постоянно следить - перезаполнять назначение свойств после каждого добавления/перемещения элементов номенклатуры.
2. (На самом деле, это продолжение п.1) Те базы, где реально могла бы помочь Ваша обработка, будут иметь очень большой справочник номенклатуры. И очень интенсивно меняющийся. Соответственно, количества строк "Назначение свойства" будут порядка тысяч, десятков тысяч. Чтобы следить за этим хозяйством, придется либо подписки на события делать, либо регламентным заданием перезаполнять, либо что-то еще придумывать.
3. Кроме того, открытие свойств в типовых формах хоть немного, но замедлится - т.к. будут постоянные проверки на вхождение данной ссылки в перечень, содержащий тысячи или более ссылок.

Предлагаю обдумать все это. Может быть, Вашей обработке не так уж необходимо именно такое заполнение "Назначений свойств"?
looxxx; V.Nikonov; +2 Ответить 2
11. Иван Токманцев (1psspam) 01.08.13 19:51
(10) kapustinag, спасибо за подробный комментарий, но не убедили.
Единственное с чем согласен - это "открытие свойств в типовых формах хоть немного, но замедлится" - "немного" будет не заметное, но будет.
Моя обработка "не ломает" типовую функциональность, она улучшает механизм работы с этой "типовой функциональностью" и попросту не использует часть этого "типового функционала".
Про подписки на события я, в принципе тоже согласен, но делать их нужно не для моей обработки, а для "типового функционала". Что будет с заполненными свойствами номенклатуры, если её (номенклатуру) перенести в другую группу (к которой эти свойства не относятся)? Правильно - свойства всё равно будут отображаться в форме номенклатуры, хотя в "Назначении свойств" не будет ни этой номенклатуры, ни её родителей. Тогда да, "В результате придется за такими свойствами постоянно следить - перезаполнять назначение свойств после каждого добавления/перемещения элементов номенклатуры".
Поэтому всё, что Вы описали, с теоретической точки зрения, возможно, верно. С практической - нет. Именно поэтому я выложил данную обработку.
12. Вадим Никонов (V.Nikonov) 07.08.13 12:46
Если свойство имеет тип значения отличный от "Значение свойств объектов", то "Список значений свойств" не отображается, т.к. подразумевается, что пользователь вводит произвольное значение вручную, а не выбирает его из заранее предопределённого списка.

А если в качестве свойства указывается элемент из другого справочника? Почему Априори запрещается изменять состав допустимых значений свойства?
Даже если пользователю недостаточно прав на пополнение списка допустимых значений, то всё равно удобнее видеть эти допустимые значения для более осмысленного выбора...
13. Иван Токманцев (1psspam) 09.08.13 16:59
(12) V.Nikonov,
А если в качестве свойства указывается элемент из другого справочника?

Пожалуйста, указывайте, обработка это позволяет. При непосредственном выборе значения свойства у конкретного объекта откроется форма списка справочника, из которого можно будет выбрать нужное значение.
14. Вадим Никонов (V.Nikonov) 09.08.13 18:53
(13) 1psspam, Я имел в виду Нижнюю часть формы со списком допустимых значений.
15. Иван Токманцев (1psspam) 14.08.13 07:33
(14) V.Nikonov, т.е. предлагаете выводить в нижнюю часть, например, список элементов справочников?
16. Вадим Никонов (V.Nikonov) 14.08.13 11:58
(15) 1psspam, Да. Видеть список допустимых значений облегчает задачу выбора правильного значения. Уменьшает вероятность образования Дублей...
Т.к. в качестве значения Свойства может быть не только Справочник.СвойстваОбъектов но и другие справочники, то желательно попытаться вывести эти справочники... (сложнее будет если справочник значений окажется иерархическим!)
Рамзес; 1psspam; +2 Ответить 1
17. Иван Токманцев (1psspam) 15.08.13 07:15
(16) V.Nikonov, теперь понял, о чём речь. Спасибо за комментарий - конструктивно, но, думаю, реализация этого - лишнее пока.
18. Вадим Никонов (V.Nikonov) 16.04.14 17:43
В поддержку (10) kapustinag, Регистр сведений Назначение свойств - носит ограничительный характер. Его есть смысл использовать только когда действительно надо спрятать некоторые свойства. Но если не ошибаюсь, при открытии элемента справочника в типовых конфигурациях не включается проверка на иерархическое вхождение, как следствие Свойство становится недоступным для ввода у Новых элементов (Однозначно, если в регистре перечислены Элементы)!!!
19. Павел Здановский (Zdan) 25.08.14 12:49
Будьте внимательны и не пренебрегайте советом разработчика делать бекап. После преобразования свойств обработкой перестала работать "обмен с сайтом". Просто виснет на первом этапе даже до формирования xml файлов.
20. Антон Собейко (sobeyko2008) 31.08.14 17:19
(19) Zdan, Огромное спасибо за предупреждение!
21. Сергей Михин (sergo48ru) 03.03.15 20:20
обработка устарела, рекомендуем скачать обновление.!!!?????
22. Олег Б (БольшойЧайник) 30.11.15 10:21
При запуске обработки выдается предупреждение. Обработка устарела, скачайте обновление с сайта разработчика.
Обработка скачанная с сайта обработчика выдает такое же предупреждение
автор, исправьте пожта ситуацию
23. Иван Токманцев (1psspam) 01.12.15 10:01
(21) sergo48ru, (22) БольшойЧайник, обработка исправлена.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа