gifts2017

Установка значений свойств (дополнительных реквизитов) элементам справочника Номенклатура

Опубликовал Сергей Пономарёв (izidakg) в раздел Программирование - Практика программирования

Назначение значения свойств к элементам справочника "Номенклатура"
Варианты:
1 - для элементов из одной группы
2 - для элементов содержащих одинаковую часть наименования
Работает в КА (оба интерфейса), УТ10.3, УТ11, Розница2.1 должно работать в БП

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

Было пожелание перед установкой вывести все в ТЗ, где можно флагами дополнительно отобрать где устанавливать значения и где нет - сделано

Дополнительная проверка происходит при установке значений свойств - если свойство есть, а по условиям работы могут в отбор попасть элементы у которых нет выбранного свойства

Определение свойств по корневым группам при выборе подчиненных также учтено.

В комплексной автоматизации будет работать в обоих интерфейсах

Для УТ 11 реализован механизм установки дополнительных значений реквизитов, соответственно все работает и в рознице.  Причем в рознице более строгие правила написания управляемых форм, пришлось отказаться от запуска форм в модальном режиме (обработка результата запуска форм через оповещения). Определение вида конфигурации автоматом по описанию конфигурации, таким образом определяем вариант хранения свойств в конфигурации.

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

Для тех кто с управляемыми формами только начал, посмотрите тут: http://habrahabr.ru/post/134151/

Обработку можно спокойно встраивать в конфигуратор, будет работать без ошибок запуска доп форм, спасибо за процедуру автору: http://forum.aeroion.ru/topic625.html

Еще набор шпаргалок по управляемым формам: http://infostart.ru/public/236382/

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

Наименование Файл Версия Размер Кол. Скачив.
Установка значений свойств Номенклатуры
.epf 39,22Kb
10.11.14
149
.epf 39,22Kb 149 Скачать
Установка свойств для 8.1
.epf 18,30Kb
10.11.14
17
.epf 18,30Kb 17 Скачать

См. также

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

Комментарии

1. Вячеслав Бояркин (Sla) 27.10.11 14:13
Предложение: сначала делать отбор, выкидывать кго в табличку с возможностью пометки и снятия пометки. А затем уже устанавливать для отмеченных.
2. Сергей Пономарёв (izidakg) 27.10.11 14:49
(1) Sla,
вариант для установки значений на несколько свойств одновременно.
тут при выборе свойства или значения можно конечно ставить флажек напротив что нужно выбрать, только с точки зрения наглядности проигрывает этот вариант. в остальном дело вкуса

по большому счету обработка создана для массовой установки значений конкретного свойства. а потом менеджеры в исключениях руками правят на то что надо. Это проще чем каждую карточку номенклатуры открывать и проставлять.
3. Вячеслав Бояркин (Sla) 28.10.11 07:41
Не, я не про установку несколькольких свойств, а про установку одного свойства куче номенклатуры, но(!) с возможностью ручного отбора элементов.
4. Сергей Пономарёв (izidakg) 28.10.11 10:07
(3) Sla, ну так это и сделано. на форме перед запуском обработки видно наименование свойства, по которому будет устанавливаться значение и само значение. видеть на форме обработки все варианты свойств и их значений считаю лишним. пусть лучше в отдельной форме, а там двойным кликом или через кнопку выбрать. собственно отдельная форма потому и сделана, чтобы не отвлекать - были случаи - дрогнула рука и не там поставили галочку.
в отдельной же форме можно было бы и через флажки реализовать, но так сделал по 2 причинам: чтобы поставить галочку нужно кликать фактически по ней, а тут в любую чать наименования свойства или значения и 2-я технически мне так было легче
5. Marat Ali (maratcom) 09.11.11 11:45
Что-то как-то у меня не хочет работать.
Может кто подскажет.
у меня 1С:Предприятие 8.2 (8.2.13.205), Управление торговлей, редакция 11.0 (11.0.6.9)

Вот что выдает при нажатии на кнопку "выбор свойств".
"{7,2}: Таблица не найдина " РегистрСведений. НазначенияСвойствОбъектов"
<<?>> РегистрСведений. НазначенияСвойствОбъектов КАК НазначенияСвойствОбъектов"
6. Сергей Пономарёв (izidakg) 09.11.11 13:43
такое сообщение может появиться только если нажато "Найти-Установить", а не при выборе свойства.
торговлей 11-й касался немного, если не ошибаюсь, то там нет свойств к карточке товара (номенклатуре),
доп сведения там. уже внутри пишется свойства общие, но это уже не тот механизм что был в 10.3, соответственно обработка на 11 торговле работать не будет.
на 10.3 работает, изначально для нее писалось, на КА - комплексной тоже работает, в бухгалтерии (последней тоже)
7. looxxx Пристайко (looxxx) 15.12.11 17:49
а для 8.1 есть? пишет ..не может быть прочитана текущей версией..
8. Сергей Пономарёв (izidakg) 16.12.11 01:21
добавил, в версии для 8.1 даже печать сделана - пожелание клиента
9. Александр МАН (1977) 04.08.12 14:28
10. Сергей Пономарёв (izidakg) 06.08.12 10:24
(9) 1977, необходимости пока небыло
клиенты ну очень не хотят на ут11 переходить)))
хотя если время позволит, до в августе должен дописать форму в упр интерфейсе к этой обработке
11. Grogori Ruslanov (rgrisha) 31.03.13 16:38
а для ТИС нет не у кого такой обработки?
12. Сергей Пономарёв (izidakg) 01.04.13 11:33
последние пару лет для 1с7 пишу только под принуждением)))
13. Дмитрий Бухалов (Re:аниматор) 05.12.13 07:44
Обработка не видит свойства ВЫБРАННОЙ подгруппы если заданы на корневые группы

Доработал и все ОК

Форма.ВыборСвойства

Функция СписокНазначенийСвойств(ОбъектОтбораНазначений)

	СписокНазначенийСвойств = Новый СписокЗначений;
	
	Если ЗначениеЗаполнено(ОбъектОтбораНазначений) Тогда
		ЭтоСправочник = Метаданные.Справочники.Содержит(ОбъектОтбораНазначений.Метаданные());
	КонецЕсли;
	
	Назначение = ОбъектОтбораНазначений;
	
	Пока ЗначениеЗаполнено(Назначение) Цикл
		
		СписокНазначенийСвойств.Добавить(Назначение);
		
		Если ЭтоСправочник Тогда
			Назначение = Назначение.Родитель;
		Иначе
			Прервать;
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат СписокНазначенийСвойств;
	
КонецФункции
...Показать Скрыть


Процедура ПриОткрытии()
	
	Если НЕ ЗначениеЗаполнено(ЗначениеГруппаНоменклатуры) и НЕ ЗначениеЗаполнено(ЗначениеПоиска) Тогда
		Предупреждение("Выберите группу номенклатуры! 
		|Или часть наименования Номенклатуры",60);
		Возврат;
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Если ЗначениеЗаполнено(ЗначениеГруппаНоменклатуры) Тогда
		//Запрос.УстановитьПараметр("ВыбОбъект",ЗначениеГруппаНоменклатуры);
		
		Запрос.УстановитьПараметр("СписокНазначенийСвойств", СписокНазначенийСвойств(ЗначениеГруппаНоменклатуры));
		
		Запрос.Текст = "ВЫБРАТЬ
		|	НазначенияСвойствОбъектов.Объект,
		|	НазначенияСвойствОбъектов.Свойство,
		|	НазначенияСвойствОбъектов.Свойство.Ссылка,
		|	НазначенияСвойствОбъектов.Свойство.Наименование
		|ИЗ
		|	РегистрСведений.НазначенияСвойствОбъектов КАК НазначенияСвойствОбъектов
		|ГДЕ
		//|	НазначенияСвойствОбъектов.Объект = &ВыбОбъект";
		|	НазначенияСвойствОбъектов.Объект В ( &СписокНазначенийСвойств )";

...Показать Скрыть
14. Виталий Спивак (vitaliysv) 05.03.16 09:28
не работает для Розницы 2.2
при попытке выбрать свойство вываливается в ошибку "Таблица не найдена "РегистрСведений.НазначенияСвойствОбъектов""
15. Сергей Пономарёв (izidakg) 05.03.16 19:27
в ближайшее время планирую доработать и немного расширить обработку
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа