Программное создание характеристик с дополнительными реквизитами в УНФ 1.6

29.10.20

Разработка - БСП (Библиотека стандартных подсистем)

В статье опишу порядок создания объектов и вариант их заполнения.

Вводные

  • Управление небольшой фирмой 1.6.23.61
  • Нужно создать категорию номенклатуры
    • Для категории номенклатуры создать доп реквизиты характеристик
    • Для категории номенклатуры создать характеристики
  • Создать номенклатуру с характеристиками

В статье описан блок анализа, как демонстрация решения данного типа задач. Для просмотра данных в объекте использую http://www.infostart.ru/public/100967/

Реализация

Категории номенклатуры

Иерархический справочник, минимально пользователем определяется

  • Наименование
  • Тип номенклатуры по умолчанию
 
Скриншот формы элемента 

 

При записи нового элемента дополнительно формируются наборы доп реквизитов для

  • спр. Номенклатура
  • спр. ХарактеристикиНоменклатуры
  • спр. СпецификацииНоменклатуры
 
 Скриншот данных

 

Заполняются наборы при записи элемента

 
 МодульОбъекта

 

Создаю категорию с указанием использования общих характеристик и значения единицы измерения по умолчанию.

 
 Код создания категории

 

Дополнительные реквизиты

Хранятся в "ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения". 

В элементе указывается набор "НаборСвойств" в от которого был создан. При использовании информация о принадлежности берется из ТЧ "ДополнительныеРеквизиты" спр. "НаборыДополнительныхРеквизитовИСведений".

На форме пользователь видит "Наименование", по факту заполняется "Заголовок"

 
 Скриншот формы из конфигуратора

 

Для коррекной работы кроме наименования нужно заполнить

  • тип данных
  • идентификатор для формул
  • Имя (Требуется для программного обращения к дополнительным реквизитам и сведениям. Аналог имени обычного реквизита.)

Заполнение идентификатора происходит на форме

 
 Модуль формы элемента

 

"Имя" заполняется в модуле объекта в процедуре "ПередЗаписью()"

 
 Модуль объекта

 

Пример создания с типом "Дополнительное значение". Реквизиты "Доступен", "Виден" используются для управлением отображением в форме элемента спр. "Характерисики".

 
 Код создания доп реквизита

 

Значения дополнительных реквизитов

Хранятся в справочнике "ЗначенияСвойствОбъектов" с владельцем "ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения"

 
 Код создания значения доп реквизита

 

Характеристики номенклатуры

Характеристики могут быть привязаны к:

  • спр. КатегорииНоменклатуры, можно выбирать в документах для любой номенклатцры в рамках категории.
  • спр. Номенклатура, можно выбирать в документах для номенклатуры владельца

Выбор харктеристик сделан через "нестандартную" форму выбора с фильтром, относительно неудобная для пользователей.

 
 Скриншот

 

Создаем характеристику общую для категории, добавляем в нее значение доп реквизита

 
 Код создания характеристики

 

Для формирования наимменования из значений доп. реквизитов можно использовать функцию

ШаблоныНаименований.СформироватьНаименования(ЭтотОбъект, КатегорияНоменклатуры);

 

Итог

В структуре данных по доп реквизитам в УНФ есть своя специфика, учитывая которую можно программно создавать элементы для последующего использования.

 

Благодарю за внимание.

См. также

БСП. Добавляем отчет в меню Отчеты

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Добавим новый отчет в меню нового документа средствами БСП.

02.04.2024    3067    John_d    10    

88

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1649    dimanich70    8    

14

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    777    FilippovRI    0    

15

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2574    YA_418728146    11    

42

1С:БСП Дополнительные реквизиты и сведения

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

В этой статье расскажем об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С: БСП).

19.01.2024    6115    PROSTO-1C    5    

46

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

БСП (Библиотека стандартных подсистем) Мероприятия Бесплатно (free)

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3882    0    Infostart    0    

21
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1408 30.10.20 06:48 Сейчас в теме
(0) в первой картинке - в схеме - укажите, пож-та, что есть "справочник", а что есть "регистр сведений" и "план видов характеристик"?

Что за задачу решаете? Пример приведите пож-та.
2. malikov_pro 1293 30.10.20 07:59 Сейчас в теме
(1) по схеме хорошо, поправлю, может получится в UML отрисовать.

"Что за задачу решаете?" - сам загружаю номенклатуру поставщика, в обработках состыковка, развернул чуть глубже
https://infostart.ru/1c/articles/1307929/
https://infostart.ru/1c/articles/1311264/

+ Вопрос на форуме был, https://forum.infostart.ru/forum9/topic250030/
3. malikov_pro 1293 30.10.20 09:56 Сейчас в теме
(1) Схему обновил. Отрисовал ассоциациями, пока не силен в применениии связей между классами.
4. user958873 11.04.21 16:54 Сейчас в теме
~`На форме пользователь видит "Наименование", по факту заполняется "Заголовок"`- не понятно где найти эту форму, если я делаю обработку создания характеристик
5. user958873 11.04.21 19:00 Сейчас в теме
(4)С формой "Наименование" разобрался .
Процедура или функция с указанным именем не определена (ЗаголовокДляФормированияИдентификатора) - подскажите где находится эта процедура?
6. user958873 14.05.21 11:46 Сейчас в теме
Спасибо, у меня заработало.
7. Slipper 18.10.21 17:18 Сейчас в теме
Спасибо тебе, золотой ты человек! Статья очень ускорила процесс создания обработки!
8. user20151998 15.11.22 15:14 Сейчас в теме
А я немного по другому сделал, но половина кода взята у Вас. Но у меня не заполняются реквизиты. То есть заходя в номенклатуру, я вижу свою созданную программно характеристику, открываю ее снизу есть поле "Свойства и значения". Вот это поле пустое. А снизу пишется - "Состав свойств изменяется в карточке Категории номенклатуры".

Иду опять в номенклатуру и перехожу из нее в её категорию. Внизу на форме категории тоже есть поля "Свойства хар-к" и "Свойства ном-ры" - оба пустые..То есть харакетристика создалась, но она без моих значений.

Код получился такой: https://dropmefiles.com/IefDb

Подскажите, что я забыл? На других форумах подсказали, что я просто забыл заполнить какой то реквизит. А какой?
10. user20151998 15.11.22 15:33 Сейчас в теме
(8) Но в категории по прежнему пусто..в таблице свойств - ничего нет. какую то ТЧ еще не заполнил?(
9. user20151998 15.11.22 15:19 Сейчас в теме
Разобрался, вот этого не хватает:
СтрДопРеквизит = НоваяХарактеристика.ДополнительныеРеквизиты.Добавить();
СтрДопРеквизит.Свойство = Суффикс;
СтрДопРеквизит.Значение = ЗначениеРеквизита.Ссылка;
11. Maslov1990 3 26.03.24 17:14 Сейчас в теме
Добрый день. Проверьте 14 этап, остатки не загружаются.
12. Maslov1990 3 26.03.24 17:27 Сейчас в теме
И при загрузке номенклатуры падает после загрузки 15%
Оставьте свое сообщение