Какие параметры определяются для каждой константы
Перейти к содержимому

Какие параметры определяются для каждой константы

  • автор:

Тест по Автоматизации бухгалтерского учета с ответами

Нет времени или сил пройти тест онлайн? Поможем сдать тест дистанционно для любого учебного заведения: подробности.

Вопрос 1. При помощи объекта конфигурации «Константа» обеспечивается хранение:

  1. Единичной величины или набора значений, показывающего изменение этой величины во времени;
  2. Чисел и строк;
  3. Набора однотипных величин;
  4. Единичной величины.

Вопрос 2. Объект конфигурации «Перечисление» представляет собой:

  1. Список значений, создаваемый на этапе конфигурирования;
  2. Список значений, создаваемый либо на этапе конфигурирования, либо на этапе использования конфигурации;
  3. Список однородных элементов данных, создаваемый на этапе конфигурирования;
  4. Список однородных элементов данных, создаваемый как на этапе конфигурирования, так и на этапе использования конфигурации;
  5. Набор текстовых строк.

Вопрос 3. Объект конфигурации «Справочник» предназначен для:

  1. Формирования выходной информации;
  2. Хранения информации о совершенных хозяйственных операциях;
  3. Хранения списков однородных элементов;
  4. Выполнения различных действий над информационной базой;
  5. Для накопления информации о наличии и движении средств.

Вопрос 4. Объекту конфигурации «План видов характеристик» соответствует учетное понятие:

  1. Множество счетов бухгалтерского учета;
  2. Множество типов счетов бухгалтерского учета;
  3. Множество объектов аналитического учета;
  4. Множество типов объектов аналитического учета;
  5. Множество планов счетов бухгалтерского учета.

Вопрос 5. Какой режим позволяет настраивать компоненты системы автоматизации и запоминать их в специальной базе данных.

  1. Пользователь;
  2. Конфигуратор;
  3. Совет дня;
  4. Монопольный.

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

  1. Документы;
  2. Документы и справочники;
  3. Регистры бухгалтерии;
  4. Регистры бухгалтерии и регистры накопления;
  5. Документы, справочники, регистры бухгалтерии и регистры накопления.

Вопрос 7. Список активных пользователей содержит:

  1. Список пользователей, которым разрешен вход в систему;
  2. Список пользователей, которые работали с системой в заданный период времени;
  3. Список пользователей, которые работали с системой в заданный период времени не менее установленного количества сеансов;
  4. Список пользователей, подключенных в настоящий момент к информационной базе;
  5. Список пользователей, ожидающих в настоящий момент ответ на запрос к информационной базе.

Вопрос 8. Список активных пользователей включает:

  1. Пользователей, работающих только в режиме конфигурирования;
  2. Пользователей, работающих только в режиме использования конфигурации (1C:Предприятие);
  3. Пользователей, работающих как в режиме конфигурирования, так и в режиме использования конфигурации (1С:Предприятие);
  4. Пользователей, работающих только в режиме отладки конфигурации.

Вопрос 9. Роль для конкретного пользователя назначается:

  1. В списке активных пользователей
  2. В списке пользователей
  3. В справочнике «Сотрудники организации»
  4. В ветви «Роли» дерева конфигурации
  5. В списке пользователей или справочнике «Сотрудники организации»

Вопрос 10. Роль для конкретного пользователя назначается:

  1. Только в режиме конфигурирования;
  2. Только в режиме использования конфигурации (1С:Предприятие);
  3. Только в режиме отладки конфигурации;
  4. Как в режиме конфигурирования, так и в режиме использования конфигурации (1С:Предприятие).

Вопрос 11. Справочник, построенный как иерархический список, в котором записи объединяются в группы, называется:

  1. Одноуровневый;
  2. Группа;
  3. Контрогенты;
  4. Многоуровневый.

Вопрос 12. Справочник, предназначенный для учета кадров предприятия:

Вопрос 13. Справочник, хранящий сведения о физических и юридических лицах (поставщиках, покупателях и т.д.), с которыми имеет дело организация:

  1. Номенклатура;
  2. Резервы;
  3. Контрагенты;
  4. Физические лица.

Вопрос 14. Предназначены для хранения сведений о множестве однотипных объектов, которые используются при ведении аналитического учета и для заполнения документов:

  1. Справочники;
  2. Константы;
  3. Регистры;
  4. Отчеты.

Вопрос 15. Справочник, построенный как простой список элементов называется:

  1. Одноуровневый;
  2. Многоуровневый;
  3. Простой;
  4. Сложный.

Вопрос 16. Какие закладки не предусмотрены в справочнике «Организации»?

  1. Основные;
  2. Адреса и телефоны;
  3. Коды;
  4. Сотрудники.

Вопрос 17. К справочникам, созданным пользователем, относятся:

  1. справочник «Валюты»;
  2. справочник «Классификатор единиц измерения»;
  3. справочник «Организации»;
  4. справочник «Статьи движения денежных средств».

Вопрос 18. К справочнику «Корреспонденция счетов» можно обратиться следующим образом:

  1. по кнопке «Ввести хозяйственную операцию» с командной панели главного меню программы;
  2. по закладке «Операции» на панели функций;
  3. по закладке «Общие сведения» в учетной политике;
  4. по кнопке «настройки параметров учета» на закладке «начало работы» на панели функций.

Вопрос 19. Основной интерфейс назначается конкретному пользователю:

  1. Только в режиме конфигурирования;
  2. Только в режиме использования конфигурации (1С:Предприятие»);
  3. Только в режиме отладки конфигурации;
  4. Как в режиме конфигурирования, так и в режиме использования конфигурации (1С:Предприятие).

Вопрос 20. Основной интерфейс для конкретного пользователя назначается:

  1. В списке активных пользователей;
  2. В списке пользователей;
  3. В справочнике «Сотрудники организации» или в справочнике «Физические лица»;
  4. В ветви «Интерфейсы» дерева конфигурации;
  5. В Плане видов обмена.

Вопрос 21. Промежуточное звено между аналитическими и синтетическими счетами:

  1. Субконто;
  2. Счет;
  3. Субсчета;
  4. нет правильного ответа.

Вопрос 22. Механизм проводок предназначенный для автоматического контроля вводимых операций:

  1. Корректные проводки;
  2. Монитор пользователя;
  3. Администрирование;
  4. Нет верного ответа.

Вопрос 23. Использование нескольких планов счетов обеспечивает:

  1. Ведение учета для группы предприятий с формированием консолидированной отчетности;
  2. Ведение учета в нескольких стандартах;
  3. Ведение параллельного учета в дополнительной валюте;
  4. Для первого и второго;
  5. Для первого, второго и третьего.

Вопрос 24. Количество счетов первого уровня в плане счетов:

  1. Не ограничено;
  2. Не может превышать 99;
  3. Не может превышать 255;
  4. Не может превышать 999.

Вопрос 25. Для ввода или просмотра предопределенных счетов необходимо:

  1. Обратиться к списку предопределенных счетов на закладке «Данные»;
  2. Обратиться к списку предопределенных счетов на закладке «Прочие»;
  3. Обратиться к списку предопределенных счетов через меню, вызываемое нажатием кнопки «Действия»;
  4. Сделать либо первое, либо второе;
  5. Сделать либо второе, либо третье.

Вопрос 26. Количество уровней субсчетов в плане счетов:

  1. Ничем не ограничено;
  2. Не может превышать 99;
  3. Не может превышать 255;
  4. Ограничено общей длиной кода счета.

Вопрос 27. В режиме «1С:Предприятие» допускается добавлять к счетам дополнительные аналитические разрезы (субконто):

  1. Только для предопределенных счетов;
  2. Только для счетов, не являющихся предопределенньми;
  3. Как для предопределенных, так и для непредопределенных счетов;
  4. Только для балансовых счетов;
  5. Только для забалансовых счетов.

Вопрос 28. Новый счет может быть введен в план счетов:

  1. Только в режиме «1С:Предприятие»;
  2. Только в режиме «Конфигуратор»;
  3. Как в режиме «1С:Предприятие», так и в режиме «Конфигуратор»;
  4. Только в том режиме, в котором был введен план счетов.

Вопрос 29. Необходимым условием для добавления нового аналитического разреза к счету является:

  1. Наличие объекта типа «Справочник», используемого в качестве аналитического разреза;
  2. Наличие объекта типа «Справочник», «Перечисление» или «Документ», используемого в качестве аналитического разреза;
  3. Наличие в плане видов характеристик характеристики, используемой в качестве аналитического разреза;
  4. Наличие измерения в регистре бухгалтерии, используемого в качестве аналитического разреза;
  5. Одно из условий, указанных в ответах 3 и 4.

Вопрос 30. Если организация начинает работу с 1 января 2014 года, то остатки по счетам вводятся:

  1. на 1.01.2014;
  2. 31.12.2013;
  3. на 1.12.2013;
  4. 1.01.2013.

Вопрос 31. В типовой конфигурации для целей бухгалтерского учета способ оценки МПЗ:

  1. Реализован только по средней стоимости;
  2. Устанавливается пользователем в параметрах учетной политики, путем выбора одного из вариантов: ФИФО, по средней стоимости;
  3. Устанавливается пользователем в параметрах учетной политики, путем выбора одного из вариантов: по средней стоимости;
  4. Устанавливается пользователем в параметрах учетной политики, путем выбора одного из вариантов: по средней стоимости или ФИФО.

Вопрос 32. Информация о счетах учета номенклатуры организаций хранится:

  1. В справочнике «Номенклатура»;
  2. В справочнике «Номенклатурные группы»;
  3. В регистре сведений «Основные спецификации номенклатуры»;
  4. В регистре сведений «Счета учета номенклатуры»;
  5. Внутри программы и недоступна для корректировки пользователем.

Вопрос 33. В записях регистра сведений «Счета учета номенклатуры» счета учета номенклатуры задаются:

  1. По видам номенклатуры для всего предприятия в целом;
  2. По видам номенклатуры и организациям предприятия;
  3. По видам номенклатуры, организациям предприятия и местам хранения;
  4. По видам номенклатуры, организациям предприятия и назначению использования;
  5. По видам номенклатуры, организациям предприятия, местам хранения и назначению использования.

Вопрос 34. В записях регистра сведений «Счета учета номенклатуры» счета учета номенклатуры задаются:

  1. Только для каждой номенклатурной позиции;
  2. Только для групп номенклатуры;
  3. Как для каждой номенклатурной позиции, так и для групп номенклатуры;
  4. Для каждой номенклатурной позиции, для групп номенклатуры и для всей номенклатуры в целом.

Вопрос 35. В записях регистра сведений «Счета учета номенклатуры» определяются правила:

  1. Бухгалтерского учета и налогового учета по налогу на прибыль;
  2. Бухгалтерского учета, налогового учета по налогу на прибыль и НДС;
  3. Бухгалтерского учета, налогового учета по налогу на прибыль, НДС и УСН;
  4. Бухгалтерского учета, налогового учета по налогу на прибыль, НДС, УСН и забалансового учета;
  5. Бухгалтерского учета, налогового учета по налогу на прибыль, НДС и забалансового учета.

Вопрос 36. Если в план счетов пользователем введены собственные субсчета учета номенклатуры, то:

  1. Их нельзя добавить в регистр сведений «Счета учета номенклатуры»;
  2. В регистр сведений «Счета учета номенклатуры» они могут быть добавлены но они не будут автоматически подставляться в документы типовой конфигурации;
  3. Их можно добавить в регистр сведений «Счета учета номенклатуры» и они будут автоматически подставляться в документы типовой конфигурации.

Вопрос 37. Список складов (мест хранения) представлен в типовой конфигурации при помощи объекта:

  1. Справочник;
  2. Перечисление;
  3. Регистр сведений;
  4. План видов характеристик;
  5. План видов обмена.

Вопрос 38. Список «Счета учета номенклатуры» представлен в типовой конфигурации объектом:

  1. Справочник;
  2. Регистр бухгалтерии;
  3. Регистр сведений;
  4. Документ;
  5. Журнал.

Вопрос 39. Метод списания запасов (ФИФО, по средней стоимости) устанавливается:

  1. Для каждой номенклатурной позиции;
  2. Для групп номенклатуры;
  3. Единым для всей номенклатуры;
  4. Первым и вторым способами;
  5. Всеми способами.

Вопрос 40. Приобретение объекта основных средств, не требующих монтажа, за плату отражается в бухгалтерском и налоговом учете документом типовой конфигурации:

  1. «Поступление товаров и услуг» с видом операции «Оборудование»;
  2. «Поступление товаров и услуг» с видом операции «Объекты строительства»;
  3. «Поступление товаров и услуг» с видом операции «Покупка, комиссия»;
  4. «Поступление товаров и услуг» с видом операции «Оборудование» или с видом операции «Объекты строительства»;
  5. «Поступление товаров и услуг» с видом операции «Оборудование» или с видом операции «Покупка, комиссия».

Что такое константы в 1с. Константы

Назначение, создание, возможные типы значений.
— Возможные способы для задания и получения значений констант в процессе эксплуатации системы.

Назначение, создание, возможные типы значений.

Цитата из книги «Конфигурирование и администрирование» пакета 1С:Предприятие:
В системе 1С:Предприятие константы предназначены для хранения постоянной или условно-постоянной информации. Такая информация либо совсем не изменяется в процессе деятельности предприятия, либо изменяется достаточно редко. Наиболее простой пример подобной информации — название организации, которое, как правило, не меняется.

Такая трактовка применения констант является довольно узкой. Более верным будет трактовать константы следующим образом:

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

Константы применяются для возможности создания универсальных конфигураций, которые легко адаптировать для применения в нескольких организациях. Константы хранят значения которые могут применяться в различных частях системы. Цитата из книги «Конфигурирование и администрирование»:

Основная причина использования констант заключается в том, что в них один раз заносится какая-либо информация, которая затем может многократно использоваться при формировании документов, в расчетах, при построении отчетных форм. Информация, внесенная в константу время от времени может редактироваться, но сути константы это не меняет: единожды введенное в систему, значение константы используется многократно.

Константа может принимать базовые типы значений:

строка (константа не может иметь тип «Строка неограниченной длины»);
число;
дата;

Также константа может принимать в качестве значения объекты типообразующих объектов метаданных:

справочник;
документ;
перечисление;
счет;
«план счетов»;
«вид субконто»;
«вид расчета»;
«календарь».
Также константа может иметь «неопределенный» тип. В этом случае тип значения определяется программно при установке константы.

Константы определяются в «Конфигураторе» в окне «Конфигурация» в ветке «Константы».

Возможные способы для задания и получения значений констант в процессе эксплуатации системы.
Стандартным (штатным) способом заполнения или просмотра констант является использование окна «Список констант», которое можно открыть через меню «Операции» — «Константы» (пункт меню для вызова списка констант может быть переопределен при редактировании интерфейса конфигурации).

Программно работать с константами можно следующим образом. Получение значения константы:

Установка значения константы:

Итак в 1С есть справочники. Например, справочник товаров (номенклатуры). Там мы укажем список товаров, которыми торгует наша организация.

С помощью такого справочника мы можем организовать прайс-лист для клиентов, а также отчет о продажах для руководства.

Товары бывают разные. Например, продукты и химия. Что делать, если руководитель попросит сделать отчет – сколько денег мы заработали на продуктах, а сколько на химии?

Легко! – ответим мы. Нужно добавить справочник Видов товаров, а в справочнике Номенклатура добавить такой реквизит. Теперь когда мы вводим новый товар – нужно будет выбрать вид товара.

Однако девочки не рады такому нововведению – ведь теперь нужно им заполнять целое дополнительное поле, а у них и так много работы и они ничего не успевают. Да и вообще! – говорят они – у нас 900 наименований продуктов, и только 50 наименований химии! Даже дураку ясно, что нужно по умолчанию ставить вид товара продукты.

Отлично! – отметим мы. И… что делать?

Для редактирования констант открывается форма констант по умолчанию. Каждое поле на такой форме – это одна константа.

Добавить форму констант можно двумя способами:

  • Нажать правой кнопкой на ветку Константы 1С и выбрать пункт меню Создать форму констант
  • Добавить форму в ветку Общие/Общие формы и в мастере выбрать тип формы – Форма констант.

Посмотреть (и выбрать) форму констант можно следующим образом:

  • Войти в свойства конфигурации (правой кнопкой мыши на верхней корневой ветке конфигурации, которую программисты обычно называют «Голова») и использовать свойство Основная форма констант.

Форма констант отличается тем, что основной реквизит формы имеет тип «КонстантыНабор». Это позволяет записывать константы 1С не поштучно, а сразу набором.

Кстати, реквизит формы становится «основным», если в свойствах формы он указан в свойстве Данные.

В программе на языке 1С к любой константе можно обратиться легко и просто:

Знч = Константы.НужнаяКонстанта.Получить(); //считываем
Константы.НужнаяКонстанта.Установить(Знч); //записываем

Параметры сеанса 1С

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

При создании нового товара программа на языке 1С в ПриОткрытииФормы() будет устанавливать значение поля Вид товара в тот, который назначен в константе. Вуаля!

Теперь программа работает, но мы на этом не остановимся! Еще бы – мы же крутые программисты, мы хотим, чтобы программа не просто работала, но и работала быстро!

Где хранятся константы 1С? В базе данных, в специальной таблице. Каждый раз, когда оператор создает новый товар, будет ломиться на сервер и считывать значение константы 1С. А что если операторов 200 человек? Оптимально ли это?

Что же тогда делать?

И тут мы вспоминаем про параметры сеанса 1С. Это значения наподобии констант, которые заполняются в момент старта 1С в режиме Предприятие и доступны сразу на клиенте. Иначе говоря – это некий кеш на стороне клиента.

Кроме того, если в константе список мы можем хранить только в хранилище значений, то в параметр сеанса 1С мы ее уже можем распаковать, правда она будет не динамической – с типом ФиксированныйМассив.

Параметры сеанса 1С это тоже , в окне конфигурации находится в ветке Общие/Параметры сеанса 1С.

Мало добавить параметр сеанса 1С, потому что если он не заполнен, то программа покажет ошибку.

Заполнение (установка) параметров сеанса 1С должна производиться при старте 1С в режиме Предприятие. Нажмите правой кнопкой на верхнюю ветку конфигурации (программисты называют ее «Голова») и выберите пункт меню Открыть модуль сеанса.

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

ПараметрыСеанса.НужныйПараметр = Знч; //запись, один раз в самом начале
Знч = ПараметрыСеанса.НужныйПараметр; //чтение, строго после записи.

Описание констант 1с 8.
Обращение к константам из программы на встроенном языке производится очень просто, хотя этот способ и отличается от версии 7.7

// чтение значения из константы Название = Константы.НазваниеОрганизации.Получить(); // запись нового значения в константу Константы.НазваниеОрганизации.Установить(НовоеНазвание);

Обратите внимание на слово Константы (а не Константа, как было в версии 7.7). Через такую конструкцию мы обращаемся к объекту КонстантыМенеджер (заметьте, что применяется множественное число), который позволяет затем обратиться к менеджеру конкретной константы по ее имени.

Если расшифровать приведенный выше пример, то станет более понятна взаимосвязь объектов:

//получаем объект для управления списком констант КонстантыМенеджер = Константы; //получаем объект для управления одной константой КонстантаМенеджер = КонстантыМенеджер.НазваниеОрганизации; //считываем значение константы из базы данных Значение — КонстантаМенеджер.Получить(); //записываем новое значение константы в базу данных КонстантаМенеджер.Установить(НовоеЗначение);

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

Существуют свойства глобального контекста, ссылающиеся на объекты типа КонстантыМенеджер, СправочникиМенеджер, ДокументМенеджер и т.д., они называются односложно: Константы, Справочники, Документы. Это позволяет упростить написание программы и следующие примеры это демонстрируют:

Назв = Константы.НазваниеОрганизации.Получить(); СпрСотр = Справочники.Сотрудники; ВсеДолжности = Справочники.Должности.Выбрать(); ДокНакл = Документы.РасходнаяНакладная;

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

Ниже дано описание объектов для работы с константами:

Объект предоставляет доступ к списку констант. Через этот объект можно перебрать все константы с помощью конструкции «Для Каждого» или получить объект КонстантаМенеджер для управления конкретной константой. Кроме того, данный объект позволяет создать объект КонстантыНабор для одновременного чтения и записи сразу нескольких констант.

Менеджер константы обеспечивает доступ к конкретной константе. Через него можно прочитать и установить ее значение с помощью методов Получить и Установить.

Через этот объект можно получить доступ сразу к нескольким константам, но необязательно всем существующим в

Схематично взаимосвязь объектов для работы с константами можно отобразить следующим образом:

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

Для каждой константы указывается ее имя и тип данных. Обращение к константам в программном модуле осуществляется очень просто:

1. Чтение значения константы

// чтение значения Константы
Название = Константы. НазваниеОрганизации. Получить();

Обратите внимание на слово «Константы», а не «Константа», как было в версии 1С 7.7.

2. Запись нового значения константы

Для записи (установки) нового значения константы используется методУстановить()

// запись нового значения Константы
Константы . НазваниеОрганизации. Установить( «ООО Рога и копыта» );

3. Работу с набором констант

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

//создаем набор из трех констант

//обратите внимание, что мы лишь создаем набор констант и пока не знаем их значения

Набор = Константы. СоздатьНабор( «Руководитель,НазваниеОрганизации,АдресОрганизации» );

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

//устанавливаем значение констант в наборе (не в базе)
Набор . Руководитель = «Иванов И.И.» ;
Набор . НазваниеОрганизации = «ООО Новые рога и копыта» ;
Набор . АдресОрганизации = «Россия, г. Москва, Кремль» ;
Набор . Записать(); //записываем в базу сразу значения трех констант

4. Сравнение со значением константы в запросах

Константы можно использовать в запросах. Например, нам может потребоваться в запросе сравнить данные со значением константы. В данном примере мы выбираем записи из справочника Номенклатура, у которых значение реквизита Код равно значению нашей константы КонстЧисло.

«ВЫБРАТЬ
| НашеЧисло.Значение,
| Номен.Код,
|ИЗ
| Константа.КонстЧисло КАК НашеЧисло,
| Справочник.Номенклатура КАК Номен
|ГДЕ
| Номен.Код = НашеЧисло.Значение»

Более подробно язык запросов 1С будет описан в следующих материалах справочника 1С.

Есть вопросы, что то нужно осветить подробнее, спрашивайте в комментариях.

Какие параметры определяются для каждой константы

Enums или перечисления представляют тип данных, который позволяет определить набор логически связанных констант. Для определения перечисления применяются ключевые слова enum class . Например, определим перечисление:

enum class Day

Данное перечисление Day представляет день недели. Внутри перечисления определяются константы. В данном случае это названия семи дней недели. Константы определяются через запятую. Каждая константа фактически представляет объект данного перечисления.

fun main() < val day: Day = Day.FRIDAY println(day) // FRIDAY println(Day.MONDAY) // MONDAY >

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

enum class Day(val value: Int) < MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(100500) >fun main() < val day: Day = Day.FRIDAY println(day.value) // 5 println(Day.MONDAY.value) // 1 >

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

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

enum class Day(val value: Int) < MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7); fun getDuration(day: Day): Int< return value - day.value; >> fun main() < val day1: Day = Day.FRIDAY val day2: Day = Day.MONDAY println(day1.getDuration(day2)) // 4 >

В данном случае в перечислении определена функция getDuration() , которая вычисляет разницу в днях между двумя днями недели.

Встроенные свойства и вспомогательные методы

Все перечисления обладают двумя встроенными свойствами:

  • name : возвращает название константы в виде строки
  • ordinal : возвращает порядковый номер константы
enum class Day(val value: Int) < MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7) >fun main() < val day1: Day = Day.FRIDAY println(day1.name) // FRIDAY println(day1.ordinal) // 4 >

Кроме того, в Kotlin нам доступны вспомогательные функции:

  • valueOf(value: String) : возвращает объект перечисления по названию константы
  • values() : возвращает массив констант текущего перечисления

fun main()

Анонимные классы и реализация интерфейсов

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

enum class DayTime < DAY< override val startHour = 6 override val endHour = 21 override fun printName()< println("День") >>, NIGHT < override val startHour = 22 override val endHour = 5 override fun printName()< println("Ночь") >>; abstract fun printName() abstract val startHour: Int abstract val endHour: Int > fun main() < DayTime.DAY.printName() // День DayTime.NIGHT.printName() // Ночь println("Day from $to $") >

В данном случае класс перечисления DayTime определяет абстрактный метод printName() и две переменных — startHour (начальный час) и endHour (конечный час). А константы определяют анонимные классы, которые реализуют эти свойства и функцию.

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

interface Printable < fun printName() >enum class DayTime: Printable < DAY< override fun printName()< println("День") >>, NIGHT < override fun printName()< println("Ночь") >> > fun main() < DayTime.DAY.printName() // День DayTime.NIGHT.printName() // Ночь >

Хранение состояния

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

fun main() < println(operate(5, 6, Operation.ADD)) // 11 println(operate(5, 6, Operation.SUBTRACT)) // -1 println(operate(5, 6, Operation.MULTIPLY)) // 30 >enum class Operation < ADD, SUBTRACT, MULTIPLY >fun operate(n1: Int, n2: Int, op: Operation): Int < when(op)< Operation.ADD ->return n1 + n2 Operation.SUBTRACT -> return n1 - n2 Operation.MULTIPLY -> return n1 *n2 > >

Функция operate() принимает два числа — операнды операции и тип операции в виде перечисления Operation. И в зависимоси от значения перечисления возвращает либо сумму, либо разность, либо произведение двух чисел.

Константа

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

Например, в константе может храниться наименование предприятия, его ИНН и другая информация. В прикладном решении может быть создано произвольное количество констант:

Константа

Форма констант

Для того, чтобы пользователь мог просматривать и изменять значения констант, система может автоматически сгенерировать форму константы:

Константа

Наряду с этим разработчик имеет возможность создать собственную форму, которую система будет использовать вместо формы по умолчанию:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *