Обработка восстановление последовательности 1с 8.3. Бухучет инфо

Каждую ИТ систему по ведению учета на предприятии можно разделить на две условные категории с точки зрения хронологической коррекции данных:

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

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

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

1) При изменении задним числом возникает относительно большой временной интервал между самим изменением и восстановлением последовательности в 1С.

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

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

Документы БД (усреднённая статистика):
Приходная накладная: 10 документов в день по 500 строк.
Расходная накладная: 100 документов в день по 100 строк.
Приходный кассовый ордер: 100 документов в день (без табличной части).
Расходнный кассовый ордер: 100 документов в день (без табличной части).
Регистры учета:
ОстатокТовараПоПартиям(Товар,Партия,Количество)
ОстатокТовара(Товар,Склад,Количество)
Взаиморасчеты(Клиент,Документ,Сумма)

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

Что произойдет, если мы поменяем данные по одной строчке товара приходной накладной 10-и дневной давности?

Что бы рассчитать количество связанных документов необходимо учитывать структуру регистров, по которым ведется расчет. Соответственно для того, что бы восстановить последовательность необходимо пересчитать все документы, которые участвуют в движении по регистрам измененного товара за 10-ть дней. Однако, как правило, мы не знаем в типовой реализации какую именно позицию мы меняли и поэтому пересчитываются все документы за данный период. Учитывая, что измененная строка в приходной накладной могла повлиять на взаиморасчеты нам приходится пересчитывать и ПКО и РКО. Итого получается необходимо даже после одной измененной строки провести порядка Кол.Документов=(10+100+100+100)=310 документов и соответственно обработать (500*10+100*100+100*1+100*1) = 15200 строк! Вдумайтесь еще раз в эти цифры! Даже одна измененная строка задним числом предполагает такую ресурсоемкую обработку.

В чем же причины такого неэффективного механизма восстановления последовательности в 1С?

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

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

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

Включение логирования на T-SQL, следствием которого является ведение надежного лога по изменению в регистрах движения.
В дальнейшем специальной обработкой можно будет получать связанные последовательностью документы. Для восстановления последовательности нам необходимо будет перепроводить только их. Обработку написать эту довольно не сложно – фактически это запрос по регистрам с отбором по измерениям которые были изменены. Можно обойтись и без логирования , но это менее надежно и более трудоемко (например запоминая состояние до записи документа и после а потом записывать эту информацию в отдельный справочник).

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

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

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

Краткое описание технической реализации:

Включение логирования на T-SQL, следствием которого является ведение надежного лога по изменения в регистрах движения. Реализуются специальные процедуры позволяющие очищать выборочно движения по регистрам. Отдельно производится анализ конфигурации и изменения в ней соответствующие концепции выборочной обработки движений по регистрам учета.
С помощью технологии внешних компонент можно реализовать процедуру которая будет аналогом процедуры ОчиститьДвижения(<ВидыДвижений>) 1С – только будет более расширенной.
А именно: ОчиститьДвиженияПоИзмерениям(<ВидыДвижений>,Измерения,СписокЗначений) - Эта процедура будет очищать не все движения по документу тем самым пересчитывая ненужную информацию и расстанавливая дополнительные блокировки а выборочно по списку значений. Как правило, это будет разница между табличной частью проведенного документа до изменения и после.
Соответственно если в табличной части были изменены 3-и позиции из 100, то удалятся только 3-и позиции. Естественно процедура будет удалять не только движения по документу, но и производить агрегационный пересчет остатков по периодам хранения. Однако это, к сожалению не все и править конфигурацию все равно придется.
Рассмотрим, какие именно изменения нужно будет произвести что бы эти изменения работали корректно. В первую очередь это анализ остатков. Тут необходимо понимать, что в проведении документа большинство времени уходит не на удаление записей, а именно на расчет остатков. Если мы знаем что остатки по 97-и позициям из вышеприведенного примера не изменились, то рассчитывать их имеет смысл только по 3-м измененным позициям. Соответственно необходимо произвести тщательный анализ конфигурации и выполнить соответствующие изменения.

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

Преимущества: Максимальная селективность в процедуре восстановления последовательности. Обрабатывается только связанная информация. Минимальное время между изменением и восстановлением последовательности. В случае не массовых изменений задним числом время восстановления будет ускоренно более 100-и раз.(вообще то разница зависит от объема изменения). Минимальная нагрузка при перепроведениии.
Недостатки: Относительная сложность внедрения. Необходимо изменять модуль конфигурации. При добавлении новых объектов необходимо учитывать специфику реализации.

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

Компания "СофтПоинт" представляет готовое решение , которое позволит снять проблему восстановления последовательности.

Как в программе 1С 8.3 Бухгалтерия перепровести группу документов?

При исправлении документов задним числом, почти всегда в 1С 8.3 требуется перепроведение документов, имеющих дату и время больше, чем у документа, который исправляли. Рассмотрим как исправить это и как перепровести документы в 1С 8.3 Бухгалтерия.

Перепроведение документов в 1С 8.3 Бухгалтерия специальной обработкой

Обработка группового перепроведения находится в меню «Все функции»:

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

И установить соответствующий флажок:

Если «Сервис» недоступен, обратитесь к специалисту, который настраивал права доступа.

И так, выбираем команду «Все функции». В открывшемся окне выбираем в разделе «Стандартные» строку «Проведение документов»:

Откроется окно обработки проведения:

На закладке «Проведение документов» выбираются типы документов, которые нужно провести или перепровести (в зависимости от настройки флажков).

Внимание! Если вы планируете только перепровести уже проведенные документы, но не желаете проводить не проведенные документы, обязательно снимите флаг «Проводить проведенные»:

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

Кроме этого, желательно знать, какие виды документов связаны.

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

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

Перепроведение при закрытии месяца

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

Иногда бывают случаи, когда документ не меняли, но случайно перепровели. Граница установиться на этот документ. К сожалению, в 1С: «Бухгалтерии 3.0» нет штатной возможности вручную вернуть границу на нужное место, хотя в прежней версии была. Но в интернете можно найти внешние обработки, позволяющие это сделать.

По материалам: programmist1s.ru

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

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

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

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

В открывшемся окне поставьте галочку «Отображать команду Все функции»:

Закройте окно параметров и откройте главное меню ещё раз. В нём должен отдельным пунктом появиться «Все функции…». Нажмите на него:

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

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

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

После завершения программа выдаст окно с коротким отчётом:

Другой вариант проведения документов – с помощью встроенной обработки. Как и в п. 3, откройте меню Все функции. Выберите в списке обработок «Групповое перепроведение документов»:

В открывшемся окне укажите период, выберите организацию и нажмите Выполнить:

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

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

Мы рассмотрели два варианта группового проведения документов в 1С 8.3. Их возможностей достаточно для исправления нарушенной последовательности проведения документов.

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

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

Октябрь 1st, 2012

Инструкция для «1С: Предприятие 7.7. Торговля и Склад»

ВНИМАНИЕ!!! Выполнение восстановления последовательности документов обязательно перед выгрузкой данных из «Торговли и Склад» в «Бухгалтерию». При нарушении последовательности документов данные отчетов могут быть!!!НЕАКТУАЛЬНЫ!!!

I. Делаем архивную копию базы данных

1. Запускаем программу в режиме «Конфигуратор». При этом все сеансы пользователей, работающих с программой должны быть закрыты.

2. Выбираем пункт меню АДМИНИСТРИРОВАНИЕ | СОХРАНИТЬ ДАННЫЕ. Появится окно:

3. В поле «Сохранять в:» указываем имя файла резервной копии. В имени указываем дату копии.

5. При удачном завершении появится окно:

6. Внизу в окне сообщений будет выведена запись «Процедура сохранения данных завершена!»

Если при сохранении архива произошла ошибка, о чем будет сообщено, обратитесь к системному администратору (если сами таковым не являетесь:)).

7. Закрываем Конфигуратор.

II. Восстанавливаем последовательность.

1. Открываем программу в режиме «Предприятие» монопольно.

2. В меню ОПЕРАЦИИ | КОНСТАНТЫ меняем константу «Дата запрета редактирования» на дату раньше, чем нарушенная граница последовательности (ГП).

3. Например, если ГП находится на документе с датой 12.12.08, а Дата запрета редактирования установлена 31.12.08, тогда следует изменить Дату запрета редактирования на 11.12.08 либо еще раньше.

4. Выбираем пункт меню ОПЕРАЦИИ | ПРОВЕДЕНИЕ ДОКУМЕНТОВ. Появится окно, в котором необходимо выбрать вторую закладку «Последовательности»:

5. Выбираем дату, по которую необходимо восстановить последовательность. Обычно это текущая дата.

6. Отмечаем галками все три последовательности.

7. Ставим галку «Выводить сообщения о пересчитанных документах»

8. Нажимаем кнопку «Выполнить».

9. Следим за ходом выполнения обработки. В окне сообщений выводятся обработанные документы. В окне «Комментарий выполняемых действий» выводятся результаты проведения документов.

При удачном завершении программа выдаст сообщение «Восстановление последовательности документов завершено».

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

В этом случае закрываем окно «Проведение документов».

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

Если устранить ошибку быстро не удается (!!! НЕ ЗАБЫВАЕМ, ЧТО РАБОТАЕМ В МОНОПОЛЬНОМ РЕЖИМЕ, И ЖЕЛАЮЩИХ ПОПАСТЬ В БАЗУ ОЧЕНЬ МНОГО!!!), тогда прекращаем процесс восстановления и переносим точку актуальности (ТА) на последний документ в системе, иначе работа в программе будет невозможна.

Можно восстановить последовательности и не в монопольном режиме, но медленнее. Для этого берем обработку
sequence.rar

Перенос точки актуальности итогов (ТА)

1. Открываем общий журнал документов

2. Находим самый последний документ в системе (при этом Быстрый отбор должен быть отключен (установлен в значение «отсутствует»), иначе ТА будет перенесена некорректно)

3. Щелкаем на последнем документе правой кнопкой мыши и выбираем «Установить ТА на документ»

На вопрос «Изменить точку актуальности итогов?» отвечаем «ДА».

будет выведено окно:

4. Ничего не отмечаем и нажимаем «Выполнить».

5. В результате будет выдано сообщение «Изменение ТА завершено».

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

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

Приведем простой пример. У вас было 100 единиц товара на складе. В январе вы списали 50 единиц и в феврале 50. Через какое-то время вы зашли в первый документ и изменили в нем количество на 100. В результате документ от февраля будет неправильным, так как получилось так, что в феврале остатка данного товара уже нет.

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

Для начала разберемся где найти обработку перепроведения в 1С. Функционал доступен в меню «Все функции».

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

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

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

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

Проведение документов

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

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

Если вам нужно перепроводить те документы, которые уже проведены, установите флаг в пункте «Перепроводить проведенные». В том случае, когда вам нужно провести те документы, которые на текущий момент не проведены, установите флаг на втором пункте – «Проводить непроведенные». Данные надстройки можно устанавливать как совместно, так и по отдельности.

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

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

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

После того, как вы все настроили и перепроверили, нажмите на кнопку «Провести».

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

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

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

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

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

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



Просмотров