Бизнес портал - StatusPro

Не удалось записать задания к закрытию месяца. Расчет себестоимости и его Откат в ERP: практика применения

Как заставить закрытие месяца не ругаться на прошлые периоды в 1С:Бухгалтерия 8.3 (редакция 3.0)

2018-11-02T12:29:21+00:00

Все мы знакомы с такой замечательной регламентной операцией как "Закрытие месяца" в 1С:Бухгалтерии 8.3 (редакция 3.0).

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

Начинаешь закрывать предыдущий период, а она снова требует перепровести ранние периоды.

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

Делаем резервную копию

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

Вдумчиво читаем ошибки

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

Дальше. Вдумчиво вчитывайтесь в ошибки, которые пишет программа. Делайте пропуск операции только в самом крайнем случае. Обычно достаточно правильно настроить параметры и корректно провести закрытие первого месяца в году и дальше всё идет как по нотам. Потратьте время, разберитесь с этими ошибками один раз и забудьте про них навсегда.

Но вот, предположим у нас уже закрыты все года до 2013 (или нам вообще перенесли все документы из старой редакции 2.0 в 1С 8.3) и нам нужно делать закрытие 2013 года, не изменяя прошлые года. Начинаем проводить закрытие января 2013 года, а программа ругается - мол повторите закрытие декабря 2012! Не поддавайтесь. Потому что если начнете перепроводить закрытие 2012 - поползут все цифры, а год уже закрыт.

Обманываем программу

В этом случае правильно заставить 1С:Бухгалтерию 8.3 думать, что 2012 год закрыт верно и перепроводить там ничего не нужно.

О том как это сделать ниже по шагам.

Очищаем регистр "Неактуальные регламентные операции"

  1. Откройте пункт меню "Все функции". О том как это сделать написано .
  2. Найдите в открывшемся окне пункт "Регистры сведений". Раскройте его на плюсик.
  3. В списке регистров найдите пункт "Неактуальные регламентные операции ". Откройте его.
  4. Удалите все элементы из этого окна. Выделяйте по очереди и нажимайте Delete или кнопку удаления на панели.

Настраиваем регистр "Исключенные из перепроведения месяцы"

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

Теперь прямо в закрытии месяца можно кликнуть по ссылки "Перепроведение документов" и выбрать вариант "Перепроведение не требуется".

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

Ваша задача создать на каждый месяц 2012 года (напоминаю, что мы пытаемся делать закрытие 2013 года, а 1С ругается на то, что нужно перепроводить 2012) отдельную запись в этом регистре (при помощи кнопки Создать):

Исключим из перепроведения январь 2012 - запись будет такой:

Нажмём кнопку "Записать и закрыть".

Затем февраль 2012:

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

Какие ещё есть варианты?

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

Читательница из Брянска пишет:

В 1с 8.3 работаем с 2016 г., а сама фирма с 2013 года. Сейчас попробовала удалить приемы на работу сотрудников с 2013, приняла их с 01.12.15 года (остатки по з/п вводила). И ВСЕ ЗАРАБОТАЛО)))) УРА!

Иван Ватумский делится своим случаем:

Пользователи перепровели документы в 2015, после чего потребовалось вновь перезакрыть 2015 год.

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

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

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

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

Обработка «Закрытие месяца» в 1С 8.3 позволяет пошагово автоматизировать регламентные операции, которые нужно выполнять по окончании месяца. К ним относится , расчеты по , формирование книги покупок и продаж, расчет долей списания косвенных расходов и многое другое.

Данная обработка находится в меню «Операции» — «Закрытие месяца».

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

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

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

Первым делом перед тем, как приступить к закрытию месяца в 1С 8.3, необходимо . Найти ее можно, перейдя по одноименной гиперссылке в карточке элемента справочника «Организации».

В рамках данной статьи мы не будем рассматривать данный функционал подробно. Подробнее о настройке учетной политике вы можете прочитать в статье .

Обработка «Закрытие месяца»

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

Шаг 1

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

В нашем примере сформировались следующие движения:

Следующим этапом производится начисление амортизации с созданием соответствующих проводок.

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

Шаг 2

Следующим шагом будет выполнен расчет долей списания косвенных расходов. В данном случае программа производит промежуточные расчеты для закрытия затратных счетов (20, 23, 25, 26, 44).

Шаг 3

В этом шаге производится закрытие затратных счетов: 20, 23, 25, 26, 44. Будьте внимательны при произведении данных операций. Они влияют на . В нашем случае разнесение производится на 90 счет.

Шаг 4

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

Если закрывается год, то в 1С появится еще и операция реформация баланса.

Заключение

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

12.07.2017

Как осуществить групповое перепроведение документов в «1С:КА» и «1С:ERP»?

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

Для группового перепроведения документов необходимо выполнить следующее:

1. Меню: Главное меню - Все функции Стандартные Проведение документов .

2. Если команда «Все функции» не отображается, следует включить ее использование с помощью команды «Главное меню» – «Сервис» – «Параметры» .

3. В обработке «Проведение документов» нажмите на кнопку «Добавить все» для перепроведения всех документов.



4. Если необходимо перепровести только определенные типы документов, то для добавления используйте кнопку «Добавить» .

6. Кнопка «Провести» .

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

· Задания к закрытию месяца.

· Задания к заполнению этапов производства.

· Задания к отражению в бюджетировании.

· Задания к отражению экземпляров бюджета.

· Задания к погашению стоимости ТМЦ в эксплуатации.

· Задания к распределению расчетов с клиентами.

· Задания к распределению расчетов с поставщиками.

· Задания к расчету графика производства.

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

· Задания к расчету себестоимости.

· Задания к формированию записей книги покупок/продаж.


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

Более подробная информация представлена на сайте 1С:ИТС .

1. С чем пришлось столкнуться: в системе erp отключен партионный учет, метод оценки по средней, учет по видам запаса отключен. Казалось бы, что может быть еще проще, но себестоимость упорно не закрывалась процедурой закрытия месяца.

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

Наличие или же отсутствие таковых, можно отследить в том же универсальном отчете с настройкой:

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

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

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

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

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

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

Если учет по виду запасов включен , то увидеть и проанализировать корректность оборотов вы можете через тот же универсальный отчет, настроив его по регистру Себестоимость товаров – остатки и обороты, или же через типовой отчет 1с с одноименным названием.

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

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

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

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

Под откатом будем понимать зачистку тех движений, которые сделал блок расчет себестоимости в обработке закрытия месяца. А технология работы расчета в erp интересная: блок расчета себестоимости обслуживает 12 регистров, и произведенные расчеты «дописывает» к имеющимся уже записям первичных документов. Такие записи имеют признак «расчет себестоимости» = Истина.

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

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

Регистр сведений «Стоимость товаров» - это базис, от которого потом будут рассчитывать суммовые обороты по обслуживаемым регистрам, в том числе и регистре «Себестоимость товаров» и замыкающем расчет регистре «Выручка и себестоимость продаж».

На первом этапе Стоимость товаров образуется по формуле:

(Стоимость начальный остаток + Стоимость прихода за период) / (количество нач. остаток + количество прихода за период).

Перемещения в данную формулу не входят, входят именно поступления, оприходования и тд.

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

Актуальность партий: не смотря на то, включен у вас партионный учет или нет, и не смотря на то, что система имеет ряд чисто партионных регистров, например тот же «партии нзп (реквизит Документ источник и Документ Выпуска)», 1С ввела ноу-хау: рефакторинг партионного учета – оценка производится в целом за месяц, именно поэтому в системе теперь не надо соблюдать последовательность ввода документов! Главное что бы на начало и конец отчетного периода не было отрицательных сальдо по регистрам, например «Товары организаций», «Себестоимость товаров»....

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

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

Обслуживаемые регистры блоком РС:

  1. Движения Номенклатура Номенклатура
  2. Движения Номенклатура Доходы Расходы
  3. Прочие Расходы (кэш остатков)
  4. Прочие Доходы (кэш остатков)
  5. Себестоимость Товаров (кэш оборотов) (кэш остатков)
  6. Прочие Активы Пассивы
  7. Прочие Расходы Незавершенного Производства
  8. Закупки
  9. Финансовые Результаты
  10. Выручка И Себестоимость Продаж (кэш оборотов)

//во всех этих регистрах есть реквизит РасчетСебестоимости

  1. Стоимость Товаров

//регистратором является только документ Расчета себестоимости

  1. Партии Производственных Затрат

//регистраторы Передача материалов в производство, Списание затрат на выпуск

  1. Партии незавершенного производства

//регистраторы Списание затрат на выпуск, Выпуск продукции

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

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


Вернемся к откату РС : либо напищите свою процедуру, которая произведет очистку записей сделанных РС в регистрах, либо в общем модуле РС включите нужный параметр в Функции ИнициализироватьПараметрыРасчета . Приведу параметры из данной процедуры, которые мне были интересны и я их задействовала (скопировала прямо из общего модуля с комментами 1с):

// 2. Данное свойство позволяет очистить все старые расчетные движения перед новым расчетом - эмулирует первый расчет периода. // Следует использовать только для отладки, т.к. очистка может выполняться достаточно долго. ПараметрыРасчета.Отладка.Вставить("ОчищатьСтарыеДвижения", Ложь);

Это и есть откат РС если установить значение параметра Истина. Я же оставляю в значении ложь так как написала свой Откат РС.

// Многопоточная запись (если запущено не в файловой ИБ и не из регламентного задания) // Стабильность многопоточной записи на разном железе зависит от сочетания нескольких факторов: // - количества активных фоновых заданий (чем больше заданий, тем больше надо памяти для сервера Предприятия) // - количества движений, записываемых одним заданием (чем больше движений - тем больше памяти надо этому заданию) // - одновременности выполнения записи одного регистра разными заданиями (чем больше заданий пишет один регистр, //тем больше вероятность возникновения ошибок, например, "Lock request time out period exceeded") ПараметрыРасчета.Вставить("МаксимальноеКоличествоФЗ", ?(ОбщегоНазначения.ИнформационнаяБазаФайловая() ИЛИ ПредварительныйРасчет, 1, 5)); // максимальное количество одновременно выполняемых заданий записи

В моем случае система обрушалась с ошибкой форматного потока, поэтому я привела данный параметр к значению файловой базы (то есть вместо 5 поставила 1). Что еще мне это дало – я всегда работаю во время закрытия с журналом регистрации и при отключенном многопоточном режиме, можно увидеть последовательность закрытия и расчета регистров, а так же увидеть ошибки и во время остановить закрытие.

// 4. Для анализа решения СЛУ можно сохранить таблицы, используемые при решении СЛУ, в виде файлов mxl в указанный каталог. // Если имя каталога не заполнено, сохранение таблиц не выполняется. //ПараметрыРасчета.Отладка.Вставить("КаталогДляСохраненияДанныхСЛУ", ""); //1С код ПараметрыРасчета.Отладка.Вставить("КаталогДляСохраненияДанныхСЛУ", "C:\РешениеСЛУ"); //код мной подправленный

P/ S :

1. Как возникло понятие «многопоточность фоновых заданий»:

Предстояло закрытие 13 месяцев и как было отмечено выше, база обладала большим документооборотом: на одно только отмена / проведение документов перемещений за один месяц уходило двое суток. Так вот, при закрытии месяца система почему то падала с ошибкой «Ошибка формата потока», что приводило меня в шок. Тестирование и исправление информационной базы (все пункты входящие в него были сделаны) не давали результатов. Тогда начинаю сильно дружить с журналом регистрации: отслеживаю на каком именно этапе идет обрушение системы. Выяснилось: на этапе работы блока расчета себестоимости, а именно при записях рассчитанных данных РС в обслуживаемые регистры. При этом в журнале все «скакало и прыгало» - то есть было видно что отработка идет параллельно нескольких регистров и собственно понять что за чем и в какой последовательности считается / записывается не представлялось возможным, как не представлялось возможным понять на каком регистре систему выбивает (на данный этапе вопрос мучал только – таблица какого регистра в sql «покалечена»?). Тогда начинаю сильно дружить с общим модулем Расчета Себестоимости, буквально разбирая его на косточки. Вот в этом то процессе (и спасибо 1с за щедрые комменты в модуле) и был найден параметр РС, который определял многопоточность фоновых заданий. Что это значит – это значит мы говорим системе, что она должна считать и записывать сразу несколько обслуживаемых регистров или все таки по одному последовательно. Поразмыслив и оперевшись на высказывание «тише едешь – дальше будешь» привожу данный параметр к значению файловой базы – то есть в место значения 5 ставим 1. Собственно сделано это было с целью отследить на каком регистре система рушиться, а в итоге отработка блока РС прошла полностью без обрушений! При этом был получен еще один плюс: теперь в журнале регистрации можно было последовательно увидеть что и за чем считается и пишется расчетом и как практика показала это потом очень пригодилось.

2. Как вышла на ошибку в данных по видам запасов.

Как уже было сказано выше, по закрытии месяца имелись ошибки по расчету себестоимости: наличие суммовых остатков по нулевому количеству. Беру одну из позиций (работу ведем с универсальным отчетом по регистру себестоимость товаров с разворотом по регистратору), такую в которой у меня был остаток на начало месяца по количеству и сумме и весь этот количественный остаток со склада передавался в производство (просто удачный случай для отслеживания получения чистой суммы). По смыслу уйти в производство данная позиция должна была с суммовым показателем в себестоимости равным начальному суммовому остатку, но у меня она уходила по такой сумасшедшей стоимости что ну просто безобразие! Начинаю размышлять: что могло увеличить стоимость материала? Это могли быть дополнительные расходы имеющие направление распределения на стоимость товара. Тогда начинаю разборки таковых статей и на что они распределились через тот же универсальный отчет, но уже по регистру партии прочих расходов, с отбором

Проанализировав результат работы данного отчета, сделан вывод: ни один дополнительный расход не имеет отношения к «проблемной позиции». Продолжаю думать: что же могло настолько увеличить стоимость товара? Принимается решение углубиться в дружбу с модулем РС.

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

//// Этап 3.2 // Формирует временную таблицу ВТДопРасходов (для фактического расчета она пустая) //- это распределение поступивших расходов по статьям на себестоимость товара РаспределитьРасходыНаСебестоимость(ПараметрыРасчета); //// Этап 3.3 // Формирует временную таблицу ВТВозвраты (для фактического расчета она пустая) // Формирует движения по регистрам (если выполняется фактический расчет): // - СебестоимостьТоваров // - ВыручкаИСебестоимостьПродаж // - ПрочиеРасходы // - ПрочиеДоходы // - ДвиженияНоменклатураДоходыРасходы // - ДвиженияНоменклатураНоменклатура СкорректироватьСтоимостьВозвратовПрошлыхПериодов(ПараметрыРасчета); //++ НЕ УТ // Этап 3.4 // Формирует временные таблицы ВтАналитикаУчетаРасходов, ВтНезавершенноеПроизводство РаспределитьПрочиеРасходыНезавершенногоПроизводства(ПараметрыРасчета); // Этап 3.5 // Формирует временную таблицу ВтПередачиТоваров СформироватьТаблицуПередачМеждуОрганизациями(ПараметрыРасчета); // Этап 3.6 // Формирует временную таблицу ВтУзлыКорректировки СформироватьУзлыКорректировкиСписанияСтоимости(ПараметрыРасчета); //Является ключевым моментом в расчете и главное себ-ть на начало периода Если ПараметрыРасчета.КоличествоУзлов <> 0 Тогда // Этап 3.7 // Формирует временные таблицы ВтТаблицаРешений, ВтПеремещенияСписания РассчитатьСтоимость(ПараметрыРасчета, Ложь); // Этап 3.8 // Формирует движения по регистрам: // - СтоимостьТоваров ЗарегистрироватьСтоимость(ПараметрыРасчета, Ложь); КонецЕсли;

……………………….. и т.д….

Сконцентрировать внимание стоит на процедурах:

- здесь формируется временная таблица узлов корректировки на базе которой будет сформирован запрос в процедуре РассчитатьСтоимость и от туда результат данного запроса уйдет в процедуру РешитьСЛУ , в которой, при прочтении была обнаружена возможность задействовать параметр по сохранению произведенных расчетов во внешний файл:

// 4. Для анализа решения СЛУ можно сохранить таблицы, используемые при решении СЛУ, // в виде файлов mxl в указанный каталог. //Если имя каталога не заполнено, сохранение таблиц не выполняется. ПараметрыРасчета.Отладка.Вставить("КаталогДляСохраненияДанныхСЛУ", "C:\РешениеСЛУ"); // значение C:\РешениеСЛУ поставила я, в 1с коде параметр не заполнен.

Именно это сохранение во внешний файл очень пригодилось!

Так вот, если вернуться к вопросу «что могло увеличить стоимость товара?» , концентрируем свое внимание на процедуре СформироватьУзлыКорректировкиСписанияСтоимости . В нимательно изучаются пакеты запросов входящие в него и делается вывод, что ключевыми в пакетах и их соединении являются измерения «Вид запасов » и «Аналитика учета номенклатуры ». Ну с аналитикой все просто в конкретно моем случае: в системе не ведется учет по сериям и характеристикам. Остается вид запасов. Начинаю играть пакетами запроса:

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

Ну Хорошо. Вернее плохо..

Тогда во всех пакетах запроса в место

*.ВидЗапасов КАК ВидЗапасов, //(* - имя таблицы, на которой построен пакет) //ставлю: Справочник.ВидЗапасов.ПусстаяСсылка КАК ВидЗапасов //(у меня нет учета по виду запасов, значит он д.б. пустой)

запускаю на отработку процедуры, получаю внешний файл и вот оно чудо: стоимость по проблемной позиции получается = (стоимость начальный остаток / количество начальный остаток) . (напомню по проблемной позиции не было прихода в отчетном периоде а был только начальный остаток, а если бы был приход то считайте по формуле: (стоимость начальный остаток + стоимость прихода/ количество начальный остаток + количество приход)) .

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

3. Как возникла мысль об откате себестоимости

«Ну Все, сколько можно!» сказала я себе после очередного не удачного закрытия, исправления ошибок первички, и отмене / проведения документов за месяц, занимающего несколько суток, нервов и т.д. и т.п. Села и написала обработку – кнопочку по откату себестоимости. В общем и в основном, задавшись вопросом «как же сделать так, что бы не дергать все время первичку при неудачных закрытиях», вооружившись крепкой дружбой с журналом регистрации, в котором путем отслеживания последовательности расчетов и изучением протоколов (спасибо 1с за это!), был определен круг регистров, записи в которые дописывает РС, с соответствующим признаком и как следствие их надо просто очистить. К 11 регистрам, указанным в протоколе добавила еще отмену / проведение документов распределения расходов на себестоимость продукции, для сброса всех движений сделанных ими, а так же зачистку регистра Партии НЗП, что бы РС снова все в нзп пересчитал – ну так на всякий случай. Метить документы с подчищенными движениями РС к отражению, как было доказано опытным путем, не надо – РС сам делает к отражению документы, в которых дописывает движения. Таким образом, исходя из наличия большого документооборота, откат РС стал занимать всего лишь 3- 4 часа, а полное закрытие месяца (все пункты процедуры закрытия месяца) в пределах 12 часов, из которых блок РС занимает так же около 3-4 часов.

Цели проектаЦели проекта
Параллельное закрытие месяца по нескольким организациям.
Настройка технологических параметров расчета этапов закрытия месяца.
Доработки этапа расчета партий и себестоимости.
Исправление проблем при определении состояния этапов «Формирование
резервов по сомнительным долгам» и «Формирование финансового
результата».
Прочие доработки закрытия месяца.
2

Будет реализована возможность одновременного запуска нескольких сеансов
закрытия месяца по разным организациям
Расширено использование существующего регистра сведений
ВыполнениеОперацийЗакрытияМесяца: помимо информации о завершенных
расчетах в нем теперь хранится информация и о выполняющихся расчетах
Для этого в регистр добавлены поля «РасчетВыполняется» (признак
незаконченного расчета), «ИдентификаторРасчета» (GUID расчета)
«ИнформацияОЗапускеРасчета» (кто и когда запустил расчет)
При запуске расчета в регистр добавляются записи по организациям, для которых
выполняется расчет, с признаком РасчетВыполняется = Истина
При окончании расчета эти записи из регистра удаляются
Перед запуском расчета выполняется проверка наличия записей регистра по
организациям, для которых планируется выполнить расчет: если хоть по
одной организации есть запись в регистре, то запуск расчета запрещается
Для администратора будет реализована возможность скорректировать
данные регистра в случае аварийного завершения сеансов закрытия месяца
в форме закрытия месяца: «Еще» - «Активные сеансы закрытия месяца»
3

Несколько сеансов закрытия месяца

4

Будет добавлена возможность выбора нескольких организаций для закрытия
месяца
сейчас запустить закрытие месяца можно или по всем организациям
сразу, или по какой-то одной организации
станет возможно выбрать несколько любых организаций для выполнения
расчета
при этом будут учитываться связи организаций (по схеме Интеркампани и
по совместному использованию ОС и НМА): связанные организации
можно будет выбрать только все вместе
5

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

6

Некоторые этапы закрытия месяца имеют «внутренние» параметры,
оказывающие влияние на результат расчета или на скорость выполнения
расчета – теперь администратор сможет изменять данные параметры
Добавляется константа НастройкиЗакрытияМесяца с типом «Хранилище
значения» в которой будут храниться все настраиваемые параметры
Добавляется форма, в которой выполняется настройка параметров
в форме закрытия месяца: «Настройки» - «Настройка параметров операций
закрытия месяца»
7

Технологические параметры расчета

8

Доработки этапа расчета партий и себестоимости

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

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

Доработки этапа расчета партий и себестоимости (продолжение)

Будет добавлена проверка заполнения обязательных полей в формируемых
при расчете движениях: если сформировано некорректное движение, то
фиксируется ошибка, движение «отбрасывается» и расчет продолжается
В регистры накопления, по которым механизмом партионного учета
формируются движения, будет добавлен служебный реквизит
«РасчетНеЗавершен» с типом «Булево», который позволит увидеть
движения, для которых не была подобрана партия
Для повышения скорости расчета будет выполнен ряд доработок в
программном коде и в запросах механизма расчета партий
11

Доработки других этапов закрытия месяц

Для этапов
«Формирование резервов по сомнительным долгам»
«Формирование финансового результата»
будет добавлена поддержка регистра «Задания к закрытию месяца» для точного
определения необходимости пересчета этих этапов:
При изменении данных регистра бухгалтерии будут формироваться задания для
пересчета финансового результата
При изменении данных в регистрах взаиморасчетов будут формироваться задания
для пересчета резервов по сомнительным долгам
12

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

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