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

Каждый месяц бухгалтерам необходимо установить, каковы итоги деятельности организации (Прибыль, убыток). Для этого в 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С появится еще и операция реформация баланса.

Заключение

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

Как заставить закрытие месяца не ругаться на прошлые периоды в 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. С чем пришлось столкнуться: в системе 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)
В процедуры, определяющие состояние этапов закрытия месяца, будет
встроена подсистема БСП «Оценка производительности»

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

Для чего сделана пометка на удаление объектов в 1с

Давайте ответим с Вами на вопрос "Зачем сделана эта пометка для удаления?", ведь быстрее удалить объект из 1с сразу. Сделано это по нескольким причинам:

  1. Есть вероятность того, что пользователь впоследствии передумает и захочет вернуть удаленный объект, когда стоит пометка ее достаточно снять, при интерактивном удалении восстановить данные нельзя .
  2. В 1с один объект, например документ, может ссылаться на множество других объектов в системе (справочники, константы, другие документы и т.д.), и одновременно также на этот объект (в нашем случае документ), могут ссылаться множество других объектов. Если бы в системе 1с предприятие было разрешено прямое удаление объектов из базы данных, то это привело бы к ужасным последствиям, так как сразу же бы начали появляться объекты с "битыми ссылками", а это потеря данных, и не правильное функционирование базы данных, которое рано или поздно приведет к краху базы и практически полной потери Ваших данных!

Два вида удаления в 1с, понятие контроля ссылочной целостности в 1с

В программе объекты 1с можно удалить двумя способами:

  1. С помощью интерактивного удаления (прямое удаление без контроля ссылочной целостности)
  2. Через пометку на удаление (удаление с контролем ссылочной целостности)

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

Как восстановить удаленные объекты в 1с? Что происходит с объектами после их удаления из 1с?

Подобные вопросы нам задают многие люди, и ответ тут один, физическое удаления данных из 1с (с помощью способов описанных ниже) приводит к ПОЛНОМУ УНИЧТОЖЕНИЮ ФАЙЛА ИЗ БАЗЫ! Восстановление удаленных файлов из базы не возможно.

Мы всегда готовы оказать Вам своевременную помощь в обновлении системы 1С 8.3 .

Интерактивное удаление в 1с

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

Теперь нажмем клавишу F9 , у нас копируется роль "ПолныеПрава" и появится еще одна "ПолныеПрава1". Откроем ее двойным щелчком мыши. Появится окно свойств роли, нажмем кнопку "Действия" ---> "Установить все права". После этого нажмем ОК. Теперь сохраним конфигурацию базы данных, для этого нажмем на синенький бочонок в левом верхнем углу, или нажмем клавишу F7. Если бочонок стал неактивным значит конфигурация сохранилась. Мы создали роль с правами на интерактивное удаление объектов из 1с .

Теперь в конфигураторе откроем вкладку Администрирование ---> Пользователи.

Откроется список пользователей, выберите пользователя под которым Вы хотите включить интерактивное удаление 1с объектов и нажмите карандашик или F2. Откроется окно свойств пользователя, перейдите на вторую вкладку "Прочие". Там найдите ту роль которую мы с Вами копировали, в моем случае это "ПолныеПрава1", ставим галочку и жмем OK.

После этого запускайте 1с предприятие, выбирайте того пользователя которому установили новую роль. Теперь Вы можете удалять объекты напрямую, чтобы удалить объект выберите его и нажмите сочетание клавиш SHIFT + DEL, система спросит уверены ли вы в удалении, при положительном ответе объект будет удален из системы.

Удаление объектов 1с через пометку на удаление или как удалить объекты в 1с?

Теперь давайте рассмотрим с Вами вопрос "Как удалить объекты в 1с? ". Итак, открываем нужную нам базу данных в 1с предприятии. На скриншоте показана "Бухгалтерия государственного учреждения", щелкаем в меню по вкладке "Операции" ---> "Удаление помеченных объектов ".

Если у Вас управляемый интерфейс, как например в "Бухгалтерии предприятия ред. 3.0", то там Вам нужно перейти на вкладку "Администрирование", там Вы увидите подгруппу "Сервис", и уже в ней нужно выбрать "Удаление помеченных объектов ".

Альтернативный способ открытия помощника удаления объектов в 1С 8.2 и 1С 8.3

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

Если же Вы работаете на платформе 1С 8.3 и у Вас конфигурация с управляемым интерфейсом, то Вам необходимо включить кнопку "Все функции", как это сделать смотрите .

Начало поиска помеченных на удаление объектов в 1с

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

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

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

Необходимость своевременного удаления помеченных на удаление объектов в 1с. Как удалить объекты помеченные красными галочками?

Рассмотрим пример на конфигурации "Бухгалтерии предприятия". У нас есть документ "Принятие к учету ОС", в нем соответственно указывается основное средство (например компьютер) и множество других параметров, но они нас в данный момент не интересуют. Если мы захотим удалить это ОС из нашей базы данных, то без дополнительных действий у нас ничего не выйдет. Наше ОС (компьютер) будет помечено красной галочкой при попытки его удаления. Почему? А ведь наш документ "Принятие к учету ОС" имеет ссылку на то ОС которое мы сейчас хотим удалить! Когда мы щелкнем на него в списке объектов, то увидим все объекты которые ссылаются на наше ОС, и прежде чем удалить это ОС, нам нужно сначала зайти во все эти объекты и удалить ссылки. В нашем случае это означает что нужно отменить проведение документа "Принятие к учету ОС", и удалить это ОС из документа, после чего записать документ. Теперь документ более не ссылается на наше ОС, и мы можем его удалить. Из всего этого следует одно правило, удалять объекты помеченные на удаление в 1с нужно своевременно ! Иначе потом избавиться от них может быть очень и очень проблематичным делом, ввиду того что между объектами будет большое количество ссылок. Кстати своевременное удаление объектов из 1с также имеет несколько очевидных плюсов:

  1. Увеличивается производительность системы
  2. Уменьшается вероятность ошибок пользователей
  3. Уменьшается размер вашей базы данных
  4. Не возникает "захламленности интерфейса", когда в системе имеется много помеченных на удаление объектов, проведенных документов, а также не проведенных.

В нашей компании Вы всегда получите первоклассное обслуживание программы 1С по очень приятным ценам!

Завершение удаления помеченных объектов в 1с

Теперь давайте удалим объекты до конца. Нажимаем кнопку "Удалить". Система удалит все объекты которые были отмечены зелеными галочками.

Останутся только те которые помечены красными галочками, нажимаем "Закрыть", на этом процесс удаления объектов из 1с завершен. Если у Вас что-то не получилось мы готовы подключиться к Вашей 1с удалённо и помочь решить Ваши задачи.

1с удаление помеченных объектов, подробная видео-инструкция про удаление объектов 1с

  • Рассказываем для чего нужна пометка на удаление в 1с
  • Показываем на примере как удалить в 1с объекты
  • Даются полезные практические советы
  • Показываем как удалять в 1с объекты помеченные красными галочками
  • Также приводится много другой полезной информации

Мы надеемся что наша статья про удаление в 1с объектов помеченных на удаление очень Вам помогла, и ответила на все Ваши вопросы.