Задача 1: Учёт остатков оборудования с использованием регистра накопления
Описание задачи:
В компании необходимо вести учёт остатков оборудования, которое используется сотрудниками. Требуется создать справочник «Оборудование», документ «ПоступлениеОборудования» и регистр накопления для учёта количества оборудования на складе.
Шаги для выполнения:
-
Создание справочника:
Создайте справочник «Оборудование» с полями:- Наименование (строка)
- Тип (строка)
- Состояние (перечисление: рабочее, нерабочее)
-
Создание регистра накопления:
Создайте регистр накопления «ОстаткиОборудования» с измерением «Оборудование» (ссылка на справочник «Оборудование») и ресурсом «Количество» (число). -
Создание документа:
Создайте документ «ПоступлениеОборудования» с табличной частью, содержащей поля:- Оборудование (ссылка на справочник «Оборудование»)
- Количество (число)
-
Реализация логики:
Настройте проведение документа таким образом, чтобы при его проведении данные записывались в регистр накопления «ОстаткиОборудования». Количество оборудования должно увеличиваться при поступлении и уменьшаться при списании. Также добавьте логику для смены состояния оборудования: если оборудование поступает и ранее имело статус «нерабочее», то оно должно стать «рабочим». -
Проверка работы:
Создайте несколько тестовых записей о поступлении и списании оборудования, а затем проверьте корректность обновления данных в регистре и смены состояния оборудования.
Пример кода для проведения документа:
Для каждого Строка Из ЭтотОбъект.Товары Цикл
Движение = РегистрыНакопления.ОстаткиОборудования.СоздатьДвижение();
Движение.Оборудование = Строка.Оборудование;
Движение.Количество = Строка.Количество;
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Записать();
Если Строка.Оборудование.Состояние = Перечисления.СостоянияОборудования.Нерабочее Тогда
Строка.Оборудование.Состояние = Перечисления.СостоянияОборудования.Рабочее;
КонецЕсли;
КонецЦикла;
Подсказка: Реализуйте механизм контроля остатков: при списании оборудования не должно быть отрицательного остатка на складе. Если количество на складе меньше необходимого для списания, выведите сообщение об ошибке.
Задача 2: Отчёт по сотрудникам и оборудованию с регистрами сведений
Описание задачи:
Необходимо создать отчёт, который будет отображать информацию о сотрудниках и выданном им оборудовании. Также нужно учесть тип оборудования и его состояние.
Шаги для выполнения:
-
Создание справочника:
Создайте справочник «Сотрудники» с полями:- ФИО (строка)
- Должность (строка)
-
Создание регистра сведений:
Создайте регистр сведений «ВыданноеОборудование» с измерениями:- Сотрудник (ссылка на справочник «Сотрудники»)
- Оборудование (ссылка на справочник «Оборудование»)
-
Создание документа:
Создайте документ «ВыдачаОборудования» с табличной частью, содержащей поля:- Сотрудник (ссылка на справочник «Сотрудники»)
- Оборудование (ссылка на справочник «Оборудование»)
-
Реализация логики:
Настройте проведение документа так, чтобы в регистр сведений «ВыданноеОборудование» записывались данные о том, какому сотруднику и какое оборудование выдано. -
Создание отчёта:
Настройте отчёт «ОборудованиеПоСотрудникам», который будет выводить список сотрудников и выданное им оборудование. Отчёт должен учитывать состояние оборудования и предлагать фильтрацию по состоянию. -
Проверка работы:
Создайте несколько тестовых записей о выдаче оборудования и проверьте, корректно ли отображается информация в отчёте.
Пример кода для записи в регистр сведений:
Для каждого Строка Из ЭтотОбъект.Товары Цикл
ЗаписьРегистр = РегистрыСведений.ВыданноеОборудование.СоздатьНаборЗаписей();
ЗаписьРегистр.Добавить();
ЗаписьРегистр.Сотрудник = Строка.Сотрудник;
ЗаписьРегистр.Оборудование = Строка.Оборудование;
ЗаписьРегистр.Записать();
КонецЦикла;
Подсказка: Реализуйте фильтр в отчёте, который позволит выводить только «рабочее» оборудование, и добавьте возможность вывода информации о дате выдачи оборудования сотруднику.
Задача 3: Автоматизация расчёта налогов с учётом различных ставок
Описание задачи:
В компании требуется автоматизировать расчёт налогов для сотрудников в зависимости от их оклада. Необходимо создать документ «НачислениеЗарплаты» и справочник «Сотрудники» с полем «Оклад». При проведении документа налог должен рассчитываться автоматически, с возможностью указания различных ставок для разных сотрудников.
Шаги для выполнения:
-
Создание справочника:
Создайте справочник «Сотрудники» с полями:- ФИО (строка)
- Оклад (число)
- НалоговаяСтавка (число)
-
Создание документа:
Создайте документ «НачислениеЗарплаты» с полями:- Сотрудник (ссылка на справочник «Сотрудники»)
- Начислено (число)
- Налог (число)
-
Реализация логики:
Настройте проведение документа так, чтобы налог рассчитывался автоматически в зависимости от налоговой ставки, указанной для сотрудника. Например, ставка может быть 13% или 30% для разных сотрудников. -
Проверка работы:
Проверьте, правильно ли рассчитывается налог для каждого сотрудника на тестовых данных с разными ставками налогообложения.
Пример кода:
Налог = Оклад * (Сотрудник.НалоговаяСтавка / 100);
Подсказка: Добавьте возможность расчёта налогов с учётом налоговых вычетов, если это применимо для сотрудников.
Задача 4: Расчёт бонусов с учётом скидок и возвратов
Описание задачи:
Необходимо разработать систему для расчёта бонусов сотрудникам в зависимости от их продаж. Нужно создать документ «Продажи» и справочник «Сотрудники» с полем «Бонус», который будет рассчитываться на основе выручки сотрудника, с учётом скидок и возвратов.
Шаги для выполнения:
-
Создание справочника:
Создайте справочник «Сотрудники» с полем «Бонус» (число). -
Создание документа:
Создайте документ «Продажи» с полями:- Сотрудник (ссылка на справочник «Сотрудники»)
- СуммаПродаж (число)
- Скидка (число)
- Возврат (число)
-
Реализация логики:
Настройте проведение документа таким образом, чтобы бонус сотрудника рассчитывался как 5% от суммы продаж с учётом скидок и возвратов. Например, если был возврат товара, бонус должен уменьшаться на соответствующую сумму. -
Проверка работы:
Проверьте, корректно ли рассчитываются бонусы для каждого сотрудника, включая случаи с применением скидок и возвратов.
Пример кода:
Если (СуммаПродаж - Скидка - ВозвратТоваров) > 0 Тогда
Бонус = (СуммаПродаж - Скидка - ВозвратТоваров) * 0.05;
Иначе
Бонус = 0;
КонецЕсли;
Подсказка: Реализуйте отчёт «БонусыПоСотрудникам», который будет выводить информацию о начисленных бонусах за месяц.
Задача 5: Учёт отпусков сотрудников с переносом остатка
Описание задачи:
В компании необходимо вести учёт отпусков сотрудников, включая даты начала и окончания отпусков. Требуется создать справочник «Сотрудники» и документ «Отпуска», который будет учитывать период отпуска и количество оставшихся дней отпуска. Также нужно учесть возможность переноса неиспользованных дней на следующий период.
Шаги для выполнения:
-
Создание справочника:
Создайте справочник «Сотрудники» с полем «ОстатокОтпуска» (число). -
Создание регистра сведений:
Создайте регистр сведений «ОтпускаСотрудников» с измерениями:- Сотрудник (ссылка на справочник «Сотрудники»)
- ДатаНачала (дата)
- ДатаОкончания (дата)
- ОстатокОтпуска (число)
-
Создание документа:
Создайте документ «Отпуска» с полями:- Сотрудник (ссылка на справочник «Сотрудники»)
- ДатаНачала (дата)
- ДатаОкончания (дата)
- ДнейОтпуска (число)
-
Реализация логики:
Настройте проведение документа так, чтобы остаток дней отпуска у сотрудника уменьшался на количество дней отпуска, указанных в документе, и чтобы остаток автоматически переносился на следующий год. -
Проверка работы:
Проверьте корректность расчёта оставшихся дней отпуска, а также перенос остатка на следующий период.
Пример кода:
ЭтотОбъект.Сотрудник.ОстатокОтпуска = Остаток - ДнейОтпуска;
Подсказка: Реализуйте проверку на наличие отрицательного остатка отпусков и добавьте возможность просмотра истории отпусков сотрудников.
Пути развития: Для дальнейшего развития рекомендую:
- Изучать сложные кейсы на практических проектах: Используйте проекты с реальными данными для закрепления знаний.
- Участвовать в профессиональных сообществах: Обсуждайте задачи и решения с коллегами на форумах и в профессиональных группах.
- Продолжать обучение и повышать квалификацию: Следите за новыми тенденциями и технологиями в мире 1С.