Включение и выключение проводок операции
Операцию по выключению и включению проводок в документе можно проделать в «Журнале операций» выделив документ, нажать на правую кнопку мышки и из предложенного контекстного меню выбрать пункт «Включить проводки » или «Выключить проводки» или нажать на F8. А также в «Обработке документов» установив необходимые параметры условий выборки документов и в реквизите «Обработка» выбрать «Включить проводки» или «Выключить проводки», затем нажать кнопку выполнить.
При этом операция станет неактивной, и значок-состояние операции поменяет свой цвет на серый.
Заметим, что выключать и включать можно только все проводки операции одновременно.
1С:Бухгалтерия 8 для Украины
Операцию по выключению и включению проводок в документе можно проделать в «Журнале операций» выделив документ и нажав на кнопку на панели «Переключить активность проводок» или нажать на кнопку F8.
При этом операция станет неактивной, и значок-состояние операции поменяет свой цвет на серый.
Заметим, что выключать и включать можно только все проводки операции одновременно.
Включить проводки можно, если просто перепровести документ.
Включение проводок и нарушение агрегации
В процессе работы с базами данных на платформе 1С-Предприятие 7.7 «Бухгалтерский учет», была диагностирована и подробно рассмотрена следующая проблема: ошибка при включении отключенных проводок операции, приводящая к удваиванию исходных данных в агрегатных таблицах. Проблема возникает в том случае, если разные пользователи в разных сессиях включат отключенные проводки в одной и той же операции. Данная последовательность действий, приводящая к ошибке, была протестирована на 21-м, 23-м и 25-м релизах платформы. По результатом тестирования было выяснено, что ошибка диагностируется в каждом из этих релизов платформы.
Как диагностировать ошибку:
Для этого нужно взять любую конфигурацию на компоненте «Бухгалтерский учет», разрешить правами пользователям включать и отключать проводки операции. Также нужно убедиться, что на период, в котором находится операция бухгалтерские итоги рассчитаны.
Механизм повторения ошибки по шагам:
Открыть два сеанса работы с базой в разделенном режиме.
В каждом из сеансов увеличить время интервала опроса базы данных со стандартных 10 секунд на большую величину (например, 60). Это необходимо для того, чтобы при внесении изменений в одном сеансе, в другом не успела бы обновиться форма списка журнала операций.
Открыть форму списка журнала операций в обоих сеансах, найти одну операцию с выключенными проводками, установить курсор в обоих сеансах на эту операцию.
Включить проводки в первом сеансе.
Во втором сеансе, пока статус операции не успел еще обновиться, нужно также включить проводки. Ошибка будет, только если статус не успел обновиться, для чего мы и увеличивали стандартный интервал до большей величины.
После этих операций агрегатные таблицы содержат в себе неверные данные — т.е. они были дважды обновлены на основании проводок. Теперь можно выключить проводки или сделать не проведенным документ, в результате возникает ситуация, когда документ не проведен (или проводки отключены), а в отчетах фигурируют движения (в агрегатных таблицах ненулевые записи).
Рисунок 1. Состояние базы данных в момент нормальных агрегационных записей. Документ проведен, проводки включены.
Рисунок 2. Состояние базы данных после возникновения ошибки агрегации. Как видно, при единственной операции в базе, отчет показывает ненулевой начальный остаток и дублированный конечный.

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

Суть ошибки в том, что сеанс 1С, не проверяет перед выполнением действия текущий статус проводок в документе. Таким образом выполняется стандартный набор действий, т.е. обновляется признак активности проводок в таблице проводок _1SENTRY, и выполняются все необходимые действия, чтобы обновить агрегатные таблицы на основании проводок операции, то есть агрегатные таблицы увеличиваются на сумму проводок. В результате получается ситуация, как в нашем примере, что агрегатные таблицы обновляются дважды.
При желании можно использовать для теста более двух сессий, тогда агрегатные таблицы обновятся столько раз, сколько будет сессий, при условии соблюдения пунктов (2-5).
Исправить эту ошибку на месте – невозможно в связи с сущностью агрегатных таблиц, которые не хранят привязку к конкретному документу. Поэтому при попытке выключить проводки или перепровести документ они изменятся на величину проводок операции и не более того, в результате ошибочно занесенные данные остаются в итогах. Выход из ситуации только один – пересчет итогов, либо полный, либо за период с начала возникновения ошибок до конца.
После диагностирования данной проблемы была предпринята попытка исследования процесса отмены проведения и пометки на удаления в таком же тесте. Для этих операций ошибки нарушения агрегации не случилось.
Негативные последствия возникновения данной ошибки:
Задвоение цифр по данному срезу счета и субконто. Диагностирование затрудняется тем, что различные отчеты могут выдавать различные данные в зависимости от варианта результирующего SQL-запроса к базе данных. Ошибаться будут отчеты, основанные на использовании таблиц _1SBKTTL и _1SBKTTLC, в то время как отчет, основанный на таблице _1SENTRY даст правильные результаты.
Проблема повторного изменения цифр, которые уже попали в бухгалтерскую отчетность, в результате пересчета итогов и исправления ошибки агрегации. В результате цифры вернутся в нормальное состояние, которое будут отличаться от зафиксированного отчетностью. Проблема также трудно диагностируется, и трудно поддается изменению.
В заключение хочется отметить, что компания «СофтПоинт» имеет свои средства и методики для диагностирования и исправления этой и других ошибок платформы 7.7.
Энциклопедия 1С:Предприятия 7.7
Те операции, которые содержат проводки, влияют на подсчет бухгалтерских итогов. При желании можно исключить операцию из подсчета итогов. Для этого достаточно выбрать нужную операцию в журнале операций (проводок), а затем выбрать пункт «Выключить проводки» в меню «Действия». При этом операция станет неактивной, и значок-состояние операции поменяет свой цвет на серый.
Эта возможность позволяет иметь операции, никак не влияющие на итоги и не попадающие в отчеты. Например, это могут быть заранее вводимые операции, которые в данный момент не должны влиять на квартальную отчетность по этому периоду.
Неактивную операцию можно затем опять включить в подсчет итогов, выбрав в меню «Действия» пункт «Включить проводки».
Заметим, что выключать и включать можно только все проводки операции одновременно.
| опубликовано: 1 Май, 16:23
Комментирование этой статьи закрыто
Как в 1с включить проводки
Функция Событие_ПриНачалеРаботыСистемы(Конт, ФлагЧтенияНастройки) Экспорт
лПерехватчикСобытийФормы = СоздатьОбъект(«ПерехватчикСобытийФормы»);
лПерехватчикСобытийФормы.Инит(Конт);
// зарегистрировали перехватчик событий формы
лПерехватчикСобытийФормы = 0; // ссылка на этот перехватчик уже хранится внутри 1С++, поэтому можно удалить !
Возврат 1; // Можно открывать форму
Функция Событие_ПриЗавершенииРаботыСистемы() Экспорт
Предупреждение(«Хрен вам а не закрытие системы»);
//СтатусВозврата(0);
Возврат 0;
КонецФункции
не понимаю одного.. почему проводки в 1С могут быть сделаны неактивными?
это вопрос к разработчикам 1С, не к автору и форумчанам..
мож чисто риторический..
есть док, предусмотрены проводки, док проведен! какого еще рожна надо? проводки должны быть, и всё. так нет-же..
нелогично..
