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

08.12.11

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

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

Скачать файл

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

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

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

 

Тест. Прежде чем перейти к рассмотрению 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С v8.3 1C:Бухгалтерия Платные (руб)

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

1800 руб.

11.02.2014    78465    100    15    

194

Подготовка к аттестации Программист Запросы 1C:Бухгалтерия Платные (руб)

Желаете повысить свой уровень разработки? Не знаете, как оптимизировать работу тяжелых запросов 1С? Или знаете методы оптимизации, но на практике не получаете результат? Тогда эта интерактивная обучающая программа для Вас! Оптимизация запросов прямо в программе 1С:Предприятие 8. Несколько десятков практических заданий, рассматривающих методы оптимизации на практике. От Вас требуются реальные решения - оптимизация представленных запросов. Автоматизированная система оценит Ваш запрос и представит результат проверки.

1800 руб.

06.07.2015    72717    121    9    

134

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

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

18.12.2024    10148    GraVVitY    61    

63

Подготовка к аттестации Программист Стажер Бесплатно (free)

Меня зовут Татьяна, в 1С-разработке я уже семь лет, а в этом году официально стала junior-специалистом. Рассказываю, как всё происходило.

10.09.2024    8174    PROSTO-1C    21    

13

Подготовка к аттестации Программист Стажер Платформа 1С v8.3 Россия Бесплатно (free)

Я Олег, разработчик 1С. Расскажу, как сдавал на сертификат Специалиста, в чём ошибся и что стоит учесть.

11.06.2024    16188    PROSTO-1C    51    

66

Подготовка к аттестации Программист Стажер Платформа 1С v8.3 Россия Бесплатно (free)

Хочу поделиться своей историей планирования обучения, подготовки к экзамену и сдачи непосредственно экзамена. Надеюсь, что это будет полезно и откинет все вопросы об экзамене.

04.06.2024    10681    anton99    50    

58

Подготовка к аттестации Стажер 1C:Бухгалтерия Фармацевтика, аптеки Россия Управленческий учет Бесплатно (free)

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

28.05.2024    4885    DmitryOneBit    20    

20
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
5. пользователь 04.01.14 16:26
Сообщение было скрыто модератором.
...
Оставьте свое сообщение