Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3 курс (заочка) / Методические пособия / Пособие для ответов на контрольные вопросы

.pdf
Скачиваний:
187
Добавлен:
15.02.2021
Размер:
46.69 Mб
Скачать

Занятие 25 781

Теперь если через некоторое время руководство косметического салона пожелает вести расчет зарплаты, то администратор включит соответствующую опцию Расчет зарплаты, и все!

Рис. 25.9. Изменение значения функциональной опции для расчета зарплаты

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

В результате раздел Расчет зарплаты будет выглядеть следующим образом (рис. 25.10).

Рис. 25.10. Интерфейс раздела «Расчет зарплаты»

782 1С:Предприятие 8.3. Практическое пособие разработчика

А если мы включим и вторую функциональную опцию Бухгалтерский учет, то мы восстановим интерфейс прикладного решения, разработанный нами для фирмы ООО «На все руки мастер».

Вот так быстро и легко происходит настройка прикладного решения под требования заказчика.

Опция «Учет клиентов»

Нужно отметить, что функциональные опции могут влиять не только на командный интерфейс приложения, но и на внешний вид форм, используемых в прикладном решении. Кроме этого, включение/ выключение функциональности можно выполнять и без перезапуска клиентского приложения. А если к этому прибавить возможности работы с функциональными опциями во встроенном языке, то становитсяпонятным,чтомеханизмфункциональныхопцийможетсделать процесс внедрения и настройки прикладного решения у  заказчика простым и понятным даже для неопытного пользователя.

Рассмотрим еще один пример.

«Поименный» учет клиентов при оказании услуг востребован далеко не всегда. Зачастую важен лишь сам факт оказания услуги, при этом «личность» клиента не имеет значения.

Поэтому предусмотрим в нашей конфигурации возможность отключить ведение списка клиентов и избавимся от необходимости указывать клиента каждый раз при оказании услуги.

Также доработаем существующие функциональные опции, включив в  них и подсистемы Бухгалтерия и РасчетЗарплаты, чтобы наше решение выглядело «законченным». Раз бухгалтерия не нужна, значит ее нет нигде.

В режиме «Конфигуратор»

Откроем состав функциональной опции БухгалтерскийУчет и добавим в него подсистему Бухгалтерия.

Аналогичным образом добавим в состав функциональной опции

РасчетЗарплаты подсистему РасчетЗарплаты (рис. 25.11).

Теперь займемся созданием новой функциональной опции.

Занятие 25 783

Рис. 25.11. Состав функциональных опций «РасчетЗарплаты» и «БухгалтерскийУчет»

Для хранения этой опции добавим константу с именем УчетКлиентов. Она будет иметь тип Булево (рис. 25.12).

Рис. 25.12. Константа «УчетКлиентов»

Добавим функциональную опцию УчетКлиентов и укажем, что ее значение будет храниться в константе УчетКлиентов (рис. 25.13).

Теперь на закладке Состав укажем, какие объекты будут входить в эту функциональную опцию.

784 1С:Предприятие 8.3. Практическое пособие разработчика

Рис. 25.13. Функциональная опция «УчетКлиентов»

Прежде всего – справочник Клиенты. Затем – реквизит Клиент документа ОказаниеУслуги. И в заключение – измерение Клиент регистра накопления Продажи (рис. 25.14).

Рис. 25.14. Состав функциональной опции «УчетКлиентов»

Занятие 25 785

Теперь доработаем общую форму ОбщиеНастройки, с помощью которой мы устанавливаем значения функциональных опций.

Прежде всего перенесем в состав элементов формы нашу новую константу УчетКлиентов (рис. 25.15).

Рис. 25.15. Форма «ОбщиеНастройки»

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

Для этого в дереве элементов формы выделим корень (Форма), в  палитре свойств найдем событие формы ПослеЗаписи и нажмем кнопку открытия в поле ввода этого события. Укажем, что событие будет обрабатываться только на клиенте.

В открывшемся модуле формы, в обработчике события формы ПослеЗаписи напишем единственную строку (листинг 25.1).

Листинг 25.1. Обработчик события «ПослеЗаписи» формы

&НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи)

ОбновитьИнтерфейс(); КонецПроцедуры

786 1С:Предприятие 8.3. Практическое пособие разработчика

ОбновитьИнтерфейс() – это метод глобального контекста, который обновляет командный интерфейс, начальную страницу и открытые формы с учетом текущих значений функциональных опций и их параметров.

Для того чтобы проверка работы функциональных опций стала для нас максимально удобной и легкой, сделаем так, чтобы открытие этой общей формы не блокировало основное окно программы.

Сейчас при открытии формы ОбщиеНастройки в режиме 1С:Предприятие форма, открытая в основном окне программы, блокируется. Так происходит потому, что по умолчанию конструктор форм установил для этой формы свойство РежимОткрытияОкна в значение

Блокировать окно владельца.

Поэтому перейдем за закладку Форма, в дереве элементов формы выделим корневой элемент, в палитре свойств найдем свойство

РежимОткрытияОкна и установим его в значение Независимый (рис. 25.16).

Рис. 25.16. Свойство «РежимОткрытияОкна»

Занятие 25 787

В режиме «1С:Предприятие»

Запустим систему в режиме 1С:Предприятие. В разделе Главное выполним команду Общие настройки. Мы видим, что функциональная опция Учет клиентов отключена (рис. 25.17).

Рис. 25.17. Функциональная опция «УчетКлиентов» отключена

Проверим, как это скажется на документе Оказание услуги. Перейдем в раздел Оказание услуг и выполним команду Оказание услуг.

Откроем любой документ Оказание услуги, например № 2 (рис. 25.18).

Рис. 25.18. Документ «Оказание услуги»

788 1С:Предприятие 8.3. Практическое пособие разработчика

Мы видим, что в документе нет поля Клиент, а если в панели навигации формы перейти к движениям регистра Продажи, то мы не увидим колонки Клиент. Также в разделе Предприятие нет команды

Клиенты.

Теперь вернемся в форму Общие настройки, установим флажок Учет клиентов и нажмем кнопку Записать.

Интерфейс прикладного решения изменится. Для примера откроем снова документ Оказание услуги № 2 (рис. 25.19).

Рис. 25.19. Документ «Оказание услуги»

В документе появилось поле Клиент, в списке движений регистра Продажи появилась колонка Клиент, а в разделе Предприятие – команда

Клиенты.

Аналогичным образом вы можете самостоятельно переключить различные функциональные опции и посмотреть, как при этом меняется интерфейс прикладного решения.

В заключение в форме Общие настройки включим все функциональные опции и нажмем кнопку Записать (рис. 25.20).

Занятие 25 789

Рис. 25.20. Общие настройки прикладного решения

Таким образом, мы включили всю функциональность разработанного нами прикладного решения. Заметьте, что интерфейс приложения перерисовался сразу же после записи общих настроек.

На этом мы фактически завершили разработку нашей конфигурации.

Следующие два занятия будут посвящены отдельным приемам разработки, которые часто используются в «1С:Предприятии».

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

790 1С:Предприятие 8.3. Практическое пособие разработчика

Контрольные вопросы

;; Что такое функциональные опции, и зачем они нужны?

;; Как с помощью функциональных опций изменять интерфейс прикладного решения?