Как научиться эффективно искать процедуры в документации БСП и программно устанавливать дополнительные реквизиты

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Работа с Библиотекой стандартных подсистем (БСП) — это неотъемлемая часть разработки в современной экосистеме 1С. Однако из-за огромного объема кода и документации поиск нужной функции часто превращается в сложный квест. В этой статье мы разберем, как ориентироваться в документации БСП на портале ИТС, как правильно искать методы программного интерфейса и как корректно изменять дополнительные реквизиты объектов, не нарушая целостность системы.

Понимание структуры документации БСП на ИТС

Одной из главных трудностей при работе с документацией является поиск конкретной подсистемы. Рассмотрим структуру раздела БСП. Документация разбита на логические блоки, соответствующие подсистемам. Если нам необходимо работать с дополнительными реквизитами, мы должны искать подсистему «Свойства». Именно она отвечает за механизм дополнительных реквизитов и сведений.

Проанализируем стандартный алгоритм поиска в документации:

  1. Откроем основную страницу документации БСП актуальной версии.
  2. В оглавлении найдем раздел «Использование при разработке конфигурации».
  3. Внутри этого раздела ищем главу, посвященную нужной функциональности. Для дополнительных реквизитов это будет глава «Свойства».
  4. В каждой главе обязательно присутствует подраздел «Программный интерфейс». Это самая важная часть для разработчика, так как именно здесь перечислены функции, предназначенные для вызова из вашего кода.

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

Многие начинающие разработчики пытаются изменить дополнительные реквизиты напрямую через табличную часть объекта ДополнительныеРеквизиты. Разберем, почему это не лучший путь. Прямая правка табличной части требует от вас ручной проверки типов, контроля уникальности и очистки кэша. Использование методов БСП берет эти задачи на себя.

Для записи свойств объекта в БСП предназначен общий модуль УправлениеСвойствами. Рассмотрим основные процедуры, которые нам понадобятся:

1. Установка значения одного свойства:
Если нам нужно изменить значение конкретного дополнительного реквизита, воспользуемся методом УстановитьЗначениеСвойства. Это наиболее простой и безопасный способ.

2. Массовая запись свойств:
Если нужно обновить сразу несколько реквизитов, проанализируем процедуру ЗаписатьСвойстваУОбъекта. Она принимает ссылку на объект и таблицу новых значений. Это эффективнее с точки зрения производительности.

Посмотрим на пример кода, как это может выглядеть в вашей обработке:


// Пример установки значения дополнительного реквизита
ОбъектСсылка = Справочники.Номенклатура.НайтиПоКоду("00001");
СвойствоСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет (Общие)");
НовоеЗначение = "Красный";

УправлениеСвойствами.УстановитьЗначениеСвойства(ОбъектСсылка, СвойствоСсылка, НовоеЗначение);

Как отличить стабильный код от «опасного»

Выясним причину, по которой некоторые разработчики опасаются использовать БСП. Существует мнение, что 1С часто переписывает библиотеку, и код может «сломаться» после обновления. Это верно лишь отчасти. В БСП соблюдается строгая политика именования модулей, которая помогает отделить публичный интерфейс от внутреннего (служебного).

Разберем правила, которые помогут вам писать стабильный код:

  1. Избегайте служебных модулей. Если название общего модуля заканчивается на Служебный, КлиентСервер, ПовтИсп или ВызовСервера, использовать его функции напрямую категорически не рекомендуется. Эти методы могут измениться или исчезнуть в любом минорном релизе.
  2. Используйте модули программного интерфейса. Как правило, это модули, название которых совпадает с названием подсистемы (например, ОбщегоНазначения, УправлениеСвойствами, Пользователи).
  3. Проверяйте область «Программный интерфейс». Внутри модуля разработчики 1С помечают экспортные процедуры специальными комментариями. Мы можем найти их, используя глобальный поиск по строке // ПрограммныйИнтерфейс.

Эффективный поиск по коду конфигурации

Когда документации ИТС недостаточно, самым быстрым способом найти решение является сама конфигурация. Рассмотрим, как эффективно искать примеры использования функций:

Во-первых, используйте Демонстрационную конфигурацию БСП. Она входит в состав дистрибутива библиотеки. В ней реализованы живые примеры использования каждой подсистемы. Достаточно найти в пользовательском режиме место, где редактируются дополнительные реквизиты, и через замер производительности или стек вызовов выйти на нужную процедуру.

Во-вторых, применим Глобальный поиск в конфигураторе. Если вы хотите узнать, как другие разработчики используют функцию ЗаписатьСвойстваУОбъекта, выделите ее название и нажмите Ctrl+Shift+F. Анализ существующих вызовов в типовой конфигурации — это лучший учебник.

Контроль изменений при обновлении БСП

Чтобы не держать в уме все использованные процедуры, проанализируем инструменты автоматизации. После выхода новой версии БСП обязательно ознакомьтесь с файлом Изменения в этой версии.htm (примечания к релизу). Там четко перечислено, какие функции стали устаревшими (deprecated).

Рассмотрим жизненный цикл функции в БСП:

  1. Функция объявляется устаревшей. В коде над ней появляется комментарий // Устарела. Следует использовать....
  2. Функция продолжает работать, но при ее вызове в Журнал регистрации может записываться предупреждение.
  3. Функция удаляется только через несколько мажорных релизов, что дает разработчику достаточно времени (обычно год или больше) на внесение изменений.

Для автоматической проверки своего кода рекомендуется использовать инструмент АПК (Автоматизированная проверка конфигурации). Он автоматически подсвечивает использование устаревших методов БСП, что значительно упрощает поддержку кода.

Заключение

Подведем итог: использование БСП — это правильный путь, который экономит время и делает конфигурацию стандартной. Чтобы поиск не вызывал затруднений, всегда начинайте с раздела «Программный интерфейс» в документации нужной подсистемы и придерживайтесь использования стабильных модулей. Помните, что поиск по ключевой фразе // ПрограммныйИнтерфейс внутри конфигуратора часто оказывается эффективнее любого поиска на веб-портале.

← На главную