Варианты решения расчетной задачи 3.16 из сборника по подготовке к спецу по платформе 8.2

08.12.11

Разработка - Подготовка к аттестации

Решение расчетной задачи 3.16 из "Сборник задач для подготовки к экзамену «1С:Специалист» по платформе «1С:Предприятие 8»", ред.3 июнь 2010.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ОбщийАрхив.zip
.zip 722,92Kb
58 2 500 руб. Купить
ТестЗначенияГрафика.dt
.dt 155,86Kb
3 2 500 руб. Купить
Платформа8.2 Задача3.16 v1.dt
.dt 178,08Kb
3 2 500 руб. Купить
Платформа8.2 Задача3.16 v2.dt
.dt 196,95Kb
4 2 500 руб. Купить
Платформа8.2 Задача3.16 v3.dt
.dt 191,59Kb
3 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В описании внимание уделено расчету оклада одновременно и по часам и по дням. Описание краткое. Детали можно посмотреть непосредственно в решениях.

 

Тест. Прежде чем перейти к рассмотрению 1-го варианта, предлагаю рассмотреть демонстрацию работы свойства «Значение графика» плана видов расчета.

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

Решение выполнено на базе каркасной конфигурации.

Заведем тестовые данные в базу. В качестве расчетного периода я выбрал февраль 2011, 20 рабочих дней (в качестве выходных учитываю только субботы и воскресенья) легко поделить без остатка на 2. Подготовим 2 графика работы «Пятидневка» и «Пятидневка укороченная», у «Пятидневки» все рабочие дни по 8 часов, у «Пятидневки укороченной» первые 10 рабочих дней по 4 часа, остальные по 8 часов. Начислим оклады Бельдыеву по графику «Пятидневка», Васиной по графику «Пятидневка укороченная», часовая ставка 250 руб. И обоим сотрудникам начислим премии 100%, указав в качестве базового периода первую половину месяца (чтобы вошли туда только первые 10 дней).

Получим следующий результат:

Бельдыев: Оклад – 40000 руб, Премия – 40000 руб* 80 ч / 160 ч = 20000 руб

Васина: Оклад – 30000 руб, Премия – 30000 руб* 40 ч / 120 ч = 10000 руб

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

 

Вариант 1. В регистре сведений «Графики работы» у нас будет два ресурса: «Значение» - для указания рабочих часов и «ЗначениеДни» - для указания рабочих дней. «Значение» мы укажем в качестве свойства «Значение графика» плана видов расчета «Основные начисления». Рассчитывать пропорцию базы в зависимости от количества рабочих дней в рамках данной задачи нам не нужно, поэтому этим подходом для расчета количества рабочих дней мы можем воспользоваться. Заполняем значения свойств регистра расчета: «График работы» - регистр сведений «График работы», «Дата графика» - «Дата». Реквизит «График работы» регистра расчета «Основные начисления» связываем с измерением «График работы» регистра сведений (свойство «Связь с графиком»). В регистре расчета «Основные начисления» создаем «двойные» ресурсы: «Результат» - для хранения результата рассчитанного по часам (оклад в часах), «Результат по дням» - для хранения результата рассчитанного по дням (оклад в днях для целей управленческого учета), «Отработано часов» и «Отработано дней». Оклад, рассчитанный по часам и по дням, храним в одной записи регистра расчета.

 

Вариант 2. В регистре сведений «Графики работы» создаем дополнительное измерение «Вид учета времени» с типом ПеречислениеСылка.ВидыУчетаВремени. Перечисление имеет два значения: «По дням», «По часам». В результате по каждому графику мы можем хранить/посчитать отработанное время по дням или по часам. В регистре расчета «Основные начисления» создаем реквизиты «График работы» и «Вид учета времени», связываем их с соответствующими измерениями регистра сведений «Графики работы» (остальное стандартно). Посчитать оклад по часам мы можем без проблем – указываем вид учета времени «По часам», а чтобы посчитать по дням создаем еще один регистр расчета «Основные начисления (Упр. учет)» - двойник регистра расчета «Основные начисления». Для оклада параллельно создаем в этом регистре-двойнике запись и указываем вид учета времени «По дням». Для видов расчета, вытесняющих оклад, тоже создаем записи. Оклад, рассчитанный по часам и по дням, храним в разных регистрах расчета.

 

Вариант 3. Этот вариант совмещает в себе элементы решений первых двух вариантов. В регистре сведений «Графики работы» присутствуют дополнительное измерение «Вид учета времени» и дополнительный ресурс «Дополнительное значение». Например, мы оклад будем рассчитывать по графику с видом учета времени «По часам», ресурс «Значение» будет содержать часы, а ресурс «Дополнительное значение» - дни. А для расчета прогулов нас будет интересовать только количество дней – вид учета времени будет «По дням», а ресурс «Значение» будет хранить дни (в дополнительное значение можно записать часы). В регистре расчета «Основные начисления» реквизиты «График работы» и «Вид учета времени», связываем с соответствующими измерениями регистра сведений «Графики работы» (остальное стандартно). Создаем «двойные» ресурсы: «Результат», «Результат по дням» - для хранения альтернативного результата. Оклад, рассчитанный по часам и по дням, храним в одной записи регистра расчета.

 

Другие виды расчета в задаче. Расчет невыхода вполне понятен и во всех 3-х вариантах выполнен одинаково.

Что касается расчета надбавки, то для понимания, что же требует постановка задачи, воспользовался подсказкой http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=568247. В первых 2-х варианта реализация одинаковая. В третьем варианте сделал попытку оптимизировать запрос к регистру накопления «Продажи». Также в комментариях показан нежелательный вариант с запросом в цикле.

 

Отчеты. Во втором варианте создаем два отчета. В первом и третьем вариантах одинаково, создаем один отчет и два варианта настройки.


Вступайте в нашу телеграмм-группу Инфостарт

См. также

Подготовка к аттестации Разработчик Стажер 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Обучающая программа 1С Online представляет собой интерактивное изучение языка запросов с самого начала:
- 50 практических заданий с различным уровнем сложности;
- Методические материалы по практике написания запросов;
- Описание назначения таблиц и индексов 1С Предприятие 8;
- Методика решения реальных задач запросом 1С;
- Автоматическая система проверки решений с указанием ошибок;
- Инструкции по решению задач с разъяснениями;
- Техническая поддержка пользователей.
Тренажер запросов подходит для начинающих и действующих разработчиков 1С

5094 руб.

11.02.2014    88871    121    15    

215

Подготовка к аттестации Разработчик Стажер 1С 8.3 Россия Абонемент ($m)

Экзамен 1С:Специалист по платформе 8.3. Решения билетов экзамена (Июнь 2026). В публикации собраны базы с решениями билетов, задачи которых аналогичны экзаменационным. Решения выполнены в соответствии с требованиями и рекомендациями учебного центра (курсы подготовки к экзамену). Решено на актуальной на 2026 каркасной конфигурации "new_carcass_8_3_25_1445".

1 стартмани

10.06.2026    4579    92    RosinMaksim    47    

10

Математика и алгоритмы Механизмы платформы 1С Подготовка к аттестации Разработчик Стажер 1С 8.5 Бесплатно (free)

Платформа 1Craft[Code] — это, по сути, профессиональный тренажёр для тех, кто хочет наконец-то перестать бояться кода 1С и начать писать его уверенно. Здесь нет скучной теории — сразу практика, сразу дело.

05.06.2026    7489    burni4    17    

16

Подготовка к аттестации Разработчик Стажер 1С 8.3 Россия Бесплатно (free)

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

13.01.2026    6977    740    cheshirshik    6    

20

Подготовка к аттестации Разработчик Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Установим основные параметры, сделаем тексты удобочитаемыми, создадим копипастом подсистемы и группы команд, настроим консоль запросов.

07.07.2025    16841    cargobird    15    

15

Подготовка к аттестации Разработчик Россия Бесплатно (free)

Источники информации для подготовки к Эксперту.

18.12.2024    20419    GraVVitY    62    

78
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DoctorRoza 09.12.11 18:59 Сейчас в теме
Ну что можно сказать .. почему Вы не рассматриваете решение задачи на 2-х регистрах РР? В одном будет РезультатДни, в другом - РезультатЧасы. Плюсы - не путаем результаты, вроде сказано, что для управленческого учета, так почему бы и нет!
2. ValeraEm 139 10.12.11 20:30 Сейчас в теме
(1) У меня во втором варианте используются 2 параллельных регистра, для оклада в часах и в днях.
Или Вы имеете ввиду совсем разделить виды расчетов? Тогда вопрос: "Невыход", расчет по дням, будет в одном регистре, а "Оклад", рассчитываемый по часам, будет в другом - как в таком случае "Невыход" вытеснит "Оклад?
3. DoctorRoza 11.12.11 11:28 Сейчас в теме
(2) Невыход будет вытесняющим для видов расчета ПВР Основные начисления ОкладДни и ОкладЧасы. График Невыхода у обоих будет одинаковым, в качестве ресурсов у РС Графики - ЗначениеДни и ЗначениеЧасы. Соответственно, и у РР-ов значения графика будет ЗначениеДни, ЗначениеЧасы.
Все просто и понятно, в дебрях добавленных метаданных разбираться не нужно.
4. ValeraEm 139 11.12.11 18:39 Сейчас в теме
(3) Вариант во общем то.
5. пользователь 04.01.14 16:26
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация