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

29.10.20

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

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

Вводные

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

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

Реализация

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

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

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

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

 

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

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

 

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

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

 

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

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

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

 

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

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

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

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

 
 Скриншот

 

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

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

 

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

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

 

Итог

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

 

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

См. также

Шаблон многопоточного выполнения фонового задания

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

Пример шаблона для многопоточного выполнения фонового задания на основе БСП. Шаблоны сделаны для процедуры и функции.

2 стартмани

03.05.2024    393    3    Hitcher    1    

5

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

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

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

02.04.2024    3429    John_d    10    

92

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

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

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

01.03.2024    1943    dimanich70    8    

14

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

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

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

12.02.2024    840    FilippovRI    0    

15

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

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

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

07.02.2024    2746    YA_418728146    11    

46

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

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

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

19.01.2024    7043    PROSTO-1C    5    

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

Что за задачу решаете? Пример приведите пож-та.
2. malikov_pro 1296 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 1296 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%
Оставьте свое сообщение