Меню Рубрики

Установка прав только не оперативного проведения

Оперативное и неоперативное проведение документов в 1С 8.3

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

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

Режим проведения документа

В 1С предусмотрено два режима – оперативное проведение и неоперативное проведение.

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

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

Значения свойства «Оперативное проведение» у документов: «Разрешить» и «Запретить»

Как сделать оперативную настройку, посмотрим на примере программы «1С: Бухгалтерия предприятия 3.0». В других конфигурациях эта настройка аналогична.

Зайдем в программу в режиме Конфигуратор и откроем нашу конфигурацию. Открыв дерево метаданных, узел «Документы», откроем свойство любого из них (двойным щелчком мышки).

Предоставляются два варианта значения в поле «Оперативное управление» — «Запретить» и «Разрешить». По умолчанию разработчиком установлено «Запретить».

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

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

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

источник

Назначение и методика использования механизма оперативного проведения документов

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

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

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

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

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

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

Рассмотрим, как система обеспечивает поддержку данного механизма.

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

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

Читайте также:  Установка замка на капот прадо

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

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

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

Механизм оперативного проведения поддерживается в расширениях форм документов (расширении формы документа и формы списка). Команды, предоставляемые расширениями форм, поддерживают определенную стратегию выбора режима проведения. Эта стратегия может регулироваться свойством ИспользоватьРежимПроведения расширения формы документа. В основном используется вариант Авто , обеспечивающий автоматический выбор режима проведения на основе анализа даты документа и при необходимости запрос режима у пользователя. Подробнее о работе расширения формы документа можно ознакомиться в статье «Запись и проведение документа в форме».

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

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

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

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

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

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

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

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

Читайте также:  Установка аэротерапевтическая что это такое

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

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

источник

Оперативное и неоперативное проведение документов в 1С 8.3

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

Режим проведения документа

1С предоставляет пользователям два режима — оперативное и неоперативное проведение документа.

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

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

Значения свойства «Оперативное проведение» у документов: «Разрешить» и «Запретить»

Рассмотрим, какие действия нужно провести чтобы включить оперативную настройку в программе «1С: Бухгалтерия предприятия 3.0». В предыдущих версиях порядок будет идентичным.

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

Как видно, на выбор пользователя в поле «Оперативное управление» имеется два варианта — «Запретить» и «Разрешить». Изначально, всегда стоит параметр «Запретить».

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

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

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

источник

Особенности работы формы документа

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

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

Рассмотрим ряд примеров работы этих механизмов.

Установка даты документа при открытии формы

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

Причем время документа будет установлено в зависимости от следующих настроек. Если свойство АвтоВремя расширения формы документа имеет значение НеИспользовать то время документа будет установлено по значению текущей даты сеанса. В остальных случаях дате документа присваивается время начала дня (00:00:00).

Установка даты нового документа при записи нового документа в форме

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

Но если время документа «нулевое» (0:00:00), то при неоперативном проведении документа оно будет изменено согласно настройкам свойства АвтоВремя. Исключение — когда АвтоВремя имеет значение НеИспользовать тогда время документа не меняется.

.

Запрет интерактивной записи проведенного документа без проведения (перепроведения)

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

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

Предотвращение подобных ситуаций достигается за счет установки свойства расширения формы документа ПриЗаписиПерепроводить значение Истина. Тогда отказ в обработке проведения приведет к откату транзации — документ не будет и перезаписан.

Читайте также:  Установка enlightenment e19 в ubuntu

Установка режима проведения

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

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

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

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

Вариант «Автоматически»

Вариант Автоматически устанавливается посредством выбора значения Автоматически у свойства ИспользоватьРежимПроведения расширения формы документа. Платформа стандартно устанавливает это значение для новой формы.

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

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

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

Если дата документа (без учета времени) больше текущей даты сеанса, пользователю выдается предупреждение: «Дата оперативно проводимого документа больше текущей. Документ не может быть проведен оперативно!», и проведение документа отменяется.

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

Вариант «Оперативный»

Вариант Оперативный устанавливается посредством выбора значения Оперативный у свойства ИспользоватьРежимПроведения расширения формы документа.

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

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

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

Вариант «Неоперативный»

Вариант Неоперативный устанавливается посредством выбора значения Неоперативный у свойства ИспользоватьРежимПроведения расширения формы документа.

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

При этом еслу у пользователя нет права на неоперативное проведение, выдается предупреждение: «Недостаточно прав для неоперативного проведения», и проведение документа отменяется.

Вариант «Запрашивать»

Вариант Запрашивать устанавливается посредством выбора значения Запрашивать у свойства ИспользоватьРежимПроведения расширения формы документа.

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

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

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

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

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

Если право на неоперативное проведение есть, пользователю выдается диалог с режимом выбора проведения. После выбора неоперативного режима проведения система проводит документ в неоперативном режиме. Если же пользователь выберет оперативный режим проведения, выдается предупреждение: «Дата оперативно проводимого документа меньше текущей. Документ не может быть проведен оперативно!», и проведение документа отменяется.

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

Если право на неоперативное проведение есть, пользователю выдается диалог с режимом выбора проведения. После выбора неоперативного режима проведения система проводит документ в неоперативном режиме. Если же пользователь выберет оперативный режим проведения, будет выдано предупреждение: «Дата оперативно проводимого документа больше текущей. Документ не может быть проведен оперативно!», и проведение документа отменится.

Прочие функции

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

  • при открытии формы проведенного документа, если у пользователя нет права Интерактивное изменение данных форма переводится в режим ТолькоПросмотр;
  • при открытии формы документа, в которой находятся таблицы, отражающие движения основного реквизита (объекта документа), эти движения автоматически считываются из базы данных и отображаются;
  • при записи из формы (даже если и программной — посредством Записать()) система выполняет проверку прав на интерактивное проведение или интерактивную отмену проведения.

источник

Добавить комментарий