1с необходим пересчет фактического периода действия

Обновлено: 07.07.2024

Материалы газеты «Прогрессивный бухгалтер», апрель 2020 г.

На вопросы отвечает Дарья Волохова, бухгалтер-консультант Линии консультаций компании «ГЭНДАЛЬФ».

– Данная ошибка возникает, когда начисление зарплаты выполняется в том году, по отношению к которому в программе не заполнен график работы сотрудников. Для того чтобы его заполнить, необходимо зайти в «Графики работы сотрудников» (раздел «Настройка» – «Предприятие»), указать необходимый год и нажать «Заполнить».

– Организация в середине 2019 г. изменила налоговую инспекцию, после чего в программе «1С:Зарплата и управление персоналом 8» некорректно заполняются отчеты 2-НДФЛ и 6-НДФЛ, так как в них отражаются сведения только за период с момента перехода на новую налоговую. Как устранить ошибку?

Если в данных графах будет указана старая инспекция, то все суммы в отчетах будут идти именно на нее. Но если по факту у организации все сведения переданы в новую налоговую, то необходимо выполнить следующий ряд действий:

В карточке организации (раздел «Настройка» – «Организации» или «Реквизиты организации») на закладке «Главное» перейти по гиперссылке «Изменить данные регистрации» и в графе «Сведения о регистрации действуют с» указать начало того года, в котором был совершен переход в новую налоговую. В нашем случае – январь 2019 г.

После того как документы будут перепроведены, суммы доходов и налогов отнесутся на новую налоговую инспекцию и, соответственно, отразятся во всех необходимых отчетах.

Для решения данной проблемы создана внешняя обработка «Исправление регистрации в ИФНС», после запуска которой во всех регистрах, связанных с НДФЛ, значение поля ИФНС будет меняться на новое без изменения периода действия новой налоговой и перепроведения документов прошлого периода.

Заказать обработку можно по номеру 8 (863) 300-10-03.

– Какие действия в программе «1С:Бухгалтерия 8» нужно сделать, чтобы появились счета учета в документах?

– В том случае если в базе отсутствует возможность проставить счета учета в документах, например, в Поступлении (акты, накладные), то скорее всего в базе отключена настройка, которая отвечает за отображение счетов учета в документах.

Для того чтобы включить данную настройку необходимо зайти в Персональные настройки программы (раздел «Главное»«Настройки программы») и установить флаг «Показывать счета учета в документах» (рис. 1).


После установки данной галки в документах появится дополнительная колонка «Счет учета».

– Что делать, если в ходе закрытия месяца в программе «1С:Бухгалтерия 8» возникла ошибка «Вид субконто «Основные средства» не доступен для данной записи» при выполнении такой регламентной операции, как «Амортизация и износ основных средств»?

– Данная ошибка возникает в том случае, если в прошлом месяце в таких документах, как «Поступление основных средств» или «Принятие к учету основных средств» был неверно указан счет амортизации. Чтобы данная регламентная операция была корректно выполнена, следует указать счет амортизации 02, после чего повторно выполнить закрытие месяца.

– Как в программе «1С:Зарплата и управление персоналом 8» удалить документ, если нет соответствующей настройки?

– Для того чтобы удалить тот или иной объект изначально необходимо пометить его на удаление, после чего зайти в раздел «Администрирование» «Сервис» «Удаление помеченных объектов». В том случае, если данный сервис отсутствует, следует зайти в настройки навигации раздела «Администрирование» (значок в виде двух шестеренок). В открывшейся вкладке «Настройка панели навигации» в левом окне выбрать «Удаление помеченных объектов» и нажать команду «Добавить». Сохранив данные настройки, в разделе «Администрирование» появится сервис, с помощью которого можно удалить необходимые объекты (рис. 2).


– Как сформировать оборотно-сальдовую ведомость по счету 70 с разбивкой по сотрудникам?

– Для того чтобы в программе появилась такая возможность изначально необходимо установить соответствующие настройки по учету расчетов с персоналом по оплате труда. Для этого следует зайти в настройку плана счетов (раздел «Администрирование» – «Настройки программы» – «Параметры учета») и перейти по гиперссылке, находящей под заголовком «Учет расчетов с персоналом». Для того чтобы была возможность делать разбивку по сотрудникам, в открывшемся окне следует выбрать настройку «По каждому работнику» (рис. 3).


После сохранения данных изменений в оборотно-сальдовой ведомости по счету 70 выбрать команду «Показать настройки», на вкладке «Группировка» в табличной части проставить галку «Работники организаций» и сформировать отчет (рис. 4).

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
: Ошибка при вызове метода контекста (Записать)
МассивСотрудников); Движения.Начисления.Записать(, Истина); ПроведениеРасчетов.РассчитатьНачисления(Движения.Начисления,
по причине:
Недопустимое значение параметра (параметр номер '2') (Необходим пересчет фактического периода действия)

Процедура ОбработкаПроведения(Отказ, Режим)
// // Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны.

// регистр Начисления
Движения.Начисления.Записывать = Истина;
Для Каждого ТекСтрокаНачисления Из Начисления Цикл
Движение = Движения.Начисления.Добавить();
Движение.Сторно = Ложь;
Движение.ВидРасчета = ТекСтрокаНачисления.ВидРасчета;
Движение.ПериодДействияНачало = ТекСтрокаНачисления.ДатаНачала;
Движение.ПериодДействияКонец = КонецДня(ТекСтрокаНачисления.ДатаОкончания);
Движение.ПериодРегистрации = Дата;
Движение.БазовыйПериодНачало = ТекСтрокаНачисления.ДатаНачала;
Движение.БазовыйПериодКонец = КонецДня(ТекСтрокаНачисления.ДатаОкончания);
Движение.Сотрудник = ТекСтрокаНачисления.Сотрудник;
Движение.ГрафикРаботы = ТекСтрокаНачисления.ГрафикРаботы;
Движение.ИсходныеДанные = ТекСтрокаНачисления.Начислено;
КонецЦикла;

//Записываем движения регистров. Движения.Начисления.Записать();

//Получим список всех сотрудников, содержащихся в документе.

Запрос = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ
| НачисленияСотрудникамНачисления.Сотрудник
|ИЗ
| Документ.НачисленияСотрудникам.Начисления КАК НачисленияСотрудникамНачисления
|ГДЕ
| НачисленияСотрудникамНачисления.Ссылка = &ТекущийДокумент");

//Сформируем список сотрудников.

//Вызов процедуры РассчитатьНачисления из общего модуля.
ПроведениеРасчетов.РассчитатьНачисления(Движения.Начисления,

МассивСотрудников); Движения.Начисления.Записать(, Истина); ПроведениеРасчетов.РассчитатьНачисления(Движения.Начисления,

В данной публикации представлено 4 обработки и бонусный файл. Для запуска обработок под 8.2, обработки необходимо открыть в конфигураторе для конвертации. Все представленные в данной публикации обработки могут работать в многопользовательском режиме доступа (НЕ МОНОПОЛЬНО).


Проведение документов / восстановление последовательностей

1. Проводит документы за период. По выбранным видам документов. По выбранной организации.

2. Восстановление выбранных границ последовательности блоками по часу. Т.е. в случае возникновения ошибки при проведении документа откат происходит на начало часа.

«Охрана труда» для 1С:Предприятие 8

Дополнительные возможности

Повторные попытки проведения / восстановления в случае неудачи (например, в случае блокировки документа другим пользователем). Проведение / восстановление в многопользовательском режиме доступа. Ожидание завершения работы пользователя "Регламент" (под данным пользователем могут выполняться регламентные операции, например обмен данными РИБ). Завершение сеанса 1С:Предприятия 8 по окончании проведения / восстановления.

"ТМЦ / Оплата" помечает документы от проведения которых зависит учет НДС. К сожалению не всегда восстановление последовательности позволят корректно рассчитать НДС, комбинация проведения всех документов связанных с движением ТМЦ и оплатой, а также восстановление границы последовательности позволяет в значительной степени "правильно" выполнить расчет.

Данная обработка первоначально была разработана для УПП, но, разумеется, будет работать и в любой другой конфигурации 1С:Предприятия 8.

Установка границ последовательностей

Обработка "Установка границ последовательностей" позволяет устанавливать границы последовательностей на указанную дату без проведения документов. Это бывает необходимо при "случайном" проведении документа раньше границы восстановленной последовательности. Чаще всего если документ не изменялся, то результат его проведения тоже не изменится. В этом случае нет необходимости перепроводить все последующие документы, достаточно вернуть границу последовательности "на место".


Установка дат расчета итогов

При загрузке большого количества документов есть стандартная возможность отключить итоги, в этом случае загрузка будет выполнена быстрее. Но в случае повторной загрузки документов требущей перепродения документов после загрузки, данный механизм не подходит, потому что возникнет ошибка при обращении к итогам. Обработка "Установка дат расчета итогов" не отключает итоги, она расчитывает их на нужную дату. При правильном её использовании, проведение загружаемых документов не будет вызавать пересчет итогов последующих периодов.

В случае, если по какой-то причине не был выполнен регламентированный расчет итогов регистров, то для расчета итогов также можно воспользоваться данной обработкой.

"Удаление рассчитанных итогов" - в этом режиме расчитанные итоги удаляются, но использование итогов не отключается. Т. е. документы будут нормально проводится.


Пересчет итогов по регистрам

Во многих конфигурациях появилась возможность использовать разделение итогов. Это снижает вероятность возникновения взаимных блокировок, но при этом в случае интенсивной работы пользователей таблицы итогов увеличиваются. Для уменьшения количества дублирующихся записей итогов предлогается выполнять пересчет итогов. Типовой механизм пересчета требует монопольного доступа к базе данных. Мне было удобно выполнять данную процедуру во время обеда. При этом выгонять пользователей из базы данных не обязательно.


Бонус

На отдельную публикацию не потянет, поэтому выкладываю бонусом.

Буду рад комментариям с конструктивной критикой, пожеланиями и замечаниями.

Порядок формирования фактического периода действия регистра расчета

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

Фактический период действия определен только для регистров расчета с поддержкой периода действия и имеет функциональную зависимость от записей регистра расчета. Это своего рода итоги по периоду действия записей регистра. Отличие от обычных итогов в том, что, во-первых, расчет итоговых интервалов времени - более сложная задача, чем простое суммирование числовых ресурсов; во-вторых, правила расчета таких "итоговых" интервалов времени не определены в системе раз и навсегда, а задаются пользователем.

Фактический период действия формируется каждый раз, когда выполняется запись набора записей регистра расчета.

Для формирования фактического периода действия системой используются следующие данные:

  • списки вытесняющих видов расчета плана видов расчета, назначенном регистру;
  • даты начала и окончания периода действия записей регистра расчета;
  • период регистрации записей регистра расчета;
  • признак сторно, записей регистра расчета.

Ниже мы рассмотрим влияние всех перечисленных данных на формирование записей фактического периода действия.

Вытесняющие виды расчета - описание правил формирования фактического периода действия

Для видов расчета плана видов расчета с поддержкой периода действия (свойство "Использует период действия") есть возможность задавать список вытесняющих видов расчета. Этот список используется системой при расчете фактического периода действия соответствующих регистров расчета (т.е. тех, которым назначен план видов расчета). Отношения "вытесняющий-вытесняемый" между записями регистра расчета возникают в том случае, если периоды действия записей пересекаются. На рисунке ниже приведены примеры. В них принято, что для вида расчета А вытесняющими являются виды расчета B и C, а для вида расчета B вытесняющим является вид расчета C. В примере не учитываются такие нюансы как наличие сторно-записей и период регистрации записей.

В примере 1 фактический период действия записи A - три интервала времени. Т.е. при запросе к таблице фактического периода действия мы получим три записи для вида расчета A, и по одной записи для видов расчета B и C. В примере 2 иллюстрация того, что фактический период действия может оказаться "пустым". О таком случае будем говорить, что вид расчета A полностью "вытеснен".

Практический пример для приведенной выше иллюстрации - виды начислений при расчете заработной платы - "больничный", "отпуск" (вытесняется больничным) и "по окладу" (вытесняется и больничным и отпуском).

Итак, правила формирования фактического периода действия описываются только вытесняющими видами расчета. При этом список вытесняющих видов расчета может быть задан как разработчиком прикладного решения при конфигурировании (предопределенные виды расчета), так и пользователем в режиме исполнения. При этом следует помнить следующие правила:

  • В режиме исполнения для предопределенных видов расчета пользователь может только "дописать" список вытесняющих видов расчета. У него нет возможности сократить этот список.
  • Невозможно ввести в систему вид расчета с "неполным" списком вытесняющих видов расчета. На приведенном выше примере это значит, что для вида расчета A нельзя в списке вытесняющих видов расчета оставить только вид расчета B, так как он в свою очередь вытесняется видом расчета C (более подробно см. "Особенности поведения системы при записи объекта Вид расчета").
  • Для целей вычисления фактического периода действия система не различает списки вытесняющих видов расчета введенные при конфигурировании и в режиме исполнения. В этом смысле разработчик конфигурации, который дал возможность пользователю редактировать списки вытесняющих видов расчета, дал ему возможность переопределить функцию вычисления фактического периода действия.

Влияние периода регистрации записей на формирование фактического периода действия

При вычислении фактического периода действия учитывается период регистрации записей регистров расчета.

Итак, следует помнить, что правила вытеснения (списки вытесняющих видов расчета) не оказывают влияния на расчет фактического периода действия записей разных периодов регистрации. Более ранние по периоду регистрации записи безусловно (без "оглядки" на правила вытеснения) приоритетны, по отношению к более поздним.

Влияние сторнирующих записей на формирование фактического периода действия

Для иллюстрации того, как при расчете фактического периода действия учитываются сторно-записи, рассмотрим практический пример. Допустим, при расчете начислений работнику в некотором периоде была на основании трудового договора начислена оплата по окладу. Если в следующем периоде выяснилось что оплатить весь период или его часть нужно по другому основанию (например, по больничному листу), то необходимо:

  • сначала отметить ошибочность прошлого начисления;
  • затем ввести новое начисление.

Очевидно, что нельзя просто начислить по новому основанию, не отменив выполненного прежде начисления.

Это востребованное практикой поведение и реализовано в регистре расчета при расчете фактического периода действия. До тех пор, пока мы не введем сторнирующей записи, при вводе новых записей, претендующих на тот же период действия, их фактический период действия будет "пустым", т.е. новые записи будут полностью вытесняться.

На приведенном выше рисунке записи более раннего и более позднего периодов регистрации разделены прерывистой линией. Фактический период действия записи B в примере 1 - пустой. В примере 2, в условиях присутствия сторнирующей записи фактический период действия записи B - не пустой. В примере 3 проиллюстирован случай, когда при расчете фактического периода действия для вида расчета B дал в результате два интервала времени - до начала периода действия вида расчета A более раннего периода и в интервале, "открытом" сторно-записью вида расчета A.

Обратим внимание на то, что, во-первых, при любых обстоятельствах фактический период действия записи A более раннего периода не изменен; во-вторых, для сторнирующей записи также определен фактический период действия. Как рассчитывается фактический период действия сторнирующих записей описано ниже.

Отметим также, что существует метод набора записей регистра расчета ПолучитьДополнение, который, используя правила вытеснения, помогает вычислить период действия сторно-записей (см. Работа метода ПолучитьДополнение набора записей регистра расчета).

Вычисление фактического периода действия для сторнирующих записей

Расчет фактического периода действия сторно-записей выполняется по простому правилу - сторно запись фактически действует только, если в заданном интервале существует фактически действующая запись (т.е. имеющая фактический период действия) с таким же видом расчета и с более ранним периодом регистрации. Рассмотрим примеры.

На примере 1 изображен простой случай, из которого видно, что фактический период действия сторно-записи более позднего периода регистрации ограничен периодом действия записи более раннего периода с тем же видом расчета. На примере 2 - более сложный случай, когда в более раннем периоде фактический период действия вид расчета A не совпадает с ее периодом действия. На этом примере показано, что фактический период действия сторнирующей записи может состоять из нескольких интервалов времени.

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

Не спеша обновлял розницу, 1С 8.3.15.1656, розница ПРОФ. Без дописок, абсолютно стандартная конфигурация. 1 пользователь, 1 компьютер нет РИБ, нет работы по сети, файловая версия. При обновлении с релиза 2.2.12.30 на релиз 2.3.1.30 при запуске предприятия и процедуры обновления версии программы вывалилась следующая ошибка:

Недопустимое значение параметра (параметр номер '2')
: ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Узел);
: ЗаполнитьДанныеДляПараллельногоОтложенногоОбновления(СведенияОбОбновлении, Параметры);
: Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления);
:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1])
: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыПроцедуры);
: ВыполнитьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Недопустимое значение параметра (параметр номер '2')

Соответственно дальнейшая работа не возможна, подскажите куда копать.

Запустил ТиИ. Процедура заняла порядка 4х часов. Все отработало и обновилось. Запуск 1С предприятия показал, что все из 50 процедур обновления отработали штатно. Временные файлы клином сошлись скорее всего - чисти кэш , обновляй повторно конфигурацию . А на каком основании вы обновляли релиз 2.2.12.30 на релиз 2.3.1.30 .
Просто захотелось?
Ну так и получили .
Допустиммые релизы извините ограничены 1 (3) вообще-то я обновлял с релиза 1.0.16.04, но перечислять всю цепочку обновлений посчитал не разумным. Последний рабочий релиз без ошибок был 2.2.12.30 потому его и написал. Естественно, что перед 2.3.1.30 было обновление 2.2.13.12 (4) откатись до 2.2.13.12 и обнови интерфейс , потом дальше обновляй. (5) Резервных копий ранних релизов не делал, все шло как по маслу :(( Так что с откатом жестоко. Можно поднять только ранние промежуточные 2.2.5.27 или 2.2.9.20 (4) Ну уж извините - что написали то и анализируем! Телепаты в отпуске как говорится.
Тогда платформу озвучьте уж пожалуйста.
И еще вопрос - вы запускали базу в режиме 1С Предприятия после каждого обновления? (6) платформа написана в шапке (8.3.15.1656), единственное упустил что она х64. В том, то и дело, что на релизе 2.2.13.12 не запускал предприятие, сразу обновил до 2.3. (7) ну вот и решение.
После каждого обновления - обязательна процедура запуска 1С Предприятия, если обновляетесь из конфигуратора.
У вас же не выполнялись процедуры обновления из 2.2.13.12 и никаких нужных изменений в базе не сделали. (8) Так не в первый раз обновление на несколько релизов проходило без проблем. Т.е. вообще без проблем на 5-8 релизов без запуска предприятия. Конфигурацию БД то обновлял в конфигураторе сразу после обновления релиза. Или я не допонимаю технологию обновлений релизов 1С? (8)Я и на этой базе перешел сразу от 2.2.5 на 2.2.9 без запуска 1С Предприятия. И все работало без всяких сбоев - произвел выгрузку файла на ККМ, произвел загрузку с ККМ, проверил остатки и движения, проверил чеки и смены. Удалил движения и продолжил обновление.
Об обязательности процедуры запуска 1С предприятия после обновления релиза в конфигураторе читаю в первый раз. Вполне возможно, что мои знания имеют огромный пробел. (11)по хорошему нужно после каждого релиза смотреть результат обновления и те процедуры которые не отработали , в последующих релизах умертвят базу. (13)не , после обновление , лезешь в администрирование - результат обновления - там смотриш сколько процедур из скольки отработало , если числа равны = всё ок , а если нет , ломаешь конфу , убиваешь что не понятно , до обновляешься в предприятии , накатываешь типовой релиз и после этого можно следующие версии обновления . либо можно без взрыва конфы , но нужно тогда тщательней ковырять данные. (14)Так это в случае удачного обновления, а не так как у меня сейчас. НО в любом случае спасибо, буду знать и пользоваться. (15) рисковый вы человек. После каждого обновления надо запускать конфу в режиме предприятия и дожидаться полного обновления. А перед обновлением обязательный бэкап. А если доработки какие есть, то обновлять сначала на копии и проверять работоспособность по чеклисту доработок.

(13) Вы напоминаете слепого на минном поле! Который не видит ни таблички с предупреждениями, но еще не взорвался и утверждающего, что видите - можно же ходить и НИЧЕГО!

Вы видимо в принципе не понимаете механизма обновления и процесса изменения структур и данных в процессе этого обновления.
Это до первой серьезной потери!
Примерно такие же "1С-ники" не делают вообще архивных копий, играя в русскую рулетку.

Отвечаю на ваш вопрос

с очевидностью вашей неосведомленности, которая позволила мне столь резкие выражения выше:
Совершенно обязательно именно убедиться что отработали ВСЕ процедуры обновления из 1С Предприятия ибо именно они выполняют действия с данными, которые вы в последствие запросто можете просто потерять.
Смотреть -Администрирование- Обслуживание- Сведения об обновлении
там выводятся подробные сведения о всех процедурах и их времени выполнения, собственно вас должно интересовать только сам факт выполнения.

Ну и напоследок вам пример -история из будущего -"КАК вы можете потерять свою базу"
-В документе Х есть реквизит Сотрудник , который содержит информацию ясно о сотруднике (ссылка на сотрудника) .
Документ содержит информацию о стаже сотрудника. (Это кстати почти реальная история из ЗУП 2.5)

-В результате обновления 1С изменила структуру данных и теперь после обновления вся информация о стаже будет храниться не в документе , а в регистре сведений. Процедуры обновления в процессе выполнения переносят информацию из документов в РС и при успешном обновлении никто даже не заметит, что данные переехали. Данные в документе X больше не нужны . Мало того сам документ вполне может совсем исчезнуть из базы за ненадобностью в следующих релизах. Но база то как работала так и работает. Просто когда подойдет отчетный период и Бух кинется сдавать отчетность вдруг обнаружится, что данных то нету за весь период ДО обновления, ибо после обновления данные писались уже в регистр и все прекрасно. А данные, если повезет (архивы то хоть делались), нужно тащить из архива. А если еще и архива вдруг не окажется как назло?

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

Читайте также: