Работа с Библиотекой стандартных подсистем (БСП) — это неотъемлемая часть разработки в современной экосистеме 1С. Однако из-за огромного объема кода и документации поиск нужной функции часто превращается в сложный квест. В этой статье мы разберем, как ориентироваться в документации БСП на портале ИТС, как правильно искать методы программного интерфейса и как корректно изменять дополнительные реквизиты объектов, не нарушая целостность системы.
Одной из главных трудностей при работе с документацией является поиск конкретной подсистемы. Рассмотрим структуру раздела БСП. Документация разбита на логические блоки, соответствующие подсистемам. Если нам необходимо работать с дополнительными реквизитами, мы должны искать подсистему «Свойства». Именно она отвечает за механизм дополнительных реквизитов и сведений.
Проанализируем стандартный алгоритм поиска в документации:
Многие начинающие разработчики пытаются изменить дополнительные реквизиты напрямую через табличную часть объекта ДополнительныеРеквизиты. Разберем, почему это не лучший путь. Прямая правка табличной части требует от вас ручной проверки типов, контроля уникальности и очистки кэша. Использование методов БСП берет эти задачи на себя.
Для записи свойств объекта в БСП предназначен общий модуль УправлениеСвойствами. Рассмотрим основные процедуры, которые нам понадобятся:
1. Установка значения одного свойства:
Если нам нужно изменить значение конкретного дополнительного реквизита, воспользуемся методом УстановитьЗначениеСвойства. Это наиболее простой и безопасный способ.
2. Массовая запись свойств:
Если нужно обновить сразу несколько реквизитов, проанализируем процедуру ЗаписатьСвойстваУОбъекта. Она принимает ссылку на объект и таблицу новых значений. Это эффективнее с точки зрения производительности.
Посмотрим на пример кода, как это может выглядеть в вашей обработке:
// Пример установки значения дополнительного реквизита
ОбъектСсылка = Справочники.Номенклатура.НайтиПоКоду("00001");
СвойствоСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет (Общие)");
НовоеЗначение = "Красный";
УправлениеСвойствами.УстановитьЗначениеСвойства(ОбъектСсылка, СвойствоСсылка, НовоеЗначение);
Выясним причину, по которой некоторые разработчики опасаются использовать БСП. Существует мнение, что 1С часто переписывает библиотеку, и код может «сломаться» после обновления. Это верно лишь отчасти. В БСП соблюдается строгая политика именования модулей, которая помогает отделить публичный интерфейс от внутреннего (служебного).
Разберем правила, которые помогут вам писать стабильный код:
Служебный, КлиентСервер, ПовтИсп или ВызовСервера, использовать его функции напрямую категорически не рекомендуется. Эти методы могут измениться или исчезнуть в любом минорном релизе.ОбщегоНазначения, УправлениеСвойствами, Пользователи).// ПрограммныйИнтерфейс.Когда документации ИТС недостаточно, самым быстрым способом найти решение является сама конфигурация. Рассмотрим, как эффективно искать примеры использования функций:
Во-первых, используйте Демонстрационную конфигурацию БСП. Она входит в состав дистрибутива библиотеки. В ней реализованы живые примеры использования каждой подсистемы. Достаточно найти в пользовательском режиме место, где редактируются дополнительные реквизиты, и через замер производительности или стек вызовов выйти на нужную процедуру.
Во-вторых, применим Глобальный поиск в конфигураторе. Если вы хотите узнать, как другие разработчики используют функцию ЗаписатьСвойстваУОбъекта, выделите ее название и нажмите Ctrl+Shift+F. Анализ существующих вызовов в типовой конфигурации — это лучший учебник.
Чтобы не держать в уме все использованные процедуры, проанализируем инструменты автоматизации. После выхода новой версии БСП обязательно ознакомьтесь с файлом Изменения в этой версии.htm (примечания к релизу). Там четко перечислено, какие функции стали устаревшими (deprecated).
Рассмотрим жизненный цикл функции в БСП:
// Устарела. Следует использовать....Для автоматической проверки своего кода рекомендуется использовать инструмент АПК (Автоматизированная проверка конфигурации). Он автоматически подсвечивает использование устаревших методов БСП, что значительно упрощает поддержку кода.
Подведем итог: использование БСП — это правильный путь, который экономит время и делает конфигурацию стандартной. Чтобы поиск не вызывал затруднений, всегда начинайте с раздела «Программный интерфейс» в документации нужной подсистемы и придерживайтесь использования стабильных модулей. Помните, что поиск по ключевой фразе // ПрограммныйИнтерфейс внутри конфигуратора часто оказывается эффективнее любого поиска на веб-портале.