Дополнительные реквизиты — замечательный инструмент, который позволяет значительно кастомизировать вашу 1С и адаптировать ее под потребности вашего бизнеса. И все это вы без доработки программы, в пользовательском режиме!
Жирный минус в том, что для конкретного доп. реквизита при заполнении, например, в номенклатурном справочнике, можно выбрать только одно значение для конкретной товарной карточки.
Данное расширение убирает это ограничение. Теперь у вас появится возможность указать произвольное количество значений доп. реквизита в номенклатуре.
Для начала создадим дополнительный реквизит. Для того, чтобы расширение распознало его как свойство с возможностью выбора нескольких значений, в комментарии нужно указать Множественный.
Создадим несколько возможных значений.
Теперь в товарной карточке этот реквизит выглядит как список значений.
В открывшемся списке выберем несколько значений, сохраним изменения.
Теперь при открытии карточки видим несколько сохраненных значений назначения.
Фильтры в списке номенклатуры и на форме подбора работают корректно — выбранная нами номенклатура удовлетворяет условиям отбора при выборе двух разных фильтров.
Для корректной работы расширения необходимо снять галку Безопасный режим.
Если у вас настроена интеграция с сайтом под управлением 1С-Битрикс, то множественные значения вы также сможете выгрузить. Для этого нужно сделать несколько изменений в модуле обмена, готов помочь вам в этом (услуга бесплатная).
Дмитрий Медведков
Программист, консультант 1С
Начал работать с 1С в 2012-м, специализируюсь на УТ 11
Несколько значений одного доп. реквизита номенклатуры |
Я |
08.05.15 — 18:27
Есть дополнительный реквизит «Допуск производителя» и одна и та же позиция номенклатуры может иметь сразу несколько значений этого реквизита, например VW502, VW505, VW507 и т.д. Но для одного реквизита программа позволяет выбрать лишь одно значение. Подскажите как обойти….
1 — 08.05.15 — 18:32
никак — пересматривать надо идеологию
2 — 08.05.15 — 18:32
(0) Смысл реквизита в том, что он относится именно к номенклатуре вцелом.
Для нескольких значений логичнее использовать характеристики.
3 — 08.05.15 — 18:35
(2) так и надо к номенклатуре в целом. Одна и та же позиция имеет несколько допусков, а не разные вариации этой номенклатуры
4 — 08.05.15 — 18:35
(1) Есть примеры пересмотра?
5 — 08.05.15 — 18:36
ну и почему она должна находится в доп.реквизите?!! Пилите свой функционал.
6 — 08.05.15 — 18:37
Табличная часть
7 — 08.05.15 — 18:37
2-й вариант — подчиненный справлчник, 3-й регистр сведений. Выбирайте нужное
8 — 08.05.15 — 18:39
(0) строковый реквизит… и пишите се через «,» или через «;»
9 — 08.05.15 — 18:39
(5) Конфа абсолютно типовая, не хотелось бы влезать в код
10 — 08.05.15 — 18:39
в некоторых типовых есть еще регистр «категории»: под каждый допуск отдельная категория
11 — 08.05.15 — 18:40
(8) Думал об этом, но при выгрузке в Битрикс, фильтр сайта не поймет
12 — 08.05.15 — 18:43
ну вот блин — хочется вилкой суп сербать. Вы батенька определитесь — либо вы хотите свое, либо типовое….
13 — 08.05.15 — 18:44
в типовой как вам сказали есть характеристики, есть качество и есть серии, но подозреваю ничто из этого вас не устроит. Отсюда резюме — пилите гири…
14 — 08.05.15 — 18:44
(12) Конечно типовое
15 — 08.05.15 — 18:46
(10) Категории привязываются к Видам номенклатуры, а в одном виде номенклатура с разными допусками
16 — 08.05.15 — 18:47
(14) — ну так используйте характеристики, что вам мешает
17 — 08.05.15 — 18:51
(16) Не, характеристики-это разные варианты товара(цвет, размер и т.д.), а у нас один товар имеет сразу несколько допусков одновременно и физически это одна позиция
18 — 08.05.15 — 18:56
(15) «категории» такой же универсальный основной как «дополнительные свойства». Если он есть, то скорей всего есть и у номенклатуры. что за конфа то?
19 — 08.05.15 — 18:56
(18) УТ 11.1
20 — 08.05.15 — 19:18
(18) Нашел только товарные категории, но они вроде к номенклатуре отдельно не присваиваются
21 — 08.05.15 — 19:36
(20) Нашел, присваиваются, но тоже только одно значение
22 — 08.05.15 — 19:40
(0)
1. Если реквизит непериодический(Для особо одаренный — не имеет исторрии значений) — то подчиненный справочник.
2.Если значения периодические — регистр сведений
23 — 08.05.15 — 19:40
развели тут…
24 — 08.05.15 — 19:43
(22) Реквизит непериодический, но (9)
25 — 08.05.15 — 19:45
(24)Ты уж определись, мой внезапный друг.
Если ты хочешь иметь историю- то добро пожаловать в регистры сведений. Если нет — в справочник подчиненный.
Если же твой реквизит вообще подразумевает одно значение, то я тебя УКУШУ за тупизм.
26 — 08.05.15 — 19:46
(25) значений много, история не нужна, влезать в код тоже нельзя
27 — 08.05.15 — 19:48
(26)Ну раз значений много и история не нужна — ты избавлен от моего укуса:-). Живи пока.
Аобщем дела сбоку подчиненный справосник. И никакого изменения кода.При обновлении правда не забудь что он у тебя есть:-)
28 — 08.05.15 — 19:48
(26) Тогда предлагаю заняться лёгкой атлетикой.
По бразильской системе
29 — 08.05.15 — 19:48
*делай сбоку
30 — 08.05.15 — 19:49
(26) Тогда «Характерстики», «Серии» или «СерийныеНомера» — подчинённые справочники. Можно заполнять, но в документы не вводить.
31 — 08.05.15 — 19:50
(30)Я побоялся если честно его пугать такими явно незнакомыми словами:-)
32 — 08.05.15 — 19:54
(30) вот сейчас пытаюсь характеристики приспособить для наших нужд))
33 — 08.05.15 — 19:56
(32)Вот наслушаешься чего тебе не надо и от этого вся хрень и начинается:-)
ты еще побольше (30) слушай.
У него вообще все проблемы через полет в другую галлактику(в твоем восприятии ) решаются:-)
34 — 08.05.15 — 19:57
(33) По вашему, котят нужно начинать топить в маленькой мисочке, чтобы они постепенно привыкали к воде ?
35 — 08.05.15 — 19:58
(34)По моему мнению котят (если их хотят выводить) стоит постепенно приучать к дикой природе.
36 — 08.05.15 — 20:02
В общем понятно — выводить котят — в другую галактику.
37 — 08.05.15 — 20:05
(36)Ну как тебе объяснить..
Вот ты и я спокойно перейдем перекресток потому что знаем уже давно что на красный нельзя, а на зеленый можно.
Но мы жене с рождения это знали.Нас научил кто то что на красный нельзя.
Вот и человек в положении когда нас еще не научили:-)
Ничего стыдного.Научится как и мы.
38 — 08.05.15 — 20:07
(37) Конечно, научится.
Только сейчас у него два желания — «лопата» и «копать,копать,копать».
39 — 08.05.15 — 20:07
(38)Ну и ладно:-)..Копать никогда невредно.
40 — 08.05.15 — 20:54
(39) Только главное — откапывать, а не закапывать.
41 — 08.05.15 — 21:43
(33) дело еще в том, что номенклатура с реквизитами должна выгружаться на сайт на битриксе, а он понимает только реквизиты и характеристики
42 — 08.05.15 — 21:56
(41) Ну, явно выгрузку битрикса придётся перелопатить.
Как вариант, есть дополнительные файлы, привязанные к номенклатуре — никто не мешает в этот файл (или файлы) положить эти замечательные значения.
43 — 08.05.15 — 23:19
(0) Может проще завести несколько реквизитов?
Допуск1, Допуск2, Допуск3
44 — 08.05.15 — 23:29
(43) Это называется «костыль».
45 — 09.05.15 — 13:43
(42) Как эти файлы будут видны в фильтре на сайте?
46 — 09.05.15 — 13:44
(43) Различных допусков несколько сотен. Представляю во что превратится карточка номенклатуры и фильтр на сайте
47 — 09.05.15 — 14:51
(45) А как они должны выглядеть на сайте?
Вы вообще уверены, что сайт поддерживает такие фильтры (несколько значений на один реквизит)?
48 — 09.05.15 — 16:14
(30) Не могу найти как отключить характеристики для использования в документах. В УТ11.1 это вообще можно сделать?
49 — 10.05.15 — 00:04
(48) Нельзя. Характеристики или не ведутся или обязательны для заполнения. Заведите пустую с названием <не указано> и ставьте ее в документах.
Smallrat
50 — 10.05.15 — 09:26
О, было у меня однажды для самописки похожее требование — нужен был размер плаката. Помимо разных характеристик типа материалов и т.д. Но вот только размер не должен быть характеристикой, их там миллион вариаций — вчера 1598*640*, сегодя 1599*641.
Сделали типа промежуточный вариант — хранений значений в документе работ. сами же размеры заданы как сведения для номенклатуры через немного допиленный стандартный механизм характеристик.
Добрый день, Уважаемые участники форума 1с.
Я столкнулся с таким проблемным вопросом, на который пытаюсь в сети www найти пути решения по следующему вопросу:
«Множественный выбор значений (Несколько значений) одного доп. реквизита номенклатуры» — как данную схему можно организоваться в учетной системе 1с УТ, с целью её ведения корректной информации о номенклатуры и поиска её через фильтр по видам и свойствам?
Буду рад Вашему качественному рассмотрению вопросу.
В моем примере это так:
«LOTOS ATF II D» — Наименование номенклатуры
В нее входят созданный реквизит как — «Допуск MAN»
У которого реквизита «Допуск MAN», должен быть либо выпадающий список либо иерархический выбор из списка значений.
У Реквизита «Допуск MAN» имеются к примеру два значений и более как:
MAN 339 typ V-1
MAN 339 typ Z-1
И я хочу, в свойствах номенклатуры указать, что по данному реквизиту «Допуск MAN» у меня к данной номенклатуре «LOTOS ATF II D» имеется два свойства как «MAN 339 typ V-1» и «MAN 339 typ Z-1».
Как можно это организовать штатными и не штатными средствами 1с?
Или требуется дополнительная доработка / обработка ?
Так как при добавления значений в реквизите «Значение свойства объектов» штатные средства конфигурации на уровне пользователя (администрирования) позволяет только выдать вариант «А» или «Б» или «В» ….
p.s вариант, использовать характеристику не совсем подходит, так как это вид предложения.
p.s 2 вариант, использовать через запятую в одну строку, это не корректно и не верно, так как может у меня быть этих значений более 3х и выше, и в аналитическом отчете будет бардак.
p.s 3 в Учебным материалах и прочей публичной информации от 1с по данному вопросу не раскрыта данная тема.
Буду рад всесторонней поддержки данного вопроса.
21.10.2022
Множественный выбор в поле ввода
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Планируется в версии 8.3.23
Будет реализован новый интерфейс для последовательного ввода однотипных значений.
Часто перед разработчиками встает задача хранить для одного объекта несколько значений одного типа. Например:
-
Несколько адресов электронной почты для письма
-
Нескольких номеров телефонов для контрагента или контактного лица
-
Роли пользователя, принадлежность к группам доступа
Для хранения таких данных можно использовать, например, табличную часть. А для показа как правило используется табличное поле формы с одной колонкой. Пример из 1С:Документооборота, форма письма:
В версии 8.3.23 появится возможность отображать такие реквизиты более компактно, показывая их значения в одну строку:
Ввод в такие поля будет осуществляться привычным способом:
-
Ввод текста или автоподбор с клавиатуры
-
Выбор значений из выпадающего списка
-
Множественный выбор из формы выбора
-
В диалоге редактирования списка значений
При вводе множественных значений в выпадающем списке могут отображаются флажки:
Можно будет указать, разрешено ли вводить дублирующие значения и пустые значения.
Можно будет кастомизировать оформление множественных значений – задать цвет текста, цвет фона, шрифт, картинку, наличие гиперссылки и т.д.
Элемент Поле ввода будет расширен новыми свойствами и событиями для поддержки этой функциональности. Также во встроенном языке появятся новые объекты.
Новая функциональность позволит создавать более компактные интерфейсы и сделает работу пользователей удобнее.
Теги:
8.3.23
UI
Предположим, в табличной части документа есть реквизит, который допускает наличие нескольких значений одновременно. К примеру, в учебном плане вуза есть реквизит Компетенция, привязанный к реквизиту Дисциплина. Для компетенций в этом реквизите должно храниться несколько значений из справочника Компетенции. Один из способов реализации этого механизма состоит в том, чтобы определить составной тип данных для реквизита Компетенции (Строка, СправочникСсылка. Компетенции).
В случае единственного значения в реквизите будет храниться элемент справочника Компетенции. В случае множественного значения – строка, содержащая представление списка компетенций. Для редактирования реквизита Компетенции можно использовать событие «Начало выбора», в котором открыть соответствующую форму выбора и сформировать представление списка компетенций. Кроме того, потребуется определить еще одну табличную часть Компетенции, в которой для строки с указанным ключом нужно создать строки для каждой компетенции. Далее при редактировании реквизита Компетенции нужно соответственно корректировать табличную часть Компетенции. Фактически мы вручную создаем реляционную модель данных и должны вручную выполнять операции выборки, соединения и модификации данных. Существенным минусом такого способа представления компетенций является неактуальность представления компетенций при изменении названия компетенции или удалении ее из справочника компетенций. |
||
В 1С помимо реляционной модели данных реализована реляционно-иерархическая модель данных, то есть модель, допускающая вид связи «один-ко-многим». Примером объекта, реализующего такую модель, является справочник с табличной частью. Можно создать справочник КомпетенцииДисциплин, подчиненный справочнику Дисциплины.
Для справочника КомпетенцииДисциплин нужно еще определить реквизит Специальность, так как набор компетенций определяется специальностью и дисциплиной. При открытии формы элемента справочника нужно еще делать отбор в табличной части справочника по специальности, выбранной в учебном плане. Наименование справочника КомпетенцииДисциплин должно формироваться в событии «перед записью» из списка компетенций в табличной части. Изменение представления компетенций по дисциплине можно выполнить, например, с помощью подписки на события «при изменении компетенции». При этом нужно только изменить наименование элементов справочника, у которых в табличной части имеется данная компетенция. Для этого можно использовать соответствующий критерий отбора. В первом способе привести представления компетенций к актуальному виду сложнее, так как нужно анализировать все документы, в которых содержатся измененные компетенции, а их может быть очень много. |
||
Итак, создадим справочники Дисциплины, Компетенции и КомпетенцииДисциплин, подчиненный справочнику Дисциплины. В справочнике КомпетенцииДисциплин добавим табличную часть Компетенции с единственным реквизитом Компетенция (СправочникСсылка.Компетенции). Для простоты специальность рассматривать не будем. Создадим также документ АУП с табличной частью Дисциплины. В табличной части добавим реквизиты Дисциплина и Компетенция. В связях параметров выбора для реквизита Компетенция укажем Отбор.Владелец(Дисциплины.Дисциплина). | ||
В форме элемента справочника КомпетенцииДисциплин можно определить событие «перед записью»: | ||
&НаСервере Процедура КомпетенцииПриИзмененииНаСервере() Представление = «»; Первая = Истина; Для Каждого ТекСтр Из Объект.Компетенции Цикл Если Не Первая Тогда Представление = Представление + «;» + ТекСтр.Компетенция; Иначе Представление = ТекСтр.Компетенция.Наименование; Первая = Ложь; КонецЕсли; КонецЦикла; Объект.Наименование = Представление; КонецПроцедуры |
||
&НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) КомпетенцииПриИзмененииНаСервере(); КонецПроцедуры |
||
В форме элемента справочника Компетенции определим событие «после записи на сервере» | ||
&НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ РАЗЛИЧНЫЕ | КомпетенцииДисциплинКомпетенции.Ссылка КАК Ссылка |ИЗ | Справочник.КомпетенцииДисциплин.Компетенции КАК КомпетенцииДисциплинКомпетенции |ГДЕ | КомпетенцииДисциплинКомпетенции.Компетенция = &Компетенция»; Запрос.УстановитьПараметр(«Компетенция», ТекущийОбъект.Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ВыборкаОбъект = Выборка.Ссылка.ПолучитьОбъект(); Представление = «»; Первая = Истина; Для Каждого ТекСтр Из ВыборкаОбъект.Компетенции Цикл Если Не Первая Тогда Представление = Представление + «;» + ТекСтр.Компетенция; Иначе Представление = ТекСтр.Компетенция.Наименование; Первая = Ложь; КонецЕсли; КонецЦикла; ВыборкаОбъект.Наименование = Представление; ВыборкаОбъект.Записать(); КонецЦикла; КонецПроцедуры |
||
Теперь наименование компетенций будет актуально как при изменении наименования самой компетенции, так и при изменении состава компетенций для дисциплины. А механизмы реализации стали проще и надежнее.
Если есть вопросы по материалу — обращайтесь! |
||
Сергей Семенов, |