Невозможно провести документ после та

Особенности использования поля «Проведен» и процесса проведения

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

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

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

Процесс проведения и отмена проведения в 1С:Предприятии 8 являются частными случаями записи документа. Признак того, что запись выполняется с проведением или с отменой проведения задается в параметре вызова метода Записать. То есть запись документа может быть обычной или с проведением или с отменой проведения. При записи с проведением, кроме обычных действий, выполняемых при записи, выполняется установка значения Истина в поле Проведен и вызов обработчика ОбработкаПроведения() . При записи с отменой проведения, соответственно, вызывается обработчик ОбработкаУдаленияПроведения() и полю Проведен устанавливается значение Ложь.

Использование поля Проведен и процесса проведения является только предлагаемой системой методологией.

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

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

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

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

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

Заметим, что у документов, которые не должны проводиться, пиктограмма в списке документов больше похожа на пиктограмму проведенного документа. Это сделано потому, что пользователь в списке документов должен, прежде всего, отличать документы которые нужно проводить, а они еще не проведены. А документы, которые не нужно проводить и которые уже проведены, отличать не столь важно.

Иллюстрированный самоучитель по «1С:Предприятие 7.7»

Установка параметров

Расчет

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

Вывод.

Параметр «Вывод» может принимать значения «Все объекты», «Один объект», «Один документ» и «Авто». Установка первых трех значений не требует пояснения. В случае установки значения «Авто» журнал расчетов ведет себя по-разному в зависимости от того, каким образом открывается его окно.

Читать еще:  Улучшение жилищных условий военнослужащих имеющих постоянное жилье

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

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

Глубина архива.

Параметр «Глубина архива» может принимать значения «Неделя», «Месяц», «Квартал», «Год» и «Авто».

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

Например, если периодичность журнала расчетов – месяц, и при этом параметр «Глубина архива» задан как «квартал», в окне будут выводиться записи всех периодов расчета (т. е. месяцев), которые лежат в текущем квартале (в феврале – января и февраля; в апреле – только апреля и т. д.).

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

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

Значение «Авто» параметра «Глубина архива» приведет к тому, что будет действовать последняя установка, сделанная вручную через диалог установки глубины просмотра архива.

Оперативный учет

Параметры закладки «Оперативный учет» влияют на порядок записи и проведения документов, относящихся к оперативному учету.

Новые документы записывать с текущим временем.

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

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

Новые документы проводить после ТА.

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

Новые документы записывать после ТА.

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

По умолчанию данная установка выключена.

При проведении после ТА заменять время на текущее.

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

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

Если данную установку отключить, то при проведении документа с переносом его за точку актуальности он будет располагаться сразу после точки актуальности. Это позволяет обеспечить более «гладкую» последовательность ввода документов.

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

VoodyGoo

AlexeyP

VoodyGoo

AlexeyP

Не знаю, как ты делаешь (на «ты» не против?), но я вот у себя по быстрому набросал док.
В модуле документа после объясления процедур добавляем еще одну процедуру:

Прцедура УстановкаДатыПроведения()
Если ПустоеЗначение(ДатаПроведения)=0 Тогда
ДатаДок = ДатаПроведения;
КонецЕсли;
КонецПроцедуры;

На форму добавляю реквизит (поле ввода) «ДатаПроведения». В его свойствах на вкладке Дополнительно в поле формула пишу:
УстановкаДатыПроведения();

Если открываем непроведенный док и пишем в поле ДатаПроведения; какую-нибудь дату, жмем Enter, дата дока меняется на введенную нами.
Проводим док и радуемся

Хотя я вот не понимаю смысла всего этого Может не то написал?
Не легче уже в ДатаДок указывать дату проведения, а дату документа оформлять отдельным реквизитом (как в типовой конфе — ДатаДокВходящий)?

puh14

Well-known member

А толку? при проведении используется ТОЛЬКО ДатаДок — всё остальное от лукавого. Так что дополнительный реквизит на проведение задать не получится. может проще датой создания считать ДатаПРоведения, а проводить на ДатаДок? Тогда можно при мерно так

Читать еще:  Как продать квартиру с зарегистрированным ребенком

Процедура ОбработкаПроведения()
Если ПустоеЗначение(ДатаПроведения) = 0 Тогда
Если ТекущаяДата()

AlexeyP

VoodyGoo, а тебе собственно что надо сделать?
Знать дату, когда док фактически провели или чтобы проводки легли на нужную дату
В принципе, есть несколько обходных путей
Поясни, что конкретно ты хочешь получить

VoodyGoo

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

AlexeyP, так получается всё, но смысла только нет. Получается, что при проведении меняется и сама дата документа (то есть дата его создания), а это не правильно как-то

VoodyGoo

Нет операция документа ВСЕГДА делается по дате документа, переименовывать датудок, не надо просто поменяй на форме реквизиты местами, при создании документа в Реквизит ДатаПроведения вставляй текущую дату ,а датудок будут менять на какую надо.

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

VoodyGoo, тебе в принципе правильно все советуют
операция всегда привязана к ДатаДок
Если надо отдельно хранить дату создания, то храни ее в специально созданном реквизите

В этом случае есть некоторое неудобство (не знаю на сколько тебе важно) — в журнале документы будут отсортированы по дате проведения, а не создания

Но можно немного поизвращаться
Допустим есть Документ1 — создай второй документ, например, ОперацияДокумент1, с одним единственным реквизитом типа Документ1.

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

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

VoodyGoo

Hryv
Я конечно думал о создании отдельного документа для операции, но исходный привязан ещё и к компоненте «Расчет», а я с этим не знаком как-то, и поэтому не знаю о последствиях.
А если я у док-та для операции установлю привязку к тем же компонентам (т.е. бух и расчет), то кажется нормально все будет. Ведь привязка к компоненте расчет обеспечивает создание записи в Журнале расчетов?

Мне второй вариант кажется более правильным.

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

Проведение документа раньше документа основания

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

  1. Форум
  2. / Типовые решения 1С-Рарус
  3. / Автоматизация автобизнеса
  4. / Проведение документа раньше документа основания

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

Подскажите, пожалуйста,1)как можно сделать, чтобы при «Проведение документа раньше документа основания» данное действие не влияло на нарушение последовательности, или хотя бы не помечало, что последовательность нарушена
2) и для каких документов в АА правильная временная последовательность документа основания-подчинённого документа критически важна и может влиять на некорректное отображение отчетов?

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

уточняю, я правильно понял, что в такой ситуации кроме как каждый вечер делать исправление последовательности, и если оно не может исправить (у меня затыкается, если находит Проведение документа раньше документа основания) — в ручную изменять дату/время документа, проводить, и продолжать автомат.испр. последовательностей, ничего другого сделать нельзя?

Можно ли как-то настроить, что при нахождении Проведения документа раньше документа основания — сдвигало, например, док.Заказ покупателя в начало дня, или наоборот — реализацию в конец дня?

Цитата
Александр Тугаенко пишет:
уточняю, я правильно понял, что в такой ситуации кроме как каждый вечер делать исправление последовательности, и если оно не может исправить (у меня затыкается, если находит Проведение документа раньше документа основания) — в ручную изменять дату/время документа, проводить, и продолжать автомат.испр. последовательностей, ничего другого сделать нельзя?

не обязательно каждый вечер. Пример использования регламентного задания и создания напоминания в случае неудачного завершения восстановления:
http://rarus.ru/forum/messages/forum7/topic831/message3829/#message3829

Цитата
Александр Тугаенко пишет:
Можно ли как-то настроить, что при нахождении Проведения документа раньше документа основания — сдвигало, например, док.Заказ покупателя в начало дня, или наоборот — реализацию в конец дня?

Добрый день!
Может туповатый вопрос, но всё-таки:
А можно как-то сделать, чтобы восстановление последовательностей не затрагивало проблему «Проведение документа раньше документа основания «?
Ведь есть же логическая связь между документами и можно по ней отслеживать корректность по количеству.

я понимаю, что, например перемещение товара, не может быть раньше поступления. но для заказов покупателей, может быть такая ситуация:
10.00 — заказ покупателя деталь1.
11.00 — реализация деталь1
12.00 — добавили в заказ деталь2 и перепровели оперативно, т.к. деталь только пришла на склад в 11.30
13.00 — реализация деталь2.

при восстановлении последовательностей — это ошибка. Но по логическим связям — ошибки нету, только по времени, но для данного случая это ведь не критично или критично?

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

Есть право проведения при наличии распределения у поставщиков — посмотрите в правах — это запретить перепроводить документ при наличии распределения.
Однако это не решает проблемы — такие действия могут быть — чтобы не плодить по каждой новой строчке нового заказа — добавляют в уже существующий. Хотя бы в рамках одного дня.

Есть же логическая связь в БД по ссылкам. Время думаю тут не обязательно. По крайней мере не для всех случаев. Как писал выше — для поступления товаров — это критично, а для заказов покупателей, по-моему не очень, а головной боли вечером добавляет много.

Цитата
Александр Тугаенко пишет:
А можно как-то сделать, чтобы восстановление последовательностей не затрагивало проблему «Проведение документа раньше документа основания «?
Цитата
Александр Тугаенко пишет:
я понимаю, что, например перемещение товара, не может быть раньше поступления. но для заказов покупателей, может быть такая ситуация:
10.00 — заказ покупателя деталь1.
11.00 — реализация деталь1
12.00 — добавили в заказ деталь2 и перепровели оперативно, т.к. деталь только пришла на склад в 11.30
13.00 — реализация деталь2.
Цитата
Sergey Sergey пишет:
А как бороться со следующей ситуацией: создается заказ покупателя в 10:00 — на основании него заказ поставщику в 11:00. потом в 11:15 заказ покупателя открывается, правится и записывается ест-но в 11:15. все, при восстановлении последовательности подчиненный заказ поставщику оказывается раньше документа основания и не проводится. можно как то закрыть такое некорректное действие пользоватлей ?

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

Относительно прав — мне известно.Только право не допустит изменения. А что делать, если изменения нужны, как описал выше.
Я поэтому и спрашивал — можно ли как-то оставить описанную ситуацию, но чтобы она не вызывала ошибок.

Цитата
Нет никакой проблемы «Проведение документа раньше документа основания» есть ошибка отрицательного остатка.
Цитата
Виктор Радько пишет:

Цитата
Sergey Sergey пишет:

А как бороться со следующей ситуацией: создается заказ покупателя в 10:00 — на основании него заказ поставщику в 11:00. потом в 11:15 заказ покупателя открывается, правится и записывается ест-но в 11:15. все, при восстановлении последовательности подчиненный заказ поставщику оказывается раньше документа основания и не проводится. можно как то закрыть такое некорректное действие пользоватлей ?

Есть право «Редактирование проведенных документов».

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

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

Ссылка на основную публикацию
Adblock
detector