IE 2017

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

Обработки - Обработка справочников

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

 

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

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

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

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


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

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

 

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


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


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


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

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

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


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


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


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

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

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

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

См. также

Комментарии
1. Иван Токманцев (1psspam) 76 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. Ёпрст (Ёпрст) 1021 01.08.13 18:07 Сейчас в теме
А занафига Назначение свойств заполнять вообще ?
Тем более, всем справочником ?
5. Иван Токманцев (1psspam) 76 01.08.13 18:30 Сейчас в теме
(4) Ёпрст, обработка судит о присутствии того или иного свойства у номенклатуры по наличию этой номенклатуры в табличной части "Назначение свойства". Если табличная часть пуста, то обработка считает, что это свойство не относится ни к одной номенклатуре, хотя на самом деле это свойство относится ко всем элементам справочника номенклатуры. Поэтому "Назначение свойства" и подгоняется под "удобство" работы с ним обработке.
6. Иван Токманцев (1psspam) 76 01.08.13 18:31 Сейчас в теме
(3) zlogistik, потому что, если фирма 1С внедрит все "фишечки", которые размещены на ИнфоСтарте в свои конфигурации, то сначала закроется сам ИнфоСтарт, а потом половина всех разработчиков 1С сменят род деятельности.
7. Ёпрст (Ёпрст) 1021 01.08.13 19:05 Сейчас в теме
(5) это не есть гуд, при добавлении новой номенклатуры, назначения свойств .. дырка от бублика.
Или ваша поделка каждый раз проверяет это соответствие ?
8. Иван Токманцев (1psspam) 76 01.08.13 19:09 Сейчас в теме
(7) Ёпрст, "дырка от бублика" будет в любом случае. В вашем - будут свойства, но их значения не будут заполнены. В случае моей обработки: добавили номенклатуру, поставили у неё галки для нужных свойств (галку можно даже не ставить, достаточно заполнить значение свойства и оно автоматически "прикрепится" к этой номенклатуре).
9. Иван Токманцев (1psspam) 76 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) 76 01.08.13 19:51 Сейчас в теме
(10) kapustinag, спасибо за подробный комментарий, но не убедили.
Единственное с чем согласен - это "открытие свойств в типовых формах хоть немного, но замедлится" - "немного" будет не заметное, но будет.
Моя обработка "не ломает" типовую функциональность, она улучшает механизм работы с этой "типовой функциональностью" и попросту не использует часть этого "типового функционала".
Про подписки на события я, в принципе тоже согласен, но делать их нужно не для моей обработки, а для "типового функционала". Что будет с заполненными свойствами номенклатуры, если её (номенклатуру) перенести в другую группу (к которой эти свойства не относятся)? Правильно - свойства всё равно будут отображаться в форме номенклатуры, хотя в "Назначении свойств" не будет ни этой номенклатуры, ни её родителей. Тогда да, "В результате придется за такими свойствами постоянно следить - перезаполнять назначение свойств после каждого добавления/перемещения элементов номенклатуры".
Поэтому всё, что Вы описали, с теоретической точки зрения, возможно, верно. С практической - нет. Именно поэтому я выложил данную обработку.
12. Вадим Никонов (V.Nikonov) 115 07.08.13 12:46 Сейчас в теме
Если свойство имеет тип значения отличный от "Значение свойств объектов", то "Список значений свойств" не отображается, т.к. подразумевается, что пользователь вводит произвольное значение вручную, а не выбирает его из заранее предопределённого списка.

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

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