Как в 1с настроить код
С 01.06.2020 все организации и ИП, выплачивающие физическим лицам заработную плату и (или) иные доходы через банк или через иную кредитную организацию, обязаны указывать по этим суммам в расчетном документе специальные коды вида доходов для целей исполнительного производства.
Коды должны указываться по доходам, с которых не производится удержание по исполнительным документам, а также по доходам, размер удержания с которых ограничен.
Банк России установил числовые значения таких кодов, а также порядок их заполнения (Указания от 14.10.2019 № 5286-У). Кроме того, если производились какие-либо удержания из доходов физического лица по исполнительным документам (например, алименты), то этот факт необходимо отразить в расчетном документе (см. письмо ЦБ РФ от 27.02.2020 № ИН-05-45/10).
Это нужно, чтобы банк мог рассчитать сумму, с которой можно произвести взыскание или наложить арест при поступлении на счета должника доходов. Это позволит не допустить обращения взыскания на доходы социального характера, которые поступают на банковские счета физического лица вместе с другими доходами, удержание с которых невозможно.
В программе реализовано указание кодов доходов и удержанных сумм по исполнительному производству при выплате зарплаты через банк.
В документ "Ведомость в банк" добавлено новое поле "Вид дохода" со значениями, соответствующими законодательству (см. таблицу ниже). Также добавлена новая колонка в табличную часть документов "Взыскано". В ней отражаются автоматически суммы, удержанные по исполнительным листам (рис. 1).
По умолчанию вид дохода заполняется наиболее часто используемым "Заработная плата и иные доходы с ограничением взыскания" (код 1). Документ на выплату заполняется автоматически всеми положенными сотрудникам выплатами без разбивки по видам доходов. Поэтому при наличии начислений по другим видам дохода их выплату необходимо зарегистрировать вручную в отдельные ведомости и указать в них соответствующий вид дохода.
Документы на выплату с 01.06.2020 в программе зарегистрировать без указания вида дохода нельзя!
В программе 1С | Код | Указания от 14.10.2019 № 5286-У Банка России |
Заработная плата и иные доходы с ограничением взыскания | 1 | при переводе денежных средств, являющихся заработной платой и (или) иными доходами, в отношении которых ст. 99 Федерального закона от 02.10.2007 № 229-ФЗ установлены ограничения размеров |
Доходы, на которые не может быть обращено взыскание (без оговорок) | 2 | при переводе денежных средств, являющихся доходами, на которые в соответствии со ст. 101 Федерального закона от 02.10.2007 № 229-ФЗ не может быть обращено взыскание, за исключением доходов, к которым в соответствии с ч. 2 ст. 101 Федерального закона от 02.10.2007 № 229-ФЗ ограничения по обращению взыскания не применяются |
Доходы, на которые не может быть обращено взыскание (с оговорками для алиментов) | 3 | при переводе денежных средств, являющихся доходами, к которым в соответствии с ч. 2 ст. 101 Федерального закона от 02.10.2007 № 229-ФЗ ограничения по обращению взыскания не применяются |
В карточке зарплатного проекта (раздел Зарплата и кадры – Зарплатные проекты) доступен новый формат версии 3.6 (рис. 2).
При выгрузке в банк ведомостей в формируемом файле указывается тот код вид дохода, который указан в ведомости, а в перечислениях указана также удержанная сумма из колонки "Взыскано" (рис. 3).
В документе "Платежное поручение", которое будет формироваться с 01.06.2020, появится возможность указать коды вида доходов в поле "Удержание по исполнительному листу". А в назначении платежа - сумму удержаний произведенных из доходов физического лица по исполнительным документам (согласно письму ЦБ РФ от 27.02.2020 № ИН-05-45/10) (рис. 4).
Во встроенном языке 1С используется динамическая типизация переменных, т.е. при объявлении переменной в коде невозможно указать для нее допустимые типы значений. Тип значения переменной гарантированно становится известен только во время выполнения присвоения ей значения. Это придает языку простоту освоения, лаконичность, легкость и гибкость, но приносит с собой и сложности. К ним в частности относится вычисление типа значения выражения в режиме разработки (design-time), без чего не будут работать многие важные помощники при написании и анализе кода
Помощники опирающиеся на вычисление типа
1 Контекстная подсказка (автодополнение) (Ctrl+Space)
2 Подсказка по параметрам метода (Ctrl+Shift+Space)
3 Переход к определению (F12)
Принцип работы вычислителя типов режима разработки
- Определяется текущее выражение в тексте модуля
- Выделяются все переменные и функции, от которых оно зависит
- Для каждой переменной выполняется поиск выше по тексту присвоения ей выражения
- Для каждой функции выполняется анализ типа возвращаемого ею значения. В конфигураторе 1С это к большому сожалению реализовано только для системных функций, но EDT это реализовано и для прикладных функций.
- Для каждого присвоения повторяются шаги 2-4
На платформе 1С 7.7 штатного вычислителя типов в режиме разработки не было. Но благодаря Орефкову Александру появилось стороннее API конфигуратора OpenConf. На базе него было сделано расширение с вычислением типов Телепат, которое стало прорывом в удобстве редактирования кода.
На платформе 1С 8.0 в конфигураторе появился свой вычислитель типов, но с заметно более скудными возможностями, чем Телепат 7.7 . Он НЕ умеет вычислять тип результата прикладной функции, колонки таблицы/дерева значений и многое другое, что умел Телепат 7.7. Позже появился сторонний API конфигутора Снегопат от того же Орефкова Александра. Но на его базе насколько мне известно так и не появилось расширения для продвинутого вычисления типа.
Привыкая к помощникам, опирающимся на вычислитель типов, начинаешь испытывать дискомфорт в случаях, где вычислителю не удается определить типы. Например при вызове автодополнения на иллюстрации
мы не увидим ожидаемого списка реквизитов строки табличной части Параметры справочника ирАлгоритмы. Хотя мы точно знаем, что в качестве параметра Алгоритм будет приходить всегда значение типа СправочникСсылка.ирАлгоритмы, вычислителю конфигуратора это не удастся понять.
Но можно заставить вычислитель режима разработки думать, что переменная имеет нужный тип, написав не исполняемый код присвоения этой переменной выражения с легко вычисляемым нужным типом.
Способ №1
Лучшим способом для конфигуратора 1С 8 является вставка всегда удаляемой инструкции препроцессора. Такой код всегда не будет компилироваться и потому не будет влиять на скорость компиляции и исполнения кода.
Пример 1. Нужно указать переменной Алгоритм тип СправочникСсылка.ирАлгоритмы
Теперь будет работать контекстная подсказка у выражения, зависящего только от этой переменной:
Пример 2. Нужно указать переменной Отбор тип ОтборКомпоновкиДанных
Способ №2
Другим способом для конфигуратора 1С 8 является вставка всегда не исполняемого кода через всегда ложное условие. Такой код будет компилироваться. Исполняться (вычисляться) будет только выражение условия "Ложь", но не код внутри ветки Тогда. Здесь хотя и очень незначительное, но есть влияние на скорость компиляции и исполнения кода.
Пример 1. Нужно указать переменной Алгоритм тип СправочникСсылка.ирАлгоритмы
Шаблоны текста для вспомогательных инструкций
Чтобы не набирать каждый раз вручную эти длинные конструкции, разумно добавить себе шаблон текста
Шаблон для способа 1
Шаблон для способа 2
Если Ложь Тогда
<?>
КонецЕсли;
Ссылки на методы
Иногда в коде приходится использовать ссылки на методы, т.е. не вызывать метод сразу, а передавать ссылку на него куда то, где его уже будут вызывать. На момент написания статьи в объектной модели 1С ссылки на методы поддерживаются в
- ФоновыеЗадания.Выполнить(<ПолноеИмяМетода>. )
- Новый ОписаниеОповещения(<ИмяМетода>, <Модуль>. )
Недостатки
- Из-за того, что эти вспомогательные инструкции не относятся к полезной логике программы, они затрудняют чтение кода и даже могут привести читателя кода в замешательство, если он не знаком с этим приемом.
- При переходе к определению переменной (F12) редактор будет активизировать нашу вспомогательную строку для присвоения типа. Нужно будет еще раз выполнить команду перехода (F12), чтобы перейти к настоящему определению.
Про EDT
На горизонте 1С появился EDT (Enterprise development tools) - новая среда разработки, которая по задумке должна стать лучше конфигуратора во всем, кроме задач администрирования. Там в частности реализован более умный чем в конфигураторе 1С 8 вычислитель, который должен превзойти Телепат 7.7. К сожалению описанные выше способы не будут работать с поумневшим вычислителем типов EDT. Он сразу понимает, что этот код не будет выполняться и потому не учитывает такой код при вычислении типов. Зато в EDT предусмотрена возможность гибко описывать типы параметров и возвращаемых значений методов для вычислителя типов. Выглядит это примерно так
Я пытался донести до разработчиков EDT потребность указывать типы в любом месте кода, но пока не был услышан.
В СЗВ-ТД внесены следующие изменения:
1. Изменены правила заполнения графы "Код выполняемой функции", которая будет состоять из пяти (вместо семи) цифровых знаков - "ХХХХ.Х", где:
- первые четыре знака - код наименования группы занятий в Общероссийском классификаторе занятий;
- пятый знак - контрольное число.
2. Добавлен раздел, который заполняется правопреемником страхователя о работодателе, снятым учета. Раздел заполняется при необходимости скорректировать сведения по СЗВ-ТД ранее представленные предшественником.
3. Добавлена новая графа "Работа в районах Крайнего Севера/Работа в местностях, приравненных районам Крайнего Севера", где указывается один из следующих кодов:
- РКС - работа в районах Крайнего Севера;
- МКС - работа в местностях, приравненных к районам Крайнего Севера.
4. Удален раздел "Отчетный период".
Как же осуществить это требование в программе 1С "ЗГУ" и "ЗУП" и подготовить справочник должностей с новыми кодами трудовых функций заранее.
Для трудовых функций введена необходимость указания кода по Общероссийскому классификатору занятий ОКЗ, с целью современной подготовки к изменениям, вносимым вступающим в силу с 01.072021г. Постановлением Правления ПФ РФ от 27.10.2020 769п.
Данный функционал предоставлен в С ЗГУ и ЗУП релизах с версией 3.1.14.433 и 3.1.17.94.
В карточке должности коды ОКЗ и ОКПДТР теперь непосредственно не указываются. Для заполнения статистических отчетов 1-Т проф, 57-Т теперь используются коды, указанные для трудовой функции выбранной в должности.
При обновлении существующей базы коды в существующих трудовых функциях заполняются данными из должностей, в которых эта трудовая функция выбрана. Если одна и та же трудовая функция выбрана в должностях с разными кодами, коды в ней при обновлении не заполняются совсем, в связи со сложившейся неопределенностью.
Обращаем внимание, что если вы ранее заполняли в должностях коды с целью заполнения статистических отчетов, но трудовые функции не указывали, то после обновления необходимо /для заполнения этих отчетов в дальнейшем/ в должностях указать трудовые функции с такими же кодами. Для облегчения этого процесса в карточку должности добавлена интерактивная подсказка.
1 июля 2021 года вступает в силу Постановление Правления ПФ РФ от 27.10.2020 № 769п, закрепляющие необходимость указания в электронной трудовой книжке, СЗВ-ТД и СТД-Р кода выполняемой функции, который заполняется из Общероссийского классификатора занятий (ОКЗ). Для хранения ОКЗ в ЗУП в версиях 3.1.14.433/3.1.17.94 был добавлен справочник «Классификатор занятий» (Настройка - Классификаторы - Общероссийский классификатор занятий).
Раннее код ОКЗ прописывался в справочнике «Должности», теперь этот реквизит остался, но изменять его здесь нельзя.
Изменить ОКЗ можно в справочнике «Трудовые функции», который открывается из справочника «Должности».
Кроме того, на основании кода ОКЗ, указанного в трудовой функции, заполняются статистические отчеты 1-Т (проф), 57-Т.
Рассмотрим, как происходит заполнение кодов ОКЗ при переходе на новый релиз. Если организация использовала справочник «Трудовые функции», то коды заполняются из справочника «Должности», в котором указана конкретная трудовая функция. При этом если в справочнике «Должности» одной и той же трудовой функции соответствуют разные коды, то коды не заполняются.
Если же справочник «Трудовые функции» не использовался, то коды в нем автоматически не заполнятся. В этом случае нужно будет для каждой должности создать трудовую функцию и указать в ней коды.
Для упрощения работы в карточку должности была добавлена интерактивная подсказка.
Если для должности трудовая функция не заполнена, но заполнен код ОКЗ, то из карточки «Должности» можно выбрать существующую трудовую функцию или создать новую, при этом код ОКЗ автоматически подтянется.
Читайте также: