Механизм расширений прочно вошел в нашу жизнь :) В Мастер-группы поступает много вопросов, так или иначе связанных с расширениями. Ниже подборка некоторых из них – тут и про активность расширений, и про использование в РИБ, и про практический опыт наших тренеров, и про использование в 1С:Розница для быстрого исправления программных ошибок. Приятного прочтения!
Вопрос №1: Возможно ли использовать расширение только в подчиненном узле РИБ?
Ответ
Да, в таком случае нужно добавить расширение непосредственно в подчиненном узле, не устанавливать для него галочку «Используется в распределенной ИБ».
Тогда такое расширение не будет мигрировать в другие узлы РИБ.
Вопрос №2: Для чего предназначается свойство активности у расширения?
Ответ
Это “технический” признак. Он не предназначен для решения каких-либо учетных задач и позволяет отключить расширение, не удаляя его полностью из информационной базы. То есть можно проверить, как будет работать система без какого-то конкретного расширения.
Другой пример использования данного признака – поиск проблемного расширения, вызывающего ошибку, при помощи последовательного отключения расширений.
Неактивные расширения не подключаются при начале работы сеанса. Такое расширение аналогично полностью удаленному расширению, но есть одно принципиальное отличие – для неактивного расширения не удаляются структуры хранения данных, созданные этим расширением. Это очень важно, поскольку расширение может изменять структуру хранения данных (добавлять новый справочник, реквизит в документ и т.д.), а случайное удаление расширения может привести к потере таких данных. Кроме этого галочка Активно – это своего рода предохранитель. При попытке удаления активного расширения система предупредит, что удалить можно только неактивное расширение. Это сделано специально, чтобы случайно, по ошибке не потерять данные.
Вопрос №3: Какими принципами руководствоваться при разработке с использованием расширений?
- создать одно расширение, в котором адаптировать все существующие объекты, или на каждую мелкую задачу создавать свое расширение?
- а вот с “большими” задачами, наверное, лучше создать отдельное расширение?
- на новые реквизиты объектов нужно создать одно общее расширение или отдельно по задачам? Ведь если нам потребуется из соседнего расширения получить реквизиты текущего расширения, то это будет проблематично. Какая здесь практика?
- урок с константами – если мы сделаем отдельное расширение только для констант, то в соседних расширениях мы ведь не сможем ими пользоваться? Поэтому лучше создавать константы в основной конфигурации? Какая здесь практика?
Ответ
Рекомендую создавать отдельное расширение на каждую подсистему (не обязательно в терминах 1С) – большую задачу. В куче мелких расширений сложно искать, в каких расширениях дорабатывался объект, кто его менял, в каком расширении мне теперь нужно выполнить свои доработки.
Еще один подход при наличии на проекте нескольких исполнителей, команд, франчайзи – один автор – одно расширение. Так проще “искать концы” – кто и для чего выполнял доработки.
И еще один вариант использования – вообще не использовать расширения для доработок, все доработки выполняются в основной конфигурации, а расширения – это только исправления срочных ошибок, параллельно это же исправление добавляется в основную конфигурацию, в регламентном окне база обновляется, расширение удаляется за ненадобностью. Этот вариант удобен при большом количестве разработчиков – весь проверенный код всегда находится в основной конфигурации, в хранилище ведется история разработки, нет десятков расширений, в которых кусками разбросана логика решения.
При большом количестве расширений сложно получить общую картину доработок в целом. Если доработки расположены в основной конфигурации, достаточно сравнить её с конфигурацией поставщика – видно все изменения. При работе с расширениями это уже не так просто.
Считаю, что новые реквизиты и объекты метаданных нужно добавлять в основную конфигурацию. Это позволит всем расширениям “видеть” эти реквизиты. Также при отключении какого-то расширения добавленные реквизиты будут доступны без всяких ограничений.
Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.
Вопрос №4: Как в 1С:Розница настроить шаблоны этикеток при работе в РИБ?
Ответ
Сейчас сложно протестировать описанную ситуацию, но если все действительно ведет себя так, как вы говорите, то дальше варианта два:
1) Обратиться на линию консультаций 1С, и может разработчики оперативно эту ситуацию обработают
2) Как всегда, своими силами (зато оперативно) доработать справочник шаблонов. Вместо сложностей с методикой сохранения/восстановления настроек можно просто доработать ограничение выбора и отображения списка шаблонов (отбором, или жестче). Тогда вы будете видеть все 18 шаблонов, как администратор системы, а у пользователей выбор будет ограничен.
Более простого пути при таких недостатках, увы, не вижу.
Комментарий слушателя
1С:Розница 8 для автоматизации магазинов и сервисных компаний: настройка, модели учета, кейсы, торговое оборудование.
Добрый день. Можно ли как то отключить оповещение о том, что расширение не активно? Если оно не активно, ну так пусть себе сидит в уголке и молчит. Зачем каждый раз предупреждать об этом? Вроде бы параметры запуска какие то есть с отключением лишних сообщений, они действуют на это?
Добрый день!
Не нашел красивого способа решения этой проблемы.
Находил в интернете радикальное предложение – вместо отключения активности сохранять резервную копию расширения в файл, временно удалять из расширения в базе весь код, оставлять только добавленные/измененные реквизиты и объекты (чтобы не потерять данные). Тогда расширение можно будет не отключать.
Затем восстанавливать расширение из сохраненного файла.
Это, конечно, ужасный костыль. К тому же есть риск потерять данные. Но зато уведомление не будет отображаться:)