Группы расчетов в 1с это
Ссылка на вид расчета
ВР = ВидРасчета.НаРуки;
ВР = ВидРасчета.Премия;
Пример, определим сумму "по окладу" текущего сотрудника:
ПоОкладу = 0;
ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаНач = '01.01.2002';
ЖЗ. ВыбратьПериодПоОбъекту(ТекСотр, ДатаНач);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
. Если ЖЗ.ВидРасч = ВидРасчета.ПоОкладу Тогда
. ПоОкладу = ПоОкладу + ЖЗ.Результат;
. КонецЕсли;
КонецЦикла;
Вхождение вида расчета в группу
2-й вариант:
ВсегоНачислено = 0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
. Если ГруппаРасчетов.ВсеНачисления.СодержитВидРасчета(ЖЗ.ВидРасч)=1 Тогда
. ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;
. КонецЕсли;
КонецЦикла;
Перебор видов расчета, входящих в группу
Для Ном=1 По ГруппаРасчетов.ВсеНачисления.Количество() Цикл
. ВР = ГруппаРасчетов.ВсеНачисления.ПолучитьРасчет(Ном);
. Сообщить(ВР.Код);
КонецЦикла;
Перебор всех видов расчета
Для Ном=1 По Метаданные.ВидРасчета() Цикл
. кфгВР = Метаданные.ВидРасчета(Ном);
. ВР = ВидРасчета.ПолучитьАтрибут(кфгВР.Идентификатор);
КонецЦикла;
Перебор групп расчета
Для Ном=1 По Метаданные.ГруппаРасчета() Цикл
. кфгГруппаРасч = Метаданные.ГруппаРасчета(Ном);
. //недоработка фирмы 1С. По имени группы расчета нельзя получить саму группу расчета как объект.
. //если помечтать, то можно было бы сделать вот так:
. // ГруппаРасч = ГруппаРасчета.ПолучитьАтрибут(кфгГруппаРасч.Идентификатор);
КонецЦикла;
Еще я совсем не понимаю, почему группа расчетов не является типообразующим объектом в 1С. Т.е. нельзя, например, завести реквизит справочника и указать его тип "ГруппаРасчетов.ВсеНачисления". Нельзя в диалоге поместить поле типа "ГруппаРасчета", чтобы пользователь мог самостоятельно выбрать группу расчетов так же, как он выбирает вид расчета. Будем надеяться, что в версии 8.0 фирма 1С исправит эти упущения.
Важнейшим свойством системы 1С:Предприятие является возможность определения произвольных алгоритмов расчета. Конкретные алгоритмы расчетов зависят от области применения программы. Для расчета заработной платы, например, это будут начисления и удержания; для задачи учета акций — это алгоритмы расчета дивидендов по акциям разного типа и т.д.
Для алгоритмизации расчетов в системе 1С:Прсднриятие служит понятие видов расчетов.
Виды расчетов в системе 1С:Предприятие
Виды расчетов в системе 1С:Предприятие — это специальный тип объектов метаданных, основное свойство которых — наличие алгоритма обработки данных. Результатом действия этого алгоритма является заполнение реквизита «Результат» журнала расчетов. Понятие видов расчета неразрывно связано с понятием журналов расчетов, так как журнал расчетов — единственное место, где «срабатывают» алгоритмы видов расчетов. Один из предопределенных реквизитов журнала расчетов является реквизитом типа «Вид расчета» и предназначен для хранения ссылки на конкретный вид расчета. С использованием алгоритма именно этого вида расчета будет выполняться вычисление результата расчета при выполнении системной операции «Рассчитать».
Группы расчетов. Понятие группы расчетов имеет в системе 1С:Предприятие вспомогательное значение. Единственное предназначение групп расчетов — упорядочивание и классификация видов расчета для тех областей применения программы 1С:Предприятие, где количество различных алгоритмов обработки данных и, следовательно, видов расчетов значительно. Тесная взаимосвязь между этими двумя понятиями объясняет то, что они рассматриваются в одной главе данного Руководства.
Управление списками видов расчетов и групп расчетов
Вся работа с объектами метаданных типа «Вид расчета» и «Группа расчетов» ведется в окне «Конфигурация — Метаданные». Для видов расчетов отведена ветвь дерева метаданных, которая начинается у фразы «Виды расчетов», а для групп расчетов — ветвь «Группы расчетов». Приемы создания, редактирования свойств и удаления видов расчетов и групп расчетов совпадают с общими приемами управления объектами метаданных, изложенными в главе «Метаданные», стр. Ошибка! Закладка не определена..
Свойства вида расчета
В этом параграфе будут описаны уникальные свойства видов расчетов, в дополнение к общим свойствам объектов метаданных, о которых говорилось в п. «Свойства объектов метаданных» на стр. Ошибка! Закладка не определена..
Свойства вида расчета редактируются в окне редактирования «Вид расчета».
Приоритет. Особого пояснения требует свойство «Приоритет», которое является одной из важных характеристик вида расчета.
Дело в том, что для многих предметных областей применения программы 1С:Предприятие очень важным бывает очередность, в которой выполняются те или иные расчеты. Например, в случае расчета заработной платы, как минимум, важно сначала рассчитать начисления, а затем удержания.
Для организации последовательности выполнения расчетов служит понятие их приоритета. Этот параметр может принимать значение от 0 до 999 и действует следующим образом: чем меньше приоритет расчета, тем раньше он выполняется. Это отражается в последовательности расположения записей журнала расчетов — записи с видами расчетов меньшего приоритета располагаются перед записями с видами расчетов большего приоритета.
Вытесняющие расчеты. Представление о вытесняющих расчетах в системе 1С:Предприятие связано со следующими практическими предпосылками.
В некоторых случаях требуется автоматизировать предметные области, в которых расчет каких-либо величин может вестись взаимно исключающими способами. Возвращаясь вновь к задаче расчета заработной платы, рассмотрим пример расчета следующих начислений: оплата рабочих дней по окладу, оплата дней болезни по больничному листу и оплата дней отпуска.
Очевидно, что в этом случае выполняется условие взаимоисключения перечисленных видов расчета — нельзя, например, одновременно и болеть и работать, т. е. получать и оклад, и деньги по больничному листу. Такие расчеты взаимно исключают друг друга во времени и система должна гарантировать, что ввод одного из них приведет к исключению другого.
Заметим, что взаимное исключение видов расчета ограничивается одним объектом расчета — болезнь одного сотрудника не исключает оплату по окладу другого сотрудника.
Для пояснения приведем примеры вытесняющих и не вытесняющих расчетов в рамках все того же расчета заработной платы. Вытесняющими расчетами, как правило, являются: оплата по основному виду деятельности, оплата больничных, оплата отпуска, оплата по среднему заработку вынужденного отсутствия на работе и пр. Не вытесняющими расчетами являются: удержание налога, выплаты штрафов, оплата но исполнительному листу и другие удержания, а также разного рода доплаты.
Механизм управления взаимоисключающими расчетами настраивается в окне «Настройка вытеснения», открывающегося при нажатии соответствующей кнопки в окне «Вид расчета».
В этом окне все виды расчета, включая определяемый, помещены в два списка, «Вытесняет виды расчета» и «Вытесняется видами расчета». Назначение их очевидно из вышесказанного.
Необходимо только отметить, что вполне возможна ситуация, когда некоторому виду расчета флажок устанавливается в обоих списках (взаимовытесняющие виды расчета). Например, форма оплаты труда работника может быть на какой-то период заменена с оплаты по окладу на оплату по тарифу и последний вид расчета должен вытеснить первый; столь же обычно и обратное.
При установке флажка самому определяемому виду расчета в одном из списков флажок в другом списке устанавливается автоматически (самовытесняющий вид расчета). Например, работника на время перевели на другой оклад.
Описанный механизм полностью определяется при редактировании свойств вида расчета, хотя, собственно, этот механизм работает при вводе новых записей журналов расчета. Это еще раз иллюстрирует тесную взаимосвязь понятия журнала расчетов и вида расчета.
Управление входимостью расчетов в группы
Механизм группировки видов расчета предназначен для выделения видов расчета по тем или иным признакам, что облегчает дальнейшую работу с ними. Это позволяет, например, определив группу расчетов «Начисления» и, определив входимость в нес конкретных видов расчета, оперировать затем понятием этой группы, а не перебирать все входящие в нее расчеты отдельно.
Использование окна редактирования «Вид расчета». Для редактирования входимости расчета в те или иные группы используются два списка в окне редактирования вида расчета. В левом списке отражены группы, в которые редактируемый вид расчета включен, в правом списке — группы, в которые вид расчета не включен.
Для переноса группы или нескольких групп расчетов из правого списка в левый, т. е. для включения редактируемого вида расчета в требуемую группу или набор групп, выделите требуемые группы в правом окне и нажмите кнопку .
Для переноса группы или нескольких групп расчетов из левого списка в правый, т. е. для исключения редактируемого вида расчета из некоторой группы или набора групп, выделите требуемые группы в левом окне и нажмите кнопку .
Использование окна редактирования «Группа расчетов». Объединением видов расчетов в группы, о котором говорилось выше можно управлять не только при редактировании свойств вида расчета, но и при редактировании группы расчетов. Это позволяет, например, создав новую группу расчетов, сразу определить набор видов расчета, входящих в нес, а не указывать входимость расчетов в новую группу путем редактирования каждого расчета.
Для редактирования входимости расчетов в данную группу используются два списка в окне редактирования «Группа расчетов». В левом списке отражены виды расчета, которые включены в данную группу, в правом списке — виды расчета, которые не включены в данную группу.
Для переноса вида расчета или нескольких видов расчетов из правого списка в левый, т. е. для включения их в редактируемую группу, выделите требуемые виды расчетов в правом окне и затем нажмите кнопку .
Для переноса вида расчета или нескольких видов расчетов из левого списка в правый, т. е. для исключения их из редактируемой группы, выделите требуемые расчеты в левом окне и затем нажмите кнопку .
Модуль расчета
Модуль расчета, как правило, содержит предопределенную процедуру ПровестиРасчет. Основная задача процедуры расчета — описать, каким образом при выполнении операции расчета журнала расчетов должно вычисляться значение «Результат». Кроме того, вид расчета может влиять на другие данные системы, например, изменять содержимое справочников.
Для редактирования модуля расчета используется текстовый редактор, который можно вызвать на экран одним из следующих способов:
· в окне редактирования вида расчета нажмите кнопку «Модуль расчета»;
· выберите наименование вида расчета в окне «Конфигурация — Метаданные», нажатием правой кнопки мыши вызовите на экран контекстное меню и в этом меню выберите пункт «Модуль расчета».
Подробно порядок работы с текстовым редактором описан в главе «Редактор текстов».
Правила перерасчета
«Правила перерасчета» являются вспомогательными объектами метаданных, предназначенными для автоматического отслеживания актуальности результатов проведенных расчетов при вводе новых записей журнала расчетов, удалении существующих или ручном исправлении результата расчета.
При создании правила перерасчета в Конфигураторе определяются виды расчетов, при редактировании которых правило перерасчета «срабатывает», и виды расчетов, которые должны быть перерассчитаны при срабатывании данного правила.
Список видов расчета, на основании которых срабатывает конкретное правило перерасчета, условно называется ведущие виды расчета. Список видов расчета, которые должны быть перерассчитаны при срабатывании конкретного правила, условно называется зависимые виды расчета.
Например, для организации правильного перерасчета доплат к основным начислениям следует в качестве ведущих видов расчета указать те, на основании которых считаются доплаты (оклад, тариф, сдельная оплата), а в качестве зависимых видов расчета следует указать собственно перерассчитываемые доплаты.
После ввода в систему такого правила перерасчетов журнал расчетов будет вести себя описанным ниже образом. При этом сначала рассмотрим случай для взаимосвязи видов расчета в одном расчетном периоде.
Итак, если в журнале расчетов появится новая (в результате проведения документа), исчезнет (при отмене проведения) или будет исправлена существующая запись с одним из «ведущих» видов расчета (в нашем примере — оклад, тариф, сдельная оплата), то будет снят признак «Рассчитана» со всех записей, соответствующих доплатам, если найдутся таковые, с тем же периодом действия, что и введенная, удаленная или исправленная запись.
Если при этом вводится запись с периодом действия не в текущем расчетном периоде, а в одном из прошлых (например, расчет оклада задним числом за прошлый месяц), то система введет записи-перерасчеты для всех доплат соответствующего прошлого периода.
Правило перерасчета может быть трех типов: перерасчет записей текущего периода, перерасчет записей того же периода, или перерасчет записей будущих периодов.
В первом случае перерассчитываются заданные виды расчетов с только текущего периода в независимости от того, какой период действия имеют изменяемые записи журнала расчетов.
Во втором случае перерассчитываются заданные виды расчетов с тем же периодом действия, что и новая введенная запись.
В третьем — перерассчитываются записи одного или нескольких будущих расчетных периодов.
Например, если построить правило перерасчета больничных листов, то в качестве ведущих расчетов будут назначены виды начислений, базовые для больничного листа, в качестве зависимых — все виды больничного листа, а тип правила перерасчета будет определен как «перерасчет будущих периодов», причем количество периодов — это число месяцев используемых при исчислении среднего заработка с целью расчета больничного листа.
Другой пример — правило перерасчета подоходного налога. При этом тип перерасчета — «только текущий период», а ведущие виды расчета — все облагаемые налогом начисления.
Управление списком правил перерасчета
Вся работа с объектами метаданных типа «Правила перерасчета» ведется в окне «Конфигурация — Метаданные». Для правил перерасчета отведена отдельная ветвь дерева метаданных, которая расположена «внутри» ветви «Виды расчетов» и начинается у ключевого слова «Правила перерасчета». Приемы создания, редактирования свойств и удаления правил перерасчета совпадают с общими приемами управления объектами метаданных, изложенными в главе «Метаданные» на стр. Ошибка! Закладка не определена..
Свойства правил перерасчета
В этом параграфе будут описаны специфические свойства правил перерасчета, в дополнение к общим свойствам объектов метаданных, о которых говорилось в п. «Свойства объектов метаданных» на стр. Ошибка! Закладка не определена..
Свойства правил перерасчета редактируются в окне редактирования «Правило перерасчета».
При вводе видов расчета. В этом списке необходимо пометить ведущие виды расчетов (см. выше).
Необходимо пересчитать. В этом списке необходимо отметить зависимые виды расчета (см. выше).
Период в котором будут проводится перерасчеты, как уже упоминалось выше, выбирается из следующих возможных значений:
. только в текущем периоде журнала расчетов
ввод, редактирование или удаление строк журнала расчетов, соответствующих одному из ведущих видов расчета, приведет к перерасчету строк журнала с зависимыми видами расчета только в текущем периоде. Это значит, что какой бы период действия не имела изменяемая строка журнала, будет снят признак «рассчитанности» с соответствующих записей текущего периода журнала расчетов;
. в том же периоде журнала расчетов
ввод, редактирование или удаление строк журнала расчетов, соответствующих одному из ведущих видов расчета, приведет к перерасчету строк журнала с зависимыми видами расчета, относящихся к тому же периоду действия, что и измененная запись. Это значит, что какой бы период действия не имела изменяемая строка журнала, будет введена запись-перерасчет (для прошлых периодов) или снят признак «рассчитанности» (для текущего периода) для соответствующих записей журнала, имеющих тот же период действия;
. в следующих n периодах журнала расчетов
ввод, редактирование или удаление строк журнала расчетов, соответствующих одному из ведущих видов расчета, приведет к перерасчету строк журнала с зависимыми видами расчета, относящихся к будущим (относительно измененной записи) периодам действия, что и измененная запись. Это значит, что при изменении записи журнала расчетов, действующей в одном из прошлых периодов (т. е. «задним числом»), будут введены записи-перерасчеты (для прошлых периодов) или снят признак «рассчитанности» (для текущего периода) для соответствующих записей журнала, имеющих один из последующих n периодов действия.
Контекст работы с видами расчетов и группами расчетов
Так же как константы и регистры, виды расчетов и группы видов расчета являются частью глобального контекста выполнения программы 1С:Предприятие. Таким образом, для использования атрибутов и методов видов расчетов и групп расчетов достаточно писать непосредственно обращение к атрибутам и методам того или иного расчета или группы с использованием ключевого слова «ВидРасчета» или «ГруппаРасчетов». Это исключает необходимость использования функции СоздатьОбъект для получения ссылки на соответствующий агрегатный объект.
Англоязычный синоним ключевого слова ВидРасчета — CalculationKind .
Англоязычный синоним ключевого слова ГруппаРасчетов — CalculationGroup .
// Узнаем, входит ли вид расчета ОплатаПоОкладу
//в группу ОблагаютсяНалогом
// Выведем наименование вида расчета
Кроме того, объекты типа «вид расчета» могут сохраняться в базе данных, т. е. реквизиты справочников, документов, журналов расчета могут иметь тип «ВидРасчета» и хранить ссылки на объекты этого типа.
В глобальном контексте программы 1С:Предприятие есть атрибут «ВидРасчета». Этот объект имеет метод ПолучитьАтрибут , который позволяет получить доступ к объекту вида расчета конкретного вида по его имени. Т. е. допустимы следующие синтаксические конструкции:
Атрибуты видов расчета и групп видов расчета
Код вида расчета или группы видов расчета.
ААнглоязычный синоним:
Атрибут типа «строка».
Представляет собой строку, соответствующую идентификатору, заданному при конфигурировании.
См. также: Наименование
Наименование
Наименование группы видов расчета или вида расчета.
Англоязычный синоним:
Атрибут типа «строка». Представляет собой строку, соответствующую комментарию, заданному при конфигурировании.
ВРО2 = Вид Расчета.АмортизацияС_НДС;
Сообщить("Это расчет " + ВР01.Наименование);
См. также: Наименование
Атрибуты видов расчета
Очередность
Очередность вида расчета.
Англоязычный синоним:
Атрибут типа «число». Представляет собой число, соответствующее очередности вида расчета, заданной при конфигурировании.
Понятие очередности используется для упорядочивания записей журнала расчетов. Это помогает упорядочить расчет записей, тем самым выполняя, например, расчет всех начислений раньше, чем расчет базирующихся на них удержаний.
Сообщить("Это расчет "+ВР01.Наименование+"с очередностью "+ВРО1.Очередность);
См. также: ПриоритетВытеснения
ПриоритетВытеснения
Приоритет вытеснения вида расчета.
Англоязычный синоним:
Атрибут типа «число». Представляет собой число, соответствующее приоритету вытеснения вида расчета, заданному при конфигурировании. Система использует приоритет вытеснения при разрешении ситуации, когда полностью или частично пересекаются периоды действия видов расчета. Например, когда метод журнала расчетов ВвестиРасчет вводит расчет в «занятый» временной интервал.
Для невытесняющих видов расчета значение этого атрибута равно нулю.
Замечание. Атрибут сохранен для поддержания совместимости с предыдущими версиями программы. Вместо использования данного атрибута рекомендуется использовать методы ВытесняетВидРасчета и ВытесняетсяВидомРасчета .
Сообщить("Это расчет "+ВР01.Наименование+" с очередностью "+ВР01.Очередность);
ЖрнЗарплата.ВыбратьЗаписиПоОбъекту(Сотрудник, Начало, Окончание>;
Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл
Если Начало > Окончание Тогда
Если Можно = 1 Тогда
ЖрнЗарплата.ВвестиРасчет(Сотрудник, ВидРасчета.ОплатаБЛ, Начало,
Перерасчет(ГруппаРасчетов.ПересчДляБЛ, Сотрудник, ТекущийДокумент(),
Предупреждение("Некорректный больничный лист!
| Проверьте и исправьте даты начала и окончания.
| После этого закройте документ, повторно откройте
| и проведите его");
См. также: методы журнала расчетов ВвестиРасчет , ЗаписатьРасчет
Методы видов расчета
ПолучитьАтрибут
Получить доступ к объекту вида расчета конкретного вида по его имени.
Англоязычный синоним:
Строковое выражение, содержащее идентификатор вида расчета, как он задан в конфигураторе.
Возвращаемое значение:
Объект вид расчета.
Метод ПолучитьАтрибут позволяет получить доступ к объекту вида расчета конкретного вида по его имени, как оно задано в конфигураторе.
Этот метод применяется только к объекту глобально контекста ВидРасчета.
Определяет входимость вида расчетов в группу видов расчета.
Англоязычный синоним:
Группа расчетов, входимость в которую проверяется.
Возвращаемое значение:
Число: 1 — если вид расчета входит в группу < Группа >; 0 в противном случае.
Этот метод предназначен для определения входимости вида расчета в конкретную группу расчетов.
// В журнале расчетов зарплаты посчитаем все начисления
// для текущего сотрудника
// Начало и конец текущего периода журнала
ЖР.ВыбратьЗаписиПоОбъекту(Объект, НТП, КТП);
Пока ЖР.ПолучитьЗапись() = 1 Цикл
Всего = Всего + ЖР.Результат;
Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл
Если ЖрнЗарплата.ВидРасч = ВидРасчета.РайонныйКоэФйициент Тогда
СуммаРайонн = СуммаРайонн + ЖрнЗарплата.Результат;
Если ЖрнЗарплата.ВидРасч = ВидРасчета.СевернаяНадбавка Тогда
СуммаСеверн = СуммаСеверн + ЖрнЗарплата.Результат;
Сумма = Сумма + ЖрнЗарплата.Результат;
Если ТипРасчета = 1 Тогда
Дней = Дней + КалендОтп.Дней(ЖрнЗарплата.ДатаНачала,
Дней = Дней + ЖрнЗарплата.Дни;
См. также: СодержитВидРасчета
Выбран
Возвращает признак того, выбран конкретный вид расчета или нет.
Англоязычный синоним:
Возвращаемое значение:
Число: 1 — если конкретный вид расчета выбран; 0 в противном случае.
Этот метод предназначен для определения, не является ли «пустым» значение переменной или реквизита типа «ВидРасчета».
Вид расчета (в отличие от группы расчетов, например) в рамках описываемого встроенного языка — сохраняемый агрегатный тип данных, т. е. объекты этого типа могут сохраняться в информационной базе. Например, реквизиты справочника, документа или журнала расчетов, могут иметь тип «ВидРасчета» и, следовательно, хранить ссылки на конкретные виды расчетов. При этом часто необходимо иметь возможность определить выбрано ли конкретное значение для реквизита (например, справочника или документа) этого типа.
// Допл — объект типа "группа расчетов"
// Док — ссылка на документ, имеющий реквизит Сотрудник
Пока ЖЗ.ПолучитьЗапись() = 1 Цикл
// предполагается, что документы-основания этих
// видов расчета имеют реквизит ВР
Если ЖЗ.Документ.ВР.Выбран() = 0 Тогда
Сообщить("Не указан конкретный вид расчета в документе!");
ВытесняетВидРасчета
Определяет, вытесняет ли данный вид расчета, заданный в качестве параметра.
Англоязычный синоним:
Вид расчета, для которого проверяется, вытесняется ли он текущим видом расчета.
Возвращаемое значение:
Число: 1 — если вид расчета, метод которого вызывается, вытесняет заданный в качестве параметра < ВидРасчета >; 0 в противном случае.
Метод предназначен для определения взаимного влияния видов расчета при вводе их в журнал расчетов.
// ВР — реквизит документа типа "вид расчета",
// тогда при проведении документа
// Сотр — реквизит документа типа "элемент справочника Сотрудники".
// ДтНач, ДтОконч — реквизиты документа типа "дата"
ЖР.ВыбратьПоОбъекту(Сотр, ДтНач, ДтОконч);
Пока ЖР.ПолучитьЗапись() = 1 Цикл
Если ЖР.ВидРасч.ВытесняетВидРасчета(ВР) = 0 Тогда
// если нашли вид расчета, который мы не сможем вытеснить
Сообщить("Невозможно корректное проведение документа");
См. также: ВытесняетсяВидомРасчета
ВытесняетсяВидомРасчета
Определяет, вытесняется ли текущий вид расчета заданным видом расчета.
Англоязычный синоним:
Вид расчета, для которого проверяется, вытесняет ли он текущий вид расчета.
Возвращаемое значение:
Число: 1 — если вид расчета, метод которого вызывается, вытесняется видом расчета, заданным в качестве параметра < ВидРасчета >; 0 в противном случае.
Метод предназначен для определения взаимного влияния видов расчета при вводе их в журнал расчетов.
См. также: ВытесняетВидРасчета
Методы групп видов расчета
СодержитВидРасчета
Определяет, содержит ли группа вид расчета.
Англоязычный синоним:
Вид расчета, входимость которого проверяется.
Возвращаемое значение:
Число: 1 — если < ВидРасчета >входит в группу; 0 в противном случае.
Метод предназначен для определения того, содержит ли группа заданный вид расчета.
Количество
Количество видов расчета, включенных в группу видов расчета.
Англоязычный синоним:
Возвращаемое значение:
Целое положительное число — количество видов расчета, входящих в группу.
Метод группы видов расчета, который позволяет определить количество видов расчета, включенных в данную группу. Обычно применяется в цикле с методом ПолучитьВидРасчета .
// модуль выполняется в контексте журнала расчетов
// текущий сотрудник Сотр = Объект;
// Для всех видов удержаний проведем расчет в
// журнале расчетов зарплаты
Счетчик = Счетчик + 1;
См. также: ПолучитьВидРасчета
ПолучитьРасчет
Получает ссылку на вид расчета.
Англоязычный синоним:
Номер вида расчета в списке видов расчета данной группы.
Возвращаемое значение:
Агрегатный объект типа «Вид Расчета».
Метод позволяет получить ссылку на вид расчета, входящий в данную группу под определенным номером. Обычно применяется в цикле с методом Количество .
Вопросы
Итак, все вопросы по курсу следует задавать здесь, комментариями к этой странице.
Вопрос будет попадать на модерацию (так тренеру будет проще увидеть, какие вопросы еще не разобраны), через какое-то время тренер будет их разбирать и отвечать прямо тут же.
Просим относиться с пониманием к тому, что тренер не будет отвечать мгновенно – у тренеров есть и текущая загрузка в очном учебном центре. Поэтому часть вопросов может переходить и на следующий день…
Для любого стороннего посетителя на этой странице доступны только вопросы (ответы не отображаются)!
Чтобы видеть еще и ответы на вопросы – Вы должны быть авторизованы на сайте и у Вас должен быть активирован токен доступа именно к этому курсу.
Формулировки
Просим формулировать вопросы так, чтобы не возникало необходимости “переспрашивать”.
Комментарии / обсуждение (76):
Евгений, показателя “время в календарных часах” в стандартной УПП или ЗУП нет. Вероятно, пользователи ввели этот показатель в справочник сами. Предположу, что это “время в календарных днях” * 24 или что-то подобное
Я думаю, дело в переименовании.
Да, наверное кто-то переименовал.
Можно ли изменить код не предопределенного элемента? Ничего в учете не нарушится?
Что будет, если удалить неиспользуемый вид расчета (нет ссылок), например “Внутрисменный прогул” ?
Коды видов расчета нигде не используются, можете использовать любые коды (или вообще пустые коды). В том числе и изменять существующие коды на другие. Виды расчета, которые изначально были в программе, лучше не удалять.
Сделал новый вид расчета, для начисления надбавки за вредные условия труда.
Формула такая: Тарифная ставка часовая * Отработано времени в часах * Процент.
В документе “Сдельный наряд” указываю счет бух. учета и аналитику – Номенклатурную группу.
По сотруднику в месяце несколько нарядов с разной аналитикой.
В документ “Отражение зарплаты в регл учете” сумма по данному расчету попадает без аналитики, общей суммой. А нужно чтобы разбивалась с учетом аналитики.
На первый взгляд достаточно настроить отражение по базовым начислениям, но проблема в том, что
(Оплата по производственному наряду) (Тарифная ставка часовая) * (Отработано времени в часах на данный наряд).
Вредность не зависит от того сколько сотрудник заработал при выполнении наряда. А зависит от того сколько времени он отработал, выполняя сдельный наряд.
В документ отражение по каждой номенклатурной группе, задействованной в сдельном наряде, должно попадать значение равное = (Тарифная ставка часовая) * (Отработано времени в часах по номенклатурной группе) * (Процент)
Подскажите, пожалуйста, как правильно составить такой вид расчета?
Добрый день! Как сделать такую настройку без программирования я не знаю.
Я бы сделал или подписку на событие, которая бы разбивала строку по этому виду расчета в документе Отражение зарплаты в рег. учете на несколько строк с разными аналитиками.
Хотелось бы обратить внимание на один небольшой нюанс, который существует в отношении реквизита плана видов расчета “Основные начисления”, который называется “Налог на прибыль, вид расхода по статье 255 НК”. Этот реквизит можно найти на закладке “Налоги” любого вида расчета в плане видов расчета “Основные начисления организации”.
Когда ведущий объясняет назначение этого реквизита, то в течении всего тренинга он несколько раз говорит, что данный реквизит показывает, включается ли этот вид начисления в вычет по налогу на прибыль (является ли данное начисление расходом, учитываемым для целей расчета налога на прибыль). Но это утверждение не совсем корректно. Данный реквизит показывает ТОЛЬКО, включается ли данный вид расчета в расходы по оплате труда по статье 255 НК РФ. То есть, говоря другими словами, могут быть виды основных начислений, которые ОДНОВРЕМЕННО не включаются в расходы по оплате труда по статье 255 НК, НО включаются в вычет по налогу на прибыль (являются расходами, учитываемыми для целей расчета налога на прибыль) по ДРУГИМ статьям НК РФ.
Одним из примером такого начисления является пособие по временной нетрудоспособности за первые три дня больничного, которое выплачивется за счет работодателя. Этот вид пособия НЕ включается в расходы по оплате труда по статье 255 НК РФ, НО он включается в вычет по налогу на прибыль в соответствии с подпунктом 48.1 пункта 1 статьи 264 НК РФ.
Вы можете убедиться в этом, посмотрев данный реквизит в предопределенном виде расчета “Оплата больничных листов за счет работодателя”, который сделан разработчиками фирмы 1С в типовых конфигурациях ЗУП 2.5 или УПП 1.3. В этом реквизите в данном предопределенном виде расчета установлено, что данный вид расчета не включается в расходы на оплату труда в соответствии со статьей 255 НК. Но это, конечно, не означает, что сумма данного пособия вообще НЕ принимается к вычету по налогу на прибыль.
Буду рад, если Вы обратите внимание на этот небольшой нюанс.
…
(текст комментария доступен только участникам Мастер-группы)
Добрый вечер. Работаем в типовой конфигурации “Управление производственным предприятием”. На данный момент в “Плане видов расчетов” “Основные начисления организаций” два вида расчета дублируются: оплата больничных листов за счет работодателя (код 00025), отпуск учебный (код 00037) (т.е. в плане видов расчетов два в.р. с кодом 00025 и два в.р. с кодом 00037). Поясните пожалуйста: так и должно быть или у нас при обновлении что-то не так обновилось? Спасибо.
Добрый день!
Конечно, так быть не должно.
Сообщите, пожалуйста, релиз конфигурации.
И предопределенные ли это виды расчета?
Добрый день. Как я поняла из методички к курсам и видео, что виды расчетов которые имеют протяженность во времени – это основные начисления, а начисления, которые не имеют протяженности во времени – это дополнительные. Не могли бы вы пояснить, если я доплаты, которые вносятся фикс.суммами и, вообщем-то от времени не зависят, внесу в план видов расчета “Основные начисления”, т.к. есть вероятность, что может потребоваться их распределение документом “Ввод сведений об учете плановых начислений” (в нем выбрать доп.начисления нельзя, аналогичного документа для доп.начислений не нашла) – как это может в дальнейшем повлиять на расчет з/пл. Вообще если я любые виды расчетов буду вносить только в “Основные начисления” – чем это чревато для дальнейшей работы, или данное деление создано только для удобства работы? Спасибо
Добрый день!
Вообще различные доплаты и нужно относить к основным начислениям, т.к. они зачастую имеют плановый характер (т.е. начисляются из месяц в месяц). Ничего не произойдет если вы доплаты (даже единовременные) отнесете к основным начислениям.
Доброе утро. Хотелось бы получить ответ на вопрос.
Добрый день!
Ваш вопрос в работе. В течение дня ответ опубликуем.
Здравствуйте.. следующий вопрос.. всё тоже по водителям..
Создал вид начисления – Оплата за киллометраж.. фиксированной суммой.
Это у меня “основное начисление” для этой должности, от неё уже будет рассчитываться премия, и т.д.
На закладке время я ставлю первую галку.. “Начисления за работу полную смену в пределах нормы времени”..
Внизу ставлю – “Явка”.. наверное не правильно..
Создаю документ начисление ЗП, человек отработал половину месяца только.. Предварительно создаю документ – “Ввод постоянного начисления и удержания” в нём ставлю по виду расчета – “Оплата за киллометраж”, нужную мне сумму.
Затем рассчитываю документ – Начисление ЗП, Сумма по вышеуказанному начислению встаёт нормально, кол-во отработанных дней встаёт нормально.. но у меня существуют премии рассчитываемые от “Оплата за киллометраж”, формула для расчета – Процент*РасчетнаяБаза, но считает не так :( Он у меня почему то учитывает что человек отработал только половину месяца и премию ставит уже процент от отработанного, а не от той фиксированной суммы что я ввёл…
Может конечно слишком сумбурно написал.. надеюсь вы поймёте.. подскажите пожалуйста.. что я делаю не так, почему он учитывает дни :(
Добрый день!
Ситуацию воспроизвести не получается. Создала вид расчета по описанной Вами схеме, месячная премия рассчитывается верно. Единственное, что могу предположить – правильно ли указан период расчета премии. Опишите, пожалуйста, подробнее пример с датами.
У меня моя премия не является премией (Я её создал в основных начислениях организации) И добавил сотруднику в приёме на работу..
Если что-то не понятно.. я готов расписать всё как надо..
В доке приём на работу.. ставлю два начисления
ОплатаФиксСуммой – ВР с алгоритмом расчета – Фиксирванная сумма.
И ещё одно основное начисление – Премия 50% к примеру – ВР с алгоритмом – Процент*Расчетная база. На закладке прочее в базу добавляю только – “ОплатаФиксСуммой”
Принимаю началом месяца.. увольняю в середине..
ОплатаФиксСуммой вношу документом – Ввод постоянного начисления организаций, затем создаю документ – Начисление ЗП, подбираю его.. заполняется таблица двумя строками.. жму рассчитать.. расчетную базу высчитывает от Фикс суммы и половины месяца :(
Добрый день!
Да, это ошибочное поведение программы. Можно описать способ воспроизведения на хотлайн.
Я нашёл способ избавиться от неправильных расчетов..
Процент * (РасчетнаяБаза / ОтработаноВремениВДнях * НормаВремениВДнях)
Просто рассчитывать обратно ещё :)
Подскажите пожалуйста ещё.. как сделать, при выше указанных настройках, чтобы в начислении правильно проставлялось кол-во отработанных дней? А то у меня полный меясяц ставиться что-то..
Добрый день!
Интересное решение :)
Нужно использовать показатель – Время в днях.
Не понял про вытесняющие вычисления. Как определить нужны они или нет.
Добрый день!
Существуют виды расчета, которые не могут быть начислены сотруднику одновременно (за один и тот же период времени) – это виды расчета, конкурирующие за период действия. Например, сотруднику за один и тот же день не может быть начислены оклад о оплата отпуска. Для таких видов расчета и нужно настраивать вытеснение, чтобы один из них вытеснял другой.
Помогите пожалуйста создать вид начисления..
Итак.. это начисление для водителей, оно зависит от количества пройденых водителем км, и от вида транспортного средства. И оно так же является основным для этой должности,
Я создаю такую формулу:
ПоказательКМ * ФиксированнуюСумму
Вот сумму можно ввести при приёме на работу и т.д. Но у меня проблема в том, что не знаю как сюда ещё разные машины прикрутить :(
Один водитель может в месяце ездить на разных автомобилях.
Можно было бы задавать по типа шкалы что-ли.. только там заполнять наименование и сумму для этого наименования(автомобиля)
Подскажите пожалуйста.. как такое реализовать?
Вижу только вариант делать сдельную оплату.. по технологическим операциям..
И ещё такой вопрос..
Я конечно ещё не всё до конца усвоил..
Но посмотрев документ – “Сдельный наряд”, понял что никакой выработки сотрудников по технологическим операциям просмотреть потом не смогу, да? Таких отчетов не составить же сдесь? И очень неудобно что нельзя создавать каталоги в технологических операциях в ЗУП, на видео видно что в УПП можно..
Да, выработку по технологическим операциям посмотреть не удастся.
Да, пожалуй, в данном случае можно использовать у водителей прямую сдельную оплату.
Можно и через показатель, но в этом случае количество таких начислений будет равно количеству видов ТС.
Т.е. необходимо назначать сотруднику начисление с тарифом определенного ТС и если в течение месяца сотрудник работал на другом автомобиле, то нужно кадровым перемещением менять тариф. Такой способ, думаю, не совсем удобен, особенно если типов ТС много.
Хотелось бы поделиться результатом эксперимента, ну и заодно задать вопрос с этим связанный.
В том месте, где Евгений создаёт вид расчёта Оплата вспомогательного производства и задаёт один из показателей Процент, у меня выскакивает предупреждение системы о том, что такой показатель уже запрашивается в другом виде расчёта (Процент от выручки). Я решил совместить приятное с полезным и попытался создать свой показатель – Процент2. В нём я задал всё по образу и подобию предопределённого процента, но в результате на закладке Начисления документа Приём на работу этот показатель не отображался. Я решил всё же вернуть в этот вид расчёта предопределённый показатель Процент, но не тут-то было – всё равно в документе ни при каких манипуляциях не показывался этот показатель! В общем, помогло только физическое удаление из базы этого нового вида расчёта и создание такого же, но с указанным сразу же предопределённым показателем Процент.
Ну и вопрос из всего этого – существует ли возможность создавать свой процентный показатель с корректным его отображением и влияет ли на что-то тот факт, что этот показатель запрашивается в разных видах расчёта?
Заранее спасибо за ответ.
Добрый день!
Не могу воспроизвести ситуацию.
Проверьте, пожалуйста, установлено ли в виде расчета, что нужно запрашивать Процент2 при вводе кадровых изменений (т.к. по умолчанию выбирается значение “Не запрашивать”).
Конечно, Вы можете создать свой процентный показатель, и он должен корректно работать при правильной настройке.
Да, в общем, ладно, вроде бы и так работает! :)
Спасибо за ответ, Ирина!
У нескольких сотрудников есть оклад, от которого рассчитывается премии и некоторые другие начисления. Но вместо “стандартного” оклада сотрудники получают индивидуальный оклад. Как реализовать в программе такие начисления?
Задать сотрудникам “стандартный” оклад и доплату до “индивидуального” оклада. Другого варианта не вижу..
Хоть и живу в Украине, но старый трудовой кодекс создавался при Советском союзе, поэтому многое осталось без изменений. Будет несколько вопросов, думаю, оформление в виде мастер группы будет кстати.
На рекламной страничке курса было сказано, что зарплата это раздел, куда не суются начинающие. Но, считаю, курс будет не полным без дополнительных мастер-групп по сдельной оплаты. Сдельная оплата для бригады, а не для работников.
В курсе есть понятие тарифных разрядов, но оно накладывается на оклады и, наверное, будет применимо для работников бюджета (учителя, врачи и др.). Ведь не зря Вы взяли конфигурацию УПП, значит надо слегка коснуться одной статьи затрат это зарплата, именно производственная зарплата. А уже как будет ложиться зарплата управленческого персонала, это уже уместно в более детальном рассмотрении себестоимости.
Чтобы я хотел узнать в мастер-группе, если это попадает в раздел консалтинга, неплохо бы объяснить почему.
1. В налогами России я не ознакомлен, но думаю основная идея отличается на сильно. Имеется список профессий которые попадают в раздел вредных. И мы в Пенсионный фонд подаем ежемесячно сведения сколько часов проработал работник по табелю на данной должности (если должность попадает в список вредных). А есть еще один раздел вредности сколько часов человек работал во вредных условиях (данные табеля не подходят). Для примера работник работает на двух установках. По первой вредности мы берем работу на двух установках, а если быть более точным то просто из табеля. А вот по второй вредности мы берем только работу на второй установке. То есть надо изначально как-то делить сдельные карточки на две группы и в конце месяца получить отчет по работникам и видам работ во вредных условиях. Вопрос есть ли готовые механизмы для решения проблемы, если нет, то что надо сделать?
2. Как должна быть организована работа для расчета бригадного сдельного заработка? При этом надо учесть список пожеланий. КТУ- коэффициент трудового участия каждого работника совет бригады определяет в конце месяца, думаю идеальный вариант отдельный документ, заполнять в конце месяца, проводить документ перед определением сдельной зарплаты. Теперь разберем понятие тарифной сетки, но она должна быть привязана к разряду профессии. И отсюда выплывает понятие тарифа ниже которого работодатель не имеет права заплатить этому работнику. Не зависимо от того смог он загрузить работника работой или нет. В свою очередь сдельная карточка описывает, что для выполнения работы надо какой-то промежуток времени и разрядность работника для определения стоимости этой работы (С справочнике «технологическая операция» реквизит разряд отсутствует). Хотим мы или нет, но автоматом выплывает элемент планирования. Если работнику будут закрывать все карточки его разряда или разрядом выше то проблемы нет. А если в плане работы будут разрядом ниже, начинаются проблемы. Мы должны выписать карточку для доплаты до тарифа или еще как-то, но тариф он должен получить. А куда на какой заказ потом сносить эту дополнительную до тарифа зарплату? Происходит конфликт служб предприятия, теоретически этого не должно быть. Сдельная зарплата по бригаде должна раскручиваться одним документом в конце месяца и затем как-то лечь на заказы. Для остроты ситуации добавим еще кадровый документ в середине месяца, изменение разряда одному из работников бригады. То есть в документ ввода сдельных нарядов должна вводиться бригада, а не список работников.
В общем хотелось бы услышать рассуждения по данным вопросам, реально ли их решить механизмами типовых конфигураций.
С понятием объекта расчетов в 1С и способом ведения взаиморасчетов связан еще механизм указания групп финансового учета в 1С. В конечном счете группы финансового учета «вяжутся» к объекту расчетов.
Приведем пример финансового учета расчетов. Если способ расчетов «по договорам», то единственное место, где можно будет указать группу финансового учета (ГФУ) – это договор.
Если в 1С:ЕРП 2.4 реализация или заказ оформлены по такому договору, то в самом документе нельзя будет указать группу финансового учета.
В реализации выбран договор представленный выше.
На вкладке «дополнительно» нет возможности указать группу финансового учета.
Если реализация оформлена по заказу, тогда группа финансового учета будет доступна для указания в заказе.
В самой же реализации по этому заказу не будет возможности указать группу финансового учета.
При этом если в 1С:ЕРП 2.4, например, накладная оформляется без заказа и договора, то в этом случае группу финансовый учет в 1С можем указать непосредственно в самой накладной.
При этом если в 1С:ЕРП 2.4 реализация будет вестись по договору и в договоре способ расчета будет указан «По заказам» или «Накладным», тогда появляется возможность указания группы финансового учета в накладной.
2. Пример разнесения оплаты по объектам расчета в 1С
Оформим, например, заказ клиента:
Договор по заказу в 1С настроим с типом расчета объекта в 1С «По заказам».
При оформлении платежки от клиента в объектах расчета 1С будет возможность указать и выбрать объект из перечня. Это может быть сам договор или заказы в 1С, или накладные.
Например, платежка больше, чем по заказу. Оформим разнесение таким способом:
Теперь в заказе мы можем увидеть такую информацию по зачету аванса:
Тут будет показано превышение оплаты по заказу:
Оформим по заказу реализацию и сформируем проводки. Видим, что был аванс и он зачелся.
Также информация отобразится в разрезе объектов расчета в 1С и в ведомости взаиморасчетов:
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Читайте также: