Часто встречаю здесь на форуме вопросы разработчиков, связанные с доработкой типовых конфигураций: они добавляют новый реквизит в документ, возникают проблемы, документ всё время меняется… А если в десяток документов надо это реквизит добавить, что делать?
Есть простое решение от 1С без программирования и изменения конфигурации: использовать дополнительные реквизиты и сведения.
Дополнительные реквизиты и сведения – один из популярных механизмов БСП, который используется в большинстве современных типовых конфигураций. Задача этого механизма – дать пользователю инструменты по изменению структуры данных без изменения конфигурации. Чаще всего данный механизм используется при добавлении пользовательских свойств к объектам конфигурации – справочникам и документам.
Различие дополнительных реквизитов и сведений в том, что первые хранятся в самом объекте, а вторые – в специальном регистре сведений.
Эта статья посвящена дополнительным сведениям. Будут рассмотрены вопросы:
- как создать дополнительное сведение (дополнительный пользовательский справочник) для одного и для нескольких объектов конфигурации, – как редактировать значения дополнительных сведений,
- как выводить значения дополнительных сведений в форму списка объектов (например, в журнал документов),
- как редактировать формы представления дополнительных сведений,
- как задействовать дополнительные сведения в отчетах.
Для наглядности решим с помощью дополнительного сведения задачу учёта продаж в разрезе менеджеров в «1С:Бухгалтерии 3.0».
Постановка задачи
Вести учёт выставленных счетов и реализаций по менеджерам.
В документах реализации есть реквизит «Ответственный», который может служить для хранения данных о менеджере. Но нас такое решение не устраивает, так как по умолчанию в поле «Ответственный» записывается автор документа. Нам нужно дополнительное поле к этому документу.
Сделаем это поле в виде дополнительного сведения. Почему именно сведения, а не реквизита? Потому что к документу может быть «привязано» только сведение – так устроена типовая конфигурация.
Важное замечание: одному документу может соответствовать только одно значение дополнительного сведения. То есть мы как бы добавляем новый реквизит в шапку документа. В табличную часть документа добавить такой реквизит нельзя.
Начало работы
Все действия в режиме «1С:Предприятие» будем выполнять с правами администратора. Сначала включим возможность работы с дополнительными сведениями.
Раздел «Администрирование – Общие настройки» (см. рис. 1). Раскроем группу «Дополнительные реквизиты и сведения».
Рис. 1. Общие настройки в разделе «Администрирование»
В выделенном красным цветом прямоугольнике поставим флаг «Дополнительные реквизиты и сведения». Если он уже стоит, то оставим как есть.
Создание дополнительного сведения
Перейдем по гиперссылке «Дополнительные сведения». Найдём вид документа «Реализация (акты, накладные, УПД)». Установим на него курсор и нажмем кнопку «Добавить» – «Новое».
Рис. 2. Дополнительные сведения
Появится форма ввода дополнительного сведения. Заполним её.
Наименование: Менеджер
Тип значения: Дополнительное значение – оставим как есть. Так мы получим свой справочник менеджеров.
Остальное заполнение см. на рис. 3.
Рис. 3. Форма редактирования нового дополнительного сведения
Введём сразу имя для разработчиков – оно понадобится для создания отчетов.
Нажмём кнопку «Записать и закрыть».
Редактирование дополнительного сведения
Появилось новое дополнительное сведение у документа «Реализация». Как это проверить? Открываем список документов, нажимаем на кнопку «Дополнительные сведения» – она выделена красным на рис. 4.
Рис. 4. Журнал документов «Реализация»
На экран выводится окно со всеми значениями дополнительных сведений документа, на котором стоит курсор.
Рис. 5. Значения дополнительных сведений документа
Посмотрим, что можно выбрать в поле «Менеджер». Сначала список будет пустым, мы его начнем заполнять по мере ввода данных.
Первым менеджером будет Степанов Петр (см. рис. 6).
Рис. 6. Создание нового элемента в списке менеджеров
Создадим запись о нём и выберем эту запись для документа.
Рис. 7. Список дополнительных сведений с заполненным значением менеджера
Теперь в любой момент можно будет нажать на кнопку «Дополнительные сведения» и увидеть менеджера документа реализации. Там же его можно будет исправить или удалить.
Добавление колонки в журнал документов
Нажмем «Еще – Изменить форму» в форме списка документов реализации.
Рис. 8. Настройка формы списка документов
В левой части окна настройки формы установим курсор на пункт «Ссылка» и нажмём на кнопку «Добавить поля». Как показано на рис. 9, в списке полей есть «Менеджер», его и выберем.
Рис. 9. Добавление поля по ссылке
Поставим флаг в строке «Менеджер» и нажмем ОК.
С помощью «стрелочек вверх» поднимем добавленное поле повыше, а в правом окне отредактируем название колонки в списке (см. рис. 10). Уберем всё, что в скобках.
Рис. 10. Редактирование названия колонки
Нажмем ОК. Колонка «Менеджер» добавлена.
Рис. 11. Новая колонка в списке документов
Теперь поле «Менеджер» участвует в поиске (рис. 12) и печати реестра документов.
Рис. 12. Окно поиска по менеджеру
Для включения колонки «Менеджер» в реестр реализаций нужно в настройках реестра на закладке «Оформление» поставить флаг (см. рис. 13).
Рис. 13. Настройка печати реестра документов
Редактирование данных в «закрытом» периоде
Так как дополнительные сведения хранятся в отдельном регистре сведений, а не в самом документе, то на них не распространяется действие «Даты запрета редактирования».
Проверим.
Установим дату запрета изменения данных на 31 августа. Открываем документ от 17 августа. Он серенький – редактировать его нельзя. А изменять значения дополнительных сведений – можно.
Рис. 14. Редактирование дополнительного сведения в «закрытом» периоде
Подключение других документов
Часто нужно использовать одно и то же дополнительное сведение в разных видах документов. В нашем случае требуется отмечать менеджера в счетах на оплату.
Как это сделать?
Откроем «Администрирование – Общие настройки». Перейдём по гиперссылке «Дополнительные сведения». Найдем вид документа «Счета покупателям». Установим на него курсор и нажмём кнопку «Добавить» – «Из другого набора…».
Рис. 15. Добавление дополнительного сведения к документам «Счета покупателям»
Найдем документ «Реализация» и в правом окне установим курсор на «Менеджер» – см. рис. 16.
Рис. 16. Добавление дополнительного сведения к другому документу
Нажмем кнопку «Далее».
Рис. 17. Выбор варианта добавления дополнительного сведения
Выберем «Добавить сведение как есть (рекомендуется)». Так у нас получится общий справочник менеджеров для двух различных видов документов: реализаций и счетов на оплату.
Рис. 18. Журнал счетов с колонкой «Менеджер»
Отчёты с использованием дополнительных сведений
На рис. 19 представлен текст запроса отчёта на СКД.
Сначала делается выборка значений дополнительных сведений во временную таблицу по условию:
ГДЕ
ДополнительныеСведения.Свойство.Имя = &ИмяДопСведения
В параметрах отчета указывается ИмяДопСведения = Менеджер. Это то самое «Имя для разработчика», которое было заполнено на рис. 3.
В следующем запросе проводится левое соединение выборки из бухгалтерских проводок с этой временной таблицей по регистратору.
Левое соединение даёт нам полную выборку по продажам, с заполненным и незаполненным полем «Менеджер». Если продажи без указания менеджера не нужны, то тогда будет удобнее сделать внутреннее соединение.
Рис. 19. Запрос в отчёте по продажам на СКД
Пример отчёта «Продажи по менеджерам» – на рис. 20.
Рис. 20. Отчёт «Продажи по менеджерам и контрагентам»
Менеджер присутствует в отборах отчёта и является группировкой.
Отчёты по менеджерам будут опубликованы отдельно, вы сможете их скачать за стартмани.
Имея заполненное поле «Менеджер» в счетах покупателям, можно также сделать отчёты по оплатам счетов в разрезе менеджеров. А если подключить менеджеров к счетам от поставщиков и поступлениям товаров и услуг – получится комплект отчётов по закупкам в разрезе менеджеров.
И всё это благодаря механизму дополнительных сведений.
Ответы на частые вопросы пользователей при работе с дополнительными сведениями
После изменения значения дополнительного сведения в списке документов остается прежнее значение. Что делать?
Нажмите кнопку «Обновить» из меню «Еще» или функциональную клавишу F5. Эту команду можно также вывести на панель инструментов через «Еще – Изменить форму».
Как убрать из списка документов добавленную колонку?
Так же, как и добавляли: «Еще – Изменить форму». Там можно снять флаг с дополнительного сведения. Если хотите вернуть форму списка к первоначальным настройкам, то нажмите там же кнопку «Еще – Установить стандартные настройки».
Где хранятся дополнительные сведения?
Введенные вами фамилии менеджеров хранятся в справочнике «Дополнительные значения» (Справочник.ЗначенияСвойствОбъектов). Его можно вызвать из меню «Функции для технического специалиста».
Рис. 21. Справочник «Дополнительные значения»
Установите значение «Менеджер» в поле «Свойство», как показано на рис. 21, и вы получите свой справочник менеджеров.
Если затем нажмёте кнопку редактирования свойства, то перейдете на форму настроек этого дополнительного сведения.
Значения дополнительных сведений, привязанные к документам, хранятся в регистре сведений «Дополнительные сведения» (РегистрСведений.ДополнительныеСведения). Он также вызывается из меню «Функции для технического специалиста».
Рис. 22. Регистр сведений «Дополнительные сведения»
Как отредактировать форму представления дополнительного сведения?
Форма создания дополнительного сведения (рис. 3) при повторном открытии выглядит по-другому: много недоступных полей. В частности, недоступно имя для разработчика. Чтобы разблокировать форму, нажмите «Еще – Разрешить редактирование реквизитов». Будет выдано окно с предупреждением:
Рис. 23. Предупреждение о разблокировании реквизитов
Нажмите кнопку «Разрешить редактирование», если принимаете последствия данной операции.
Можно ли не создавать отчёты на СКД и обойтись универсальным отчётом?
Это зависит от задачи, которую вы решаете. В некоторых случаях будет достаточно и универсального отчёта.
Можно ли вывести значение дополнительного сведения на форму документа?
Типовыми средствами вывести дополнительное сведение на форму редактирования документа нельзя. Вы можете заказать такую доработку программистам, но надо понимать, что её придется постоянно дорабатывать при выходе новых релизов типовой конфигурации. Кроме того, на формах документов в типовых конфигурациях просто нет места для новых элементов.
К каким объектам конфигурации можно добавить дополнительное сведение?
Дополнительное сведение можно добавить только к тем объектам (документам и справочникам), которые есть в списке (см. рис. 2).
Видео-инструкция
В видео ролике показано в подробностях, как создается дополнительное сведение, настраиваются списки документов и всё остальное, о чём шла речь в этой статье.
Выводы
Использование дополнительных сведений в типовых конфигурациях добавляет новый функционал без снятия конфигурации с поддержки и практически без программирования.
Так, в рассмотренном примере типовыми средствами в пользовательском режиме был создан справочник менеджеров, добавлено поле «Менеджер» в документы реализации и в счета покупателям, это поле оказалось возможным редактировать даже в закрытом периоде, и оно было использовано в отчете по продажам. Конфигурация при этом осталась «на замке».
Напишите в комментариях, как вы используете дополнительные сведения и каких отчётов вам не хватает в типовых конфигурациях.