Содержание:
3. Стонирование документа и перерасчет
1. Экзамен 1С - подготовка
Предупреждаю сразу - это не материал для подготовки к экзамену. Это лишь способ показать, как можно структурировать тот большой объем информации, который имеется по теме расчетных механизмов, и выделить тот минимум знаний, который необходим для прохождения аттестации.
Иногда достаточно пробежаться взглядом по заголовкам разделов, а иногда – вспомнить основные этапы решения определенного рода задач или – вспомнить, почему выделен термин или фраза.
Конспект составлялся при прохождении одного из курсов (не важно какого) с отработкой практических примеров на каркасной конфигурации.
ЧТОБЫ ПОДГОТОВИТЬСЯ К ЭКЗАМЕНУ, НУЖНО НАПИСАТЬ СВОЙ КОНСПЕКТ.
Используются следующие сокращения (на самом деле сокращение было больше, просто в целях публикации текст конспекта приведен к «читабельному» виду):
· ВР – вид расчета
· ПВР – план видов расчета
· РР – регистр расчета 1C
· ПериодД – период действия
· ПериодР – период регистрации
· ВТ – виртуальная таблица
· ФТ – физическая таблица
· тч – табличная часть (документа)
· РС – регистр сведений
· РН – регистр накопления
· РБ – регистр бухгалтерии
· Изм., рес., рекв. – измерение, ресурс, реквизит
· СКД – система компоновки данных 1С
2. Планы видов расчета
Настройки плана видов расчетов (ПВР)
Чаще всего в задачах требуется создавать два ПВР:
· один с включенным периодом действия, а другой с выключенным (для разовых начислений).
· Но в некоторых задачах встречаются исключения, например, требуется также ПВР для расчета удержаний (выделяется исключительно по методологическим соображениям)
Настройка «Использует период действия»: являются ли все виды расчета в этом плане расчета протяженными по времени (оклад, невыход, больничный, отпуск).
· возможно вытеснение по периоду действия
· не включать для разовых начислений (иначе неоптимальный состав таблиц)
Настройка «Зависимость от базы»: в качестве базы могут быть получены не только начисленные суммы, но и значения любых показателей, например, данные по отработанному времени.
· указываются базовые ПВР (а собственно базовые ВР указываются уже при настройке ВР)
Период регистрации – период, в котором начислен данный ВР.
Периодом действия- период, за который начислен данный ВР.
Больничные за февраль и часть марта (период действия) начислены в марте (период регистрации).
· Зависит «по периоду регистрации»: при расчете НДФЛ, удерживаемого с заработной платы за март, будет учтена оплата больничного, начисленная в марте, даже если сотрудник реально болел в феврале
· Зависит «по периоду действия»
Настройки видов расчета (ВР)
· Период действия является базовым периодом – для получения базы в качестве базового периода будет использоваться фактический период действия записи (за вычетом вытесненного периода) – базовый период равен фактическому периоду действия, который может не совпадать с периодом действия из-за механизма вытеснения
· Ведущий вид расчета – это вид расчета, который может косвенно влиять на текущий вид расчета (при изменении данных по окладу премия и командировка должны быть пересчитаны)
· Вытесняющие виды расчета
· Базовые виды расчета
Как создать регистр сведений, описывающий график работы
РС, который может использоваться в качестве графика для регистра расчета, должен быть обязательно непериодический.
РС для определения графика работы является обязательной частью настройки РР с включенным ПериоД.
В каркасной конфигурации есть обработка для заполнения Графика. Изначально она прописываем рабочий день 8-ю часами; если нужен учет не в часах, а в днях, то скорректировать обработку: 8-ки заменить на единицы.
Настройки регистра расчета (РР)
Неверно спроектированный РР всегда является грубейшей ошибкой на экзамене.
РР настраиваются уже после того, как созданы и настроены ПВР и График (если рег.исп. ПериодД).
ИспользованиеРР с включенным ПериодД для разовых начислений является грубой ошибкой - для разовых начислений создавать отд. РР с выкл. ПериодД.
План видов расчета: один РР <-> один ПВР.
Период действия: если он установлен в РР, то и в ПВР д.б. установлен. Один ПВР может быть прикреплен к нескольким РР и ПВР с ПериодД может быть прикреплен к РР без ПериодД.
График, дата графика (измерение РС), значение графика (ресурс РС).
Базовый период: делает возможным получение базы из регистра расчета за соответствующий базовый период; действует независимо от аналогичного свойствава ПВР.
Периодичность: нельзя ввести запись, у которой ПериодД будет выходить за рамки периодичности РР (например, включать в себя несколько месяцев); ПериодР = началу периода.
Измерения РР определяют, в каких разрезах действует механизм вытеснения и расчет базы - смысл отличается от измерений РН, где они показывают в каких разрезах накапливаются итоги.
Распространенной ошибкой бывает определение графика работы в составе измерений, а не реквизитов, т.к. в этом случае получится, что для ВР по одному сотруднику, но с разными графиками работы, вытеснение работать не будет.
Ресурсы РР: для получения базы по ним.
Реквизиты РР: доп.инф. (ГрафикРаботы, размер оклада, % премии).
Измерения и реквизиты РР могут быть связаны с измерениями РС, который задан в качестве графика – для отбора значений графика.
Перерасчеты:
показывает, какие записи РР стали неактуальны;
это – рекомендации à алгоритм перерасчета нужно писать;
Заполнение таблицы перерасчетов происходит на основе 1) вытесняющих и 2) ведущих ВР.
Для большей детализации данные по записям, которые потеряли свою актуальность, можно получать не только в разрезе регистратора (поле ОбъектПерерасчета) и ВР, как это происходит по умолчанию, но и произвольных измерений, которые можно связать с измерениями РР.
Использование виртуальных таблиц РР для получения расчетных данных
ВТ ДанныеГрафика (только для РР с ПериодД).
· данные из ФТ РР + данные из РС, связанного с Графиком работы
· один параметр – Условие (и изм., и рес., и рекв.) – чаще всего только один отбор – по Регистратору
· НормаЧасовß из ЧасовПериодДействия (не путать с ЧасовПериодРегистрации) ßданные графика по периоду действия будут всегда получены за полный период (есть еще ВТ ФактическийПериодДействия – там с учетом вытеснения)
· ФактЧасовß из ЧасовФактическиПериодДействия
ВТ База (только если вкл. БазовыйПериод).
· Установление связи с базой: текущий РР – ПВР – Базовые ПВР – Базовые РР
· Базовых РР может быть несколько à рез.нужно суммировать
· Параметры ВТ
o Условие – обычно – по Регистратору
o ИзмеренияОсновногоРегистра и ИзмеренияБазовогоРегистра – массивы имен измерений – для сопоставления имен измерений двух РР – кол.эл.мас. д.б. одинаковым à в баз.РР будет установлен отбор по значениям измерений основного РР àпозволяет получать запросом базу в разрезе сотрудников и подразделений, а не общим итогом
o Разрезы –массив имен полей (изм., рекв., стандартн.рекв.) базового регистраàдля указания доп. разрезов при получении базы, кроме тех, что уже указаны в параметре ИзмеренияБазовогоРегистра, в том числе по полям реквизитов
ВТ ФактическийПериодДействия (только для РР с ПериодД).
· Ее структура полностью совпад. с физ.таб.РР
· Возвращает записи с учетом вытеснения
Механизм вытеснения
· ПВР: указать предопред. ВР, указать вытеснение для ВР
· РС ГрафикРаботы: доб. изм. ГрафикРаботы - это изм.обязат.д.б.заполнено (для ВТ ДанныеГрафиков)
· РР:
o ПериодДействия
o Изм. Сотрудник
o Рес. ГрафикРаботы, связь с изм. «ГрафикРаботы» и рес. «Часы» РС ГрафикРаботы
· Док. НачислениеЗарплаты:
o запретить. Оперативный режим провед;
o в шапке – ПериодРег.;
o в тч.: Сотрудник, ВР, ГрафикРаботы, ДатаНач, ДатаКон, Оклад
o ПриПроведении:
§ Формирует набор записей (заполнены Изм. иРекв.) с пустым Результатом
§ Записывает этот НаборЗаписей - применяется механизм вытеснения
§ Запускает процедуру расчета Результатапо ранее сформированным записям
· Общ.мод. ПроведениеРасчетов
o Проц. Рассчитать(НаборЗаписей, Регистратор)
§ Читаем ВТ ДанныеГрафика по Регистратору àНормаЧасов, ФактЧасов
§ Для каждой Записи из НабораЗаписей делаем расчет Результата
Получения базы при расчете премии
· ПВР:
o 1) ОснНачисления: ПериодД
o 2) ДопНачисления:, НЕ ПериодД; Зависит ПоПериодД от ОснНачисл; указать базовый ВР
· РС: ГрафикРаботы, рес. Дни (1/0) ßзаполнить
· РР:
o 1) ОснНачисления: Период; График; Изм.Сотрудник (Базовое), Рес. Результат, Рекв.Оклад
o 2) ДопНачисления: БазовыйПериод; Изм.Сотрудник (Базовое), Рес. Результат, Рекв.Оклад
· Док. НачислениеЗарплаты
o Тч.1 ОснНачисления: Сотр, ВР, ПериодДействНач, ПериодДействКон, Оклад
o Тч.2ДопНачисления: Сотр, ВР, БазПериодНач, БазПериодКон, ПроцентПремии
o Модуль
§ Создаем НаборыЗаписей в соответ РРбез Результата
§ Записываем НаборыЗаписейà сработает механизм связи по базе
§ Запускаем процедуру расчета Результата
· Общ.Мод.: проц. Расчета результата
o Для ОснНачислений
§ Выборка из ВТ ДанныеГрафиков
§ Расчет Результата по ВР Оклад для каждой Записи из НабораЗаписейОснНач
§ Запись НабораЗаписей
o ДляДопНачисл
§ Выборка из ВТ База
§ Расчет Результата по ВР Премия для каждой Записи из НабораЗаписейДопНач
3. Стонирование документа и перерасчет
Как использовать сторнирование документа для отмены записей, зарегистрированных в предыдущих периодах
Особенность механизма вытеснения записей: записи РР не могут вытеснять записи с периодом регистрации, который меньше периода регистрации текущей записи (задним числом) à используется сторнирование документа.
Сторнированиедокумента – это отмена записей прошлого периода, выполненная в текущем расчетном периоде, а не в прошлом (за который вносятся записи сторно). Связано это с тем, что после начисления заработной платы период (месяц) закрывается от всех изменений, и все корректировки возможны только в последующих периодах.
Чтобы программно получить такие записи сторно, используется метод ПолучитьДополнение() объекта РегистрРасчетаНаборЗаписей.
· РС ГрафикиРабот
o Рес. Дней, поправить ОбработкуЗаполнения
o Заполнить (в т.ч. за позапрошлый, прошлый и текущ. Мес.)
· ПВР ОсновныеНачисления
o Использ. ПериодД
o Зависит по ПериодД – от самого себя
o ВР ПособиеПоБолезни: База = Оклад
o ВР Оклад
§ Вытесняется ВР ПособиеПоБолезни
· РР ОсновныеНачисления
o ПериодД, График
o Базовый период
o Изм.Сотрудник (Базовое), Рес.Результат, Рекв.Параметр (там будет оклад и % пособия)
· Док. НачислениеЗП
o Подготовить записи текущего периода действия – как обычно
o Для ВР Пособие заполнить поля БазовыйПериодНачало, БазовыйПериодКонец (минус месяц относительно периода действия ВР)
o Добавить записи Сторно
§ Движения.ОсновныеНачисления.ПолучитьДополнение()
§ Сторно, ПериодРегистрации, ПериодДействияНачало, ПериодДействияКонец
· Общ.мод. РасчетНачислений()
o ВТ ДанныеГрафика: НормаДней, ФактДней, БазаФактДней
o ВТ База: РезультатБаза
o Для записей Сторно изменить знак
Демонстрация фактического периода действия с помощью диаграммы Ганта
· Без СКД
· Форма: Период, ДиаграммаГанта, кнСформировать
· Запрос
o ВТ ФактическийПериодДействия
o Сотрудник, ВР, Регистратор (+Представл), НачалоПериодД, КонецПериодД
· Обход Выборки
o Точка/Серия = Диаграмма.УстановитьТочку/Серию
o Результат = Диаграмма.ПолучитьРезультат(Точка,Серия)
o Интервал = РезультатДобавить; Начало, Конец, Текст, Расшифровка
o Серия.Цвет – в завис. От ВР
Расчет зарплаты при изменении оклада в рамках одного месяца
· Периодич. Рег.свед. для хранения окладов.
· Разбить строки тч документа на интервалы в местах сечения Периодами рег.свед.
Расчет зарплаты по шкале ставок в зависимости от отработанного времени
· Если тарифная ставка зависит от отработанного времени, то ДанныеГрафика.ФактЧасов Левое Соединение с рег.свед. где хранятся интервалы тарифов.
Расчет зарплаты как процент от продажи товаров
Дополнительно к расчетным механизмам потребуются меха-мы Оперативного учета.
· Спр. Сотрудники: рекв. Подразделение
· РН. Продажи: Изм. Подразделение, Рес. СуммаПродаж
· Док. Продажи: Подразделение, СуммаПродажà приход по РН Продажи
· ПВР ДопНачисления: вкл.Базу по себе самому (чтобы можно было указать базовые период расчета, а базовый результат будем брать из РН)
o ВР Надбавка
· РР: вкл.Базу, Изм. Сотрудник, Рес. Результат, Рекв. Параметр
· Док.НачислениеЗарплаты: тч. ДопНачисления: Сотрудник, ВР, Параметр (% надбавки)
o Первичные записи в РР с указанием базового периода
· ОбщМод:
o ВТ База Левое Соединение с РН Продажи по Подразделению с отбором по БазовомуПериоду
Выявить неактуальные записи регистра расчета и выполнить ПЕРЕРАСЧЕТ
Для авт. регистр. записей перерасчета по Окладу, необходимо для него указать вытесняющие и/или ведущие ВР.
Если ВР зависит от нерасчетных механизмов (например, от объема продаж по данным РН или РБ), тот такие записи перерасчета нужно создавать вручную (программно).
Создавать перерасчет нужно только в том регистре, в котором могут появиться записи по перерасчету (возможны записи по зависимым видам расчета), иначе это будет считаться ошибкой на экзамене.
· Обычные настройки по Продажам (РН), Расчет Премии в зависимости от продаж прошлого мес.
· Для РР вкл. Перерасчеты, Изм.Сотрудник – связь с изм. РР и изм. Ведущих РР
· Ручная регистрация перерасчетов при проведении док. Продажи
o Найти Регистраторы (это будут ОбъектыПерерасчета с Итогом), ВР, Сотрудник за соотв.ПериодРег с отбором по ВР и Подр.
o К существующим НаборамЗаписей Перерасчета по ОбъектПерерасчета прибавить недостающие
· Обработка Перерасчет
o Чтение ВТ Перерасчеты по всем РР, где включены перерасчеты, вывод в тз на форме
o ВыполнитьПерерасчет
§ Обходим отобранные ОбъектыПерерасчета и выполняем для них обычные процедуры расчета для соответствующих ВР
Премияруководителюучережденияот премии за продажи подразделения
· ПремияЗаОбъемПродажПодразделенияПрошлогоМесяца – как обычно
o Записать НаборЗаписей – он будет базой для ПремииРуководителя
· ВР ПремияРуководителю: База = ВР Премия
· РР
o Добавить изм. Подразделение – чтобы делать отбор по нему
· МодульДок.
o Дополнительно к записям по Премия (с базовым периодом = прошл.мес.) заготовить Записи по ПремииРуководителю с баз.периодом = тек.мес.
· Общ.мод. Расчет
o Первым делается Расчет по Премии, НаборЗаписей – записать – сформировали базу для ПремияРуководителю
o Вторым делается расчет ПремииРуководителю
§ ВТ База
§ ИзмеренияОтбора = «Подразделение» ßпо Изм. Отбор: какое Подр. попадет
§ Разрез = «Сотрудник»ßпо Разр. доп.усл.: какого Сотр. исключить
§ Условие «ГДЕ ВиртТабРег.СотрудникРазрез<>ВиртТабРег.Сотрудник»
§ Сгруппировать и индекс по НомерСтроки
§ ЛевоеСоед с ФизТабРег
Расчет удержания процентом от заработанного в текущем периоде
Расчет удержания начисляется аналогично расчету по базе, НО с «–», а не с «+».
Удержания нужно выделять в отдельный план видов расчета и регистр расчета (с методолог.т.зр.)
· Для ФиксирОклада
o ПВР ДопНачил.: без ПериодД, без Базы; ВР ФиксирОклад
o РР ДопНачисл.: без ПериодД, без Базы; Изм.Сотр, Рес. Результат, Рекв. Размер
· Для ПрофВзносов
o ПФР Удержания: База; ВР ПрофВзносы с Базой = ФиксирОклад
o РР Удержания: База; Изм.Сотр, Рес. Результат, Рекв. Размер
· Док НачислениеЗП:
o тч. ДопНачисления, тч. Удержания
o МодДок:
§ По ФиксирОклад сразу указать Результат, т.к. расчет не нужен
§ По ПрофВзносов: обычные предварительные записи для Базы
· ОбщМод:
o ВТБаза: Изм. «Сотрудник»
o ФизТабБаза
o ЛевоеСоед с ВТБаза
o Результат с «минусом»
Расчет выплаты (командировочные, больничные) по среднедневному заработку за предыдущий месяц
ВзаимосвязанныеВР (Оклад и Премия) могут быть проведены одним документомàрекв. Приоритет в ПВР.
Условия задачи:
· Оклад = пропорц. отработанным дням
· Командировочные: вытесняют Оклад; = пропорц. ср.дн. результату по Окладу за прошл.мес.
· НадвабкаЗаВахту = % от Оклада за факт.дни Оклада с учетом его вытеснения
Решение:
· РСГрафикРабот: Дней; заполнить
· Все ВР – протяженные по времени и относятся к начислениямà можно исп. один ПВР
· ПВР
o ПериодД
o База по себе самому
o ВР
§ Оклад: вытесняется Командир.
§ Командир: база по Оклад
§ НадвабкаЗаВахту: вытесняется Командир.; База по Оклад; ПериодДействияЯвляетсяБазой
o Рес.: Приоритет (заполнить в режиме Предприятия)
· РР
o ПВР, ПериодД + Связь с ГрафикомРаб, База
o Изм.: Сотрудник
o Рес.: Результат, Дней
o Рекв.: Параметр
· Док
o Одна тч
o МодульДок
§ Запрос
· Указание базовых периодов в завис. от ВР
· Указание Приоритета в завис. от ВР
§ Обход по Приоритетам
§ Предварительная запись набора по Приоритету и отправка на расчет
o ОбщМод. Расчет
§ Запрос
· ФизТаб.НомерСтроки
· ЛевСоед ВТ ДанныеГрафика: ДнейНорма, ДнейФакт
· ЛевСоед ВТ База: РезультатБаза, ДнейБаза
· Отбор по Приоритету
Предоставить пользователю возможность создавать новые ВР и привязывать их к существующим алгоритмам расчета
· Перечисл. СпособРасчета
· ПВР: рекв. СпособРасчета, с проверкой его заполненности
· В процедуре расчета ОбщМодуля для выбора алгоритма расчета использовать не условие ВР=ПВР.ПредпредВР, а условие ВР.СпособРасчета = …
· В режиме Предприятия добавить ВР, указать Базу, Вытеснения, заполнить реквизиты (СпособРасчета, Приоритет, …)
Реализовать расчет зарплаты в форме документа и возможность исправления результатов расчета
1. Выполнить Расчет (как обычно) на основании данных документа
2. Перезаполнить форму документа с учетом результатов расчета
3. Очистить набор записей (т.к. документ еще не проведен); записи появятся после проведения док-та
4. При проведении док-та никаких расчетов уже не проводятся – просто запись по данным док-та
Автоматическое разбиение периодов, переходящих из одного месяца в другой
1. В запросе посчитать количество накрываемых периодов расчета: РАЗНОСТЬДАТ(тч.ДатаНачала, тч.ДатаОкончания, МЕСЯЦ) + 1
2. Каждый расчетный период ввести отд. Записью в набор:
2.1. рассчитать даты начала и окончания ПериодаДействия каждой записи
Использование табеля учета рабочего времени
1. тч по дням месяца; программнооформить шапку тчв завис. от Даты док-та
2. Оборотный РН ОтработаноВремени
3. ЧасовФакт брать не из ДанныеГрафика, а из РегНак + ЛевСоед с РРФактичПеридД, чтобы учесть вытеснение
Начисление в нескольких валютах
· РР: Валюта – Реквизит, неИзмерение (иначе не будет работать Вытеснение)
· МодульДок:
o ЛевСоедРегСведКурсыВалют: à будет столько строк, сколько валют
§ Если нужны все валюты, то ПО Истина
§ Если отдельные, то ПО тч.Валюта = РегСвед.Валюта
o Параметр пересчитать по курсу
· ОбщМод.Расчет: без особенностей
Учет выплаты ЗП и печать платежной ведомости
1. Перечисл. ХарактерВыплаты: Аванс, ОкончательныйРасчет
2. РН: ДолгПоЗарплате: Изм. Сотр., Рес. Сумма, Рекв. ХарактерВыплаты
2.1. Приход/расход по РН: док. НачислениеЗаоплаты: начисления/удержания
2.2. Расход по РН: док. ВыплатаЗарплаты
3. Отч. ПлатежнаяВедомость
3.1. НаборДанных1: нач. сальдо по долгу на дату док-та
3.2. НаборДанных2:
3.2.1.начисления (в разрезе ВидовРасчета): по текущ. ПериодРегистрации
3.2.2.выплаты (в разрезе ХарактерВыплат): по текущ. Регистратору
3.3. КВыплате – формула в Ресурсах
3.4. ФормаОтчета: ПриЗагрузкеВариантаНаСервере(Настройки): загрузка параметров
3.5. Док. ВыплатаЗарплаты: кн.Печать: передача Параметров
Специалист компании ООО «Кодерлайн»
Игорь Борисенко.