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

Что упрощать?

Партионный учет, пожалуй, самая сложная подсистема любой конфигурации 1С.
Простое проведение документа, списывающего партии, ощутимо по времени. И чем больше в нем строк, тем существеннее время ожидания проведения документа.

Но это ещё полбеды. Дальше могут возникать ситуации, когда товар не распределился по партиям. Причины этого могут быть различными: непоследовательное занесение поступления партий и их списание, пересорт товара, просто отсутствие партий и т.д. Но результат этого всегда один и тот же - невозможность определить себестоимость списанного товара и, следовательно, некорректная информация по валовой прибыли, затратам и т.п. Следовательно, такие ситуации необходимо отслеживать и своевременно корректировать. Первая же проблема на пути корректировки: информация по не распределенным товарам выдаётся только непосредственно при перепроведении документов! Даже при однопользовательской работе на процесс сбора такой информации без жалости смотреть невозможно. Что уж говорить о многопользовательском варианте... Процесс же корректировки ситуаций нераспределения по партиям - вообще творческая и кропотливая работа!

И, наконец, актуальность полученных данных. Да, да! Корректировкой дело не заканчивается. Работа с документами "задним числом" (корректировка, добавление, изменение, удаление) приводит к неактуальности текущего распределения партий товаров. Например, себестоимость уже списанной партии может просто изменится, либо появится новая партия, а то и, вообще, списанная партия может быть удалена. В любом случае, данные о списанной себестоимости товара уже не будут отвечать выбранному методу распределения (FIFO, LIFO, По-среднему) и снова будут вводить в заблуждение менеджеров, изучающих отчеты, устанавливающих цены, закупающих товар... Во избежание такого развития событий предусмотрен механизм восстановления последовательности партий товаров. Но, как правило, работа с ним не отличается удобством: требуется монопольный режим, невозможно прервать восстановление, любое перепроведение документа (даже без внесения изменений) расценивается как нарушение последовательности и т.д.

Как упрощать?

Компания ИТЦ "Мотива" предлагает систему, позволяющую значительно упростить работу с партионным учетом в Вашей конфигурации! Упрощение идет по таким направлениям, как поиск не распределенных, корректировка не распределенных, восстановление последовательности.

Система состоит из модулей:

* Быстрое восстановление последовательности партий товаров.

* Отчет по товарам, не распределенным по партиям.

* Автокорректировка ситуаций нераспределения.

* Корректировка методом буфера.

Указанные модули позволяют забыть о проблемах партионного учета и переводят работу с базой данных на качественно новый уровень. Актуальность последовательности восстанавливается незаметно в реальном времени или раз в день, отнимая 5-15 минут. Информация по товарам, нераспределенным по партиям появляется за секунду нажатием кнопки. Рутинные работы по корректировке не распределения автоматизированы.

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

Быстрое восстановление последовательности партий товаров.

Данные о списанных партиях критичны к правильной последовательности проведения документов - они только тогда отражают действительное положение вещей, когда документы проводятся последовательно!

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

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

Стандартная обработка в случае нарушения последовательности будет перепроводить ВСЕ документы последовательности, начиная с даты нарушения. Данная процедура может занять достаточно длительное время в зависимости от объёма базы и даты нарушения (зачастую, не успевает выполнится за ночь). Она будет восстанавливать последовательность даже тогда, когда актуальность восстановления попросту отсутствует (просто перепровели документ, не изменяя его товарной составляющей). К тому же, нет необходимости перепроводить все документы - ведь важно восстановление партий только по определенным товарам.

Система оптимизированного (ускоренного) восстановления, которую предлагает компания ИТЦ "Мотива", выполняя ту же задачу, что и стандартная, позволяет восстановить последовательность на порядок быстрее, поскольку:

· Отслеживает, была ли действительно нарушена последовательность партий при перепровадении документа задним числом и по каким товарам .

· Перепроводит только документы, содержащие товары, по которым последовательность была нарушена .

· При перепроведении тратит время только для восстановления партионного учета - остальные алгоритмы проведения нет нужды задействовать. Не перепроводит документы образования партий («Поступление», «Оприходование» и пр.) по аналогичным соображениям.

· Не требует монопольного режима (отсутствия других пользователей в базе). Для восстановления даже не требуется, чтобы перепроводимый документ был закрыт пользователем!

· Позволяет прерывать выполнение восстановления и продолжать дальше в более удобное время.

· Позволяет автоматически поддерживать актуальность партий товаров в реальном времени либо автозапуск восстановления по расписанию.

Резюмируя, эта система оптимизирует восстановление путем введения детального анализа на стадии нарушения последовательности. Основное преимущество - уникальный алгоритм, отслеживающий, было ли нарушение последовательности при перепроведении документа. В сочетании с остальными методами оптимизации разработка позволяет для восстановлении последовательности перепроводить в среднем на 85-95% меньше документов! Другими словами, не перепроводятся те документы, которые после этого заведомо не изменят свои движения по партиям.

Компания ИТЦ "Мотива" предлагает Систему упрощения партионного учета (далее СУПУ), которая наилучшим образом выполнит задачи восстановления любых последовательностей документов!

Отчет по товарам, не распределенным по партиям.

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

Вероятно Вы задавались вопросом, как быстро посмотреть эти сообщения без перепроведения документов?

Вот и ответ: для того, чтобы в любой момент за считанные секунды увидеть все ситуации не распределения (документ, товар, недостающее количество) служит данный отчет. Теперь проверка списания товаров по партиям станет удобным и увлекательным занятием! Удивительно, но отчёт способен работать с любыми периодами документов сразу после установки. Так что если Вам предстоит битва с запущенной последовательностью за последние N лет - Вам окажет неоценимую помощь!

Автокорректировка ситуаций нераспределения.

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

Корректировка методом буфера.

Иногда, чтобы не разбираться в прошлых периодах с распределением партий, проще оприходовать определенное количество товара до момента возникновения ошибок нераспределения, чтобы списать его позже, когда череда ошибок пройдёт. Определением оптимальных параметров такой операции с попутным созданием документов Оприходования / Списания и занимается этот модуль.

Как видите, управлять партиями при наличии такого инструмента легко! А успешное внедрение этой системы на десятках баз данных, преимущественно крупных и очень крупных, позволяет нам уверенно предлагать её Вам в качестве надёжного помощника!

Сомневаетесь в безопасности и эффективности работы СУПУ? Данный продукт начиная с 2006 года и 1с версии 8.0 успешно работает в промышленной эксплуатации на многих предприятиях самого различного профиля. За всё это время мы не получили нареканий относительно его функционала - только пожелания по улучшению сервисных механизмов, которые реализовываем в новых версиях. К тому же СУПУ не меняет данные, он просто перепроводит документы, используя их стандартный алгоритм проведения. И в отличие от типовых аналогов, далеко не все, а только необходимые. Система упрощения партионного учета - абсолютно безопасный и эффективный помощник!

* Система встраивается в конфигурации на базе типовых 1С 8.1 "Управление торговлей", "Управление производственным предприятием". О возможности использования в других конфигурациях или для восстановления других последовательностей документов уточняйте.

* Продукт устанавливается "сбоку" и не требует внесения изменений в типовой код конфигурации. Т.е. обновление новыми версиями типовых конфигураций происходит как обычно. Установка занимает 10 минут.

Для пользователя:
Последовательность документов есть в УПП, УТ (8), ТиС, ПУБ (7).
Операции – Проведение документов, на закладке «Восстановление последовательностей» приведены все имеющиеся в программе последовательности и указана дата актуальности каждой из них. То есть если в июне 2010 года мы видим такое:

То это плохо. Партионный учет давно неактуален, значит – все значения себестоимости, которые появляются в отчетах, врут. (Учет кадров и налоговый учет УСН в данной базе не ведется).

Что значит последовательность? Строго говоря, одним из правил учета является его оперативность, т.е. отражение хозяйственных операций по мере их возникновения. 1 июня на склад поступило 10 штук товара А, потом 10 июня продано 8 штук. Если проводить эти документы (Поступление товаров и услуг, Реализация товаров и услуг) строго в хронологическом порядке, то последовательность установится сначала на 1 июня, потом на 10 июня. Т.е. ее граница будет сдвигаться вперед каждым документом, и итоги (количество, сумма, себестоимость) будут актуальными на каждый момент времени. Если же потом, задним числом, провести еще один документ (Реализация товаров и услуг) от 8 июня, которым будет оформлена реализация 7 штук товара А, программа дает это сделать беспрепятственно. Граница последовательности при этом установится на 8 июня, на этот документ. То есть информация ДО ввода этого документа верна, а ПОСЛЕ – уже нет. При восстановлении последовательности (перепроведении документов, входящих в последовательность), документ от 10 июня проведен не будет, потому что нет необходимого количества товара А. Далее пользователь должен искать причину этой ошибки, устранять и восстанавливать последовательность заново.

Как часто восстанавливать последовательность? Как минимум – перед выполнением регламентных операций, формированием значимых отчетов и т.п. Поскольку любое перепроведение документа (относящегося к последовательности) сдвигает ее границу, имеет смысл закрывать для редактирования прошлые периоды (Сервис – Установка даты запрета изменения данных ).

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

Для программиста:
Последовательность – объект метаданных 1С – предназначена для упорядоченного хранения множества документов согласно дате и времени.

Граница последовательности (ГП) – позиция, последнего введённого документа в последовательность. Если после ГП есть другие документы в последовательности, то последовательность считается нарушенной и её необходимо восстановить.

Логически - последовательность можно условно представить как «Общий» журнал документов входящих в эту последовательность. Условно, потому, что на последовательностях строится логика учета.

У некоторых последовательностей, для дополнительного контроля автоматически при движении регистров, отслеживается связь: регистр – последовательность. Если изменился регистр, должна измениться и последовательность.

Физически – последовательность состоит из двух таблиц:
1. Таблица регистрации;
2. Таблица границ.

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

Таблица границ (ТГ) – хранит границу последовательности в разрезе измерений, одно измерение – одна запись если измерений нет, то у ТГ одна запись. Запись ТГ показывает, какой документ в ТР является последним правильно проведённым, т.е. не нарушившим правильное ведение учёта.

Обе таблицы идентичны по составу колонок: «Период», «Регистратор», «Измерение».

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

Механизм «последовательность» имеет подчинённые объекты, свойство – измерения.

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

Измерение позволяет, в случае необходимости, перепроводить не все документы, входящие в последовательность, а только те которые содержат данное измерение, что ускоряет скорость работы при восстановлении последовательности.

Измерения повышают производительность системы в целом, так как при записи и проведении захватывается не вся таблица целиком, а только те её строки, которые соответствуют данному измерению.

Регистрация документа в последовательности, т.е. в ТР, производится в момент его записи.

Регистрация документа в последовательности может осуществляться автоматически, под руководством системы, если свойство «Заполнение последовательностей» документа будет установлено в «Заполнять автоматически» если иначе, то сам разработчик описывает правила регистрации.

Запись в ТГ происходит при проведении документа.

При проведении документа, его движения учитываются в:
· «Оперативном учёте» - записывает движения документа в регистрах;
· «Бухгалтерском учёте» - запись проводок.

ПоследовательностьМенеджер.< ИмяПоследовательности > - Данный менеджер предназначен для управления последовательностью:
Последовательность.«ИмяПоследовательности».Восстановить
Последовательность.«ИмяПоследовательности».ПолучитьГраницу
Последовательность.«ИмяПоследовательности».ПолучитьГраницы
Последовательность.«ИмяПоследовательности».Принадлежит
Последовательность.«ИмяПоследовательности».Проверить
Последовательность.«ИмяПоследовательности».СоздатьНаборЗаписей
Последовательность.«ИмяПоследовательности».УстановитьГраницу

Вся работа «ПоследовательностьМенеджер» складывается из анализа и работы с ТР и ТГ. Например, метод «Проверить» - если документ в ТГ, есть последний в ТР, значит, последовательность не нарушена и наоборот и т.д.

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

Процедура закрытия месяца

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

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

Настройка процедуры закрытия месяца

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

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

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

Так, в соответствии с настройкой параметров учета в программе может вестись партионный учет или применяться режим расширенной аналитики учета затрат (РАУЗ). При использовании РАУЗ ресурсоемкие регламентные операции Восстановить последовательность партионного учета и Скорректировать стоимость списания МПЗ не выполняются, поэтому на схеме, представленной на рис. 1, они неактивны, и настроить их применение нельзя.

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

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

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

Рис. 2. Назначение пользователей, ответственных за выполнение регламентных операций

На закладке Распределение затрат следует указать способы распределения затрат, которые используются данной настройкой закрытия месяца. По умолчанию все затраты подразделений вида "Основное производство" и "Вспомогательное производство" распределяются по объему выпуска, а затраты подразделений с видом "Прочее" - по плановой себестоимости выпуска.

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

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

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

Как правило, каждой регламентной операции соответствуют один или несколько документов, которые должны быть созданы и проведены. Настройка такого соответствия осуществляется в регистре сведений Список Документы регламентных операций . Он открывается заполненным по умолчанию по нажатии на кнопку командной панели Документы регламентных операций (Рис. 3). Как правило, специально заполнять его не требуется.

Рис. 3. Документы для выполнения регламентных операций

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

  • либо в связи с необходимостью выполнения дополнительных действий (например, может понадобиться ввести процент деятельности по ЕНВД при расчете зарплаты и "зарплатных" налогов);
  • либо в связи с множественностью создаваемых документов, результаты заполнения которых зависят от проведения предыдущих (операция Начислить зарплату и ЕСН );
  • либо в связи с отсутствием документов (регламентная операция может выполняться не только документом, но и специальной обработкой);
  • либо в связи с тем, что порядок выполнения регламентной операции детализируется на отдельной схеме.

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

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

Состав и последовательность выполнения операций отражается на графической схеме (документ Настройка закрытия месяца закладка Схема ). Включение/выключение выполнения регламентной операции и назначение ответственных можно выполнять непосредственно на схеме.

Рассмотрим порядок выполнения процедуры закрытия месяца.

Запуск процедуры закрытия месяца

Новая процедура закрытия месяца создается в меню Интерфейс "Заведующий учетом" - Регламентные операции - Процедура закрытия месяца .

В форме Закрытие месяца на закладке Параметры необходимо указать:

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

Затем следует загрузить настройки и запустить процедуру, используя одноименные кнопки.

После выполнения этих действий появится информационное окно, в котором пользователь будет проинформирован о том, какие регламентные операции будут выполнены и каким ответственным они назначены. Если изменений не требуется, нажимаем на кнопку Запуск .

В ходе выполнения процедуры закрытия месяца:

  • автоматически формируются задания ответственным лицам на выполнение регламентных операций;
  • при выполнении очередной регламентной операции автоматически осуществляется переход к следующей операции - происходит формирование новых заданий. При этом некоторые операции могут выполняться параллельно (одновременно).

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

Контроль хода выполнения процедуры

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

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

Рис. 4. Графическое изображение процедуры закрытия месяца

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

Выполнение регламентных операций

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

Для выполнения каждой регламентной операции необходимо провести следующие действия.

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

2. Проверить результат.

3. Отметить регламентную операцию как выполненную (кнопка "Отметить как выполненную"). При этом если регламентная операция процедурой Закрытие месяца была назначена, но фактически ее выполнение не требуется (о чем программа выдает соответствующее сообщение), то для такой регламентной операции в ее форме можно назначить действие "Выполнить без проверок".

Рассмотрим операции, входящие в состав регламентных.

Выполнить допроведение документов

Данная операция выполняется одноименной обработкой (меню Интерфейс "Заведующий учетом" - Отложенное проведение - Допроведение документов ). Процедура необходима, когда для организации был установлен режим отложенного проведения документов (Рис. 5).

Рис. 5. Установка режима отложенного проведения

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

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

Рис. 6. Отметка о выполнении регламентной операции

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

Аналогичные действия следует проводить при выполнении каждой регламентной операции.

Восстановить последовательность расчетов по приобретению (реализации)

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

Рис. 7. Восстановление последовательности расчетов с контрагентами

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

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

Восстановить последовательность партионного учета

Если предприятие не использует РАУЗ, то необходимо выполнить дополнительную операцию, выполняемую обработкой Проведение по партиям (меню Интерфейс "Заведующий учетом" - Учет затрат - Проведение по партиям ), которая предназначена:

  • для восстановления правильной последовательности учета партий материально-производственных запасов, если документы оприходования и списания были проведены задним числом;
  • для регламентированного списания стоимости партий запасов в случае, если такое списание не производилось в момент проведения документов (то есть в настройке параметров учета не был установлен флажок Списывать партии при проведении документов).

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

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

Скорректировать стоимость списания МПЗ

Если не применяется РАУЗ, то организация при закрытии месяца должна провести регламентную операцию по корректировке стоимости списанных МПЗ. Она выполняется документом (меню - Документы - Регламентные операции - Корректировка стоимости списания товаров ). Корректировка необходима для:

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

Параллельное выполнение регламентных операций

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

Рис. 8. Назначения нескольких регламентных заданий одновременно

Выбираем операцию Начислить амортизацию ОС , которая предназначена для начисления амортизации и при необходимости амортизационной премии в соответствии с настройками, сделанными при принятии основного средства к учету (вводе в эксплуатацию). Открываем окно регламентной операции двойным щелчком левой клавиши мыши по элементу, изображенному на графической схеме, и нажимаем на кнопку "Создать документы". В результате будет создан документ "Амортизация ОС", датированный последним днем закрываемого месяца. Из формы регламентной операции документ, нажав на соответствующие кнопки, можно провести и посмотреть результат проведения в бухгалтерском и налоговом учете (Рис. 9).

Рис. 9. Проведение созданного документа Амортизация ОС

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

Аналогичным образом выполняются следующие операции.

Начислить амортизацию НМА. Эта операция начислит амортизацию нематериальных активов и спишет расходы на научно-исследовательские и опытно-конструкторские работы (НИОКР) при проведении созданного документа Амортизация НМА .

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

Списать РБП. В ходе выполнения данной операции часть стоимости расходов будущих периодов будет перенесена на текущие расходы документом .

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

Рассчитать расходы по страхованию. Создаваемый при выполнении этой операции документ "Расходы на добровольное страхование" предназначен для списания расходов будущих периодов по добровольному страхованию работников в бухгалтерском (76.01.2 "Платежи (взносы) по добровольному страхованию работников") и налоговом учете (97.02 "Расходы будущих периодов на добровольное страхование работников").

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

  • Начисление зарплаты (меню Интерфейс "Расчет зарплаты работников организаций" - Расчет зарплаты - Начисление зарплаты );
  • Расчет ЕСН (меню Интерфейс "Расчет зарплаты работников организаций" - Налоги - Расчет ЕСН );
  • Отражение зарплаты в регл.учете (меню Интерфейс "Расчет зарплаты работников организаций" - Учет зарплаты - Отражение зарплаты в регл.учете ).

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

Рис. 10. Графическая схема выполнения регламентных операций по НДС

Выполнить распределение расходов по видам деятельности, нормирование расходов

При проведении документа Регламентные операции налогового учета (по налогу на прибыль) будут выполнены те регламентные операции, которые отмечены в форме диалога документа.

Распределение расходов по видам деятельности (ЕНВД/не ЕНВД). Данная операция используется, если наряду с деятельностью, подпадающей под уплату ЕНВД, осуществляется деятельность, не подпадающая под указанный спецрежим. Операция осуществляет распределение расходов, которые не могут быть непосредственно отнесены к какому-либо виду деятельности, пропорционально доле доходов от каждого вида деятельности в общем объеме доходов.

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

Рассчитать себестоимость (БУ,НУ). Рассчитать себестоимость (УУ)

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

Операция Расчет себестоимости доступна только при использовании РАУЗ. Она выполняется документом Расчет себестоимости выпуска в несколько действий, состав которых может быть различным для разных организаций (Рис. 11).

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

Рис. 11. Расчет себестоимости выпуска

Сформировать финансовый результат

Данная регламентная операция служит для определения финансового результата по доходам и расходам, отраженным в течение месяца на счетах 90 "Продажи" и 91 "Прочие доходы и расходы". Выявленный финансовый результат данным документом списывается на счет 99 "Прибыли и убытки".

Создаваемый документ также может списывать убытки прошлых лет для целей налогового учета, согласно требованиям статьи 283 НК РФ. Сумма убытков рассчитывается следующим образом: если на момент проведения закрытия месяца на счете 97.11 "Убытки прошлых лет" в налоговом учете числится дебетовое сальдо, происходит расчет сумм списания расходов будущих периодов по правилам, указанным в аналитике, построенной на справочнике Расходы будущих периодов . Полученные суммы списываются на счет 99.01 "Прибыли и убытки без налога на прибыль".

Рассчитать налог на прибыль

Документ I выполняет расчет постоянных и отложенных налоговых активов и обязательств в соответствии с нормами ПБУ 18/02 "Учет расчетов по налогу на прибыль", определяет сумму условного расхода (либо дохода) по налогу на прибыль, а также производит начисление текущего налога на прибыль в бюджет (с распределением по уровням бюджетов).

Закрыть год

Документ Закрытие года производит реформацию бухгалтерского баланса и закрытие счетов доходов и расходов в налоговом учете. Такой документ создается при закрытии декабря.

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

Рис. 12. Графическая схема завершенной процедуры закрытия месяца

Отмена выполнения регламентных операций по закрытию месяца

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

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

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

Справки-расчеты по завершающим операциям месяца

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

В их состав входят следующие справки-расчеты:

  • Переоценка валютных средств (отражаются переоцененные счета в разрезе аналитики, курсовые разницы);
  • Списание расходов будущих периодов (показывает сумму каждого РБП, отнесенную на текущие расходы, остаток несписанной суммы);
  • Нормирование расходов (отчет включает базы для нормирования представительских, рекламных и пр. расходов, суммы, учитываемые при расчете налога на прибыль нарастающим итогом за налоговый период и за закрываемый месяц);
  • Постоянные и временные разницы (отражает постоянные и временные разницы, порядок признания и списания рассчитываемых на их основе постоянных и отложенных налоговых активов и обязательств);
  • Расчет налога на прибыль (сопоставляются учитываемые и не учитываемые для целей главы 25 НК РФ доходы и расходы, выявляется финансовый результат по данным бухучета, показываются корректировки бухгалтерского финансового результата, налоговая база по налогу на прибыль, рассчитывается налог);
  • Пересчет стоимости отложенных активов и обязательств (применялся при пересчете ОНА и ОНО при законодательном уменьшении ставки налога на прибыль с начала 2009 года).

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

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

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

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

Процедуры по шагам

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

Получите 267 видеоуроков по 1С бесплатно:

Исходя из вышесказанного, проводить их целесообразно в нерабочее время. Выполнение обозначенных обработок выполняется перед закрытием месяца в базе 1С УПП 8.2, в случае использования режима учета затрат – . Если используется РАУЗ, исполнение данных обработок не предполагается.

  • Восстановить последовательность расчетов по приобретению – обработка (Восстановление последовательности расчетов).
  • Восстановить последовательность расчетов по реализации – обработка (Восстановление последовательности расчетов).
  • Восстановить последовательность партионного учета – обработка (Проведение по партиям).
  • Корректировка стоимости списания товаров – документ (приводит стоимость к средней скользящей).
  • Амортизация ОС — документ.
  • Погашение стоимости () – документ.
  • – документ.
  • Переоценка валютных средств – документ.
  • – обработка. Находит авансы полученные (остатки на счете 62.02), при нажатии кнопки «Выполнить» создает счета-фактуры на аванс, если такие счета-фактуры уже присутствуют в системе, перезаписывает их (не задваивает).
  • Подтверждение нулевой ставки НДС – документ. Заполняется в случае присутствия в системе соответствующего учета.
  • Формирование записей книги покупок – документ.
  • Формирование записей книги покупок (0%) – документ. Заполняется в случае присутствия в системе соответствующего учета.
  • Формирование записей книги продаж – документ.
  • Формирование записей книги продаж (0%) – документ. Заполняется в случае присутствия в системе соответствующего учета.
  • Расчет себестоимости – документ. Самый важный документ, закрывает затратные счета.
  • Определение финансовых результатов – документ.
  • Расчеты по налогу на прибыль – документ.

23/10/2015

Параллельное восстановление партий

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

Типовые конфигурации 1С, например, "1С:Управление производственным предприятием" (УПП) давно предлагают множество механизмов для упрощения данных расчетов, например, инструментарий механизма РАУЗ (расширенной аналитики учета затрат). Данный механизм действительно позволяет в некоторых случаях существенно упростить технически, а значит - ускорить функции расчета себестоимости. Проблема только в том, что использовать данный подход можно не всегда, и предприятиям приходится использовать старый добрый партионный учет, а вместе с ним - использовать процедуру восстановления партинного учета.

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

Первое, с чем приходится сталкиваться при выполнении проектов по оптимизации производительности процедуры восстановления партий - это устаревшие методы выполнения этой процедуры, а именно - полное перепроведение документов. Иногда это только определенные виды документов, участвующие в «партиях», иногда вообще все без разбора. Нам кажется, что данный подход идет с тех времен, когда действительно других альтернатив и не было, либо с тех конфигураций, в которых это единственный способ. Однако, сейчас для рассматриваемой нами конфигурации УПП это не так. В УПП есть более аккуратные и производительные механизмы для выполнения этих задач, а именно:

  • Процедура восстановления последовательности партионного учета (отдельно УУ, БУ, организациям)
  • Процедура восстановления взаиморасчетов (определения авансов)

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

Хорошо, но что если мы используем именно эти обработки и все равно процесс восстановления партий занимает длительное время, например, не успевает выполниться за ночь? При этом серверные мощности, чаще всего, простаивают (не имеют даже 30% загрузки).

По нашему опыту, время обработки одного документа не превышает 0,2 - 0,8 секунд и сам код по корректировке движений написан достаточно хорошо. Чтобы получить существенный прирост, нужно сократить это время, например, с 0,2 сек до 0,05, что кажется практически невыполнимой задачей, даже если рассматривать возможность изменения не только кода конфигурации, но и тотальной замены оборудования на последние поколения процессоров и систем хранения данных на Flash/SSD. Неужели нет выхода?

Оказывается, он есть! Тут нам на помощь приходит наш опыт олимпиадного программирования и пытливый ум, который шепчет, казалось бы, абсурдную фразу - давайте сделаем процесс восстановления "последовательности" - "параллельным"! Казалось бы, это невозможно, ведь мы намеренно "расставляем" документы строго друг за другом и именно так их и обрабатываем. Это и объясняет медлительность процесса - он идет в один поток, ограничен производительностью одного ядра процессора серверов, которые, как правило, имеют достаточно много простаивающих в это время других ядер.

На самом деле, расположение документов друг за другом - это некоторое упрощение, которое намеренно используется и гарантирует корректность учета, но не является единственно возможным решением. Каждый документ в последовательности зависит не от всех предыдущих документов, а только от некоторых, например, от тех документов, в которых есть та же самая номенклатура. При этом все другие документы не требуется проводить «до» нашего выбранного документа, и их можно проводить параллельно!

Откровенно говоря, подобная идея и подход конечно не новы, например, в базе знаний фирмы "1С"по технологическим вопросам есть статья (http://kb.1c.ru/articleView.jsp?id=72), которая описывала подобные подходы. В интернете также можно найти и другие подобные темы, в том числе различные интерпретации таких подходов (например, "блокировочный механизм" http://www.softpoint.ru/article_id375.htm и т.д.). Однако, проблемами всех указанных подходов является то, что они основываются на некоторых допущениях или искусственно формируемых "блоках" обработки данных, и не имеют четкой последовательности обработки. Мы захотели устранить эти недостатки, используя максимально «академический» подход, и считаем, нам это удалось.

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

Второй этап - это непосредственное восстановление (корректировка движений), только уже не по последовательности, в которой регистрируются документы платформой, а по нашему графу. При этом вот что важно - собственно код и алгоритмы формирования движений остаются полностью типовыми, а значит, конфигурация сохраняет возможность обновления. Все наши доработки находятся в отдельной подсистеме и только используют функции общих модулей, которые используются и в типовых обработках. Это гарантирует также и корректность результата - он всегда будет совпадать с типовым, последовательным восстановлением. Более того, это справедливо и для отраслевых решений (например, "1С:Управление птицефабрикой"), где в последовательности могут присутствовать специфические документы. Наличие первого этапа и дальнейший классический обход графа в глубину позволяют даже спрогнозировать и время выполнения обработки, и степень "параллельности" процесса, которая, очевидно, зависит от конкретных данных в базе. С помощью данных механизмов мы можем понять необходимые ресурсы сервера, а также эффективно управлять ими.


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


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

Вот теперь мы получили именно то, что планировали: многократное сокращение времени восстановления последовательности (более чем в 16 раз!), эффективная загрузка оборудования, удобные и гибкие инструменты для управления процессом. Но самое главное - это наш довольный заказчик, что для нас всегда является главной целью и наивысшей ценностью.


С отзывом совсем скоро Вы сможете ознакомиться на нашем сайте.

И напоследок, небольшой чек-лист для Вас.

Основные приемы восстановления последовательности, от самых простых, до самых инновационных:

  • Перепроведение документов для восстановления последовательности вы выполняете только в части тех документов, что используются в последовательности партионного учета и с сортировкой по моменту времени, а не по дате?
  • Вместо перепроведения используете специализированный механизм восстановления партий и взаиморасчетов (в УПП и аналогичных конфигурациях)?
  • Используете наше фирменное многопоточное, параллельное восстановление партий? J