1с 77 провести документ
При проведении диалог с запросом времени. Пользователь нажимает "в начало дня".
Документ проводится текущим временем.
То же при распроведении и изменении времени документа - опять же проводится текущим временем.
Может, я какие настройки забыл ?
Все птички на закладке "Оперативный учет" в сервисе сняты.
TimeDontWait
puh14
у мя та же проблема. приходится распроводить документ, менять время на начало дня, а потом уже групповой обработкой проводить все скопом. думаю в глобальный модуль поставить проверку на тип документов с функцией начала для.
TimeDontWait
TimeDontWait
TimeDontWait
Не особо разбираюсь в ТиС, могу ошибаться, но внимание привлекло нечто:
ПроводитьПослеТА(,);
Синтаксис:
ПроводитьПослеТА(,)
Назначение:
Установить режим проведения документа после ТА. Возвращает текущее значение режима перепроведения документа в зависимости от проведенности.
Параметры:
- режим проведения документа после ТА. Число: -1 (минус единица) - проводить документ всегда задним числом; 0 - при проведении запрашивать режим проведения документа; 1 - проводить документ в реальном потоке времени, т.е. при проведении время документа автоматически устанавливается на время после ТА.
- режим перепроведения документа после ТА. Числовое выражение: -1 (минус единица) - проводить документ всегда задним числом; 1 - проводить документ в потоке.?>
попробовал ПроводитьПослеТА(0,-1); - запрашивать диалог времени и ВСЕГДА проводить задним числом
Вроде, мой случай, но ведь не работает, зараза, олять после ТА ставится :*цензура*you:
Добавлено: Сорри, с флагами напутал.
Лечит
ПроводитьПослеТА(-1,-1);
Не особо разбираюсь в ТиС, могу ошибаться, но внимание привлекло нечто:
TimeDontWait
и верно, что-то с первого раза толи не туда глянул, толи не заметил. типа просто нужно флаги поменять и будет счастье?
толи я неправильно понимаю, толи не отрабатывает эта функция. ведь при проведении документа автоматически должно присваиваться время после ТА, но этого не происходит. в чем может быть косяк?
Создаю документ програмно, далее проожу:
Док.Записать(РежимЗаписиДокумента.Проведение);
Но такой способ только записывает документ с установкой флага проведено в истину.
А мне нужны движения в рег. накопления. Конечно можно прописать движения по рег. в процедуре программного создания, а нельзя ли как-то проще?
Вообще то должно все проводится нормально. И движения должны делаться.
Если все правильно с формирование движений.
(2) x2z7yy,
"Если все правильно с формирование движений" - конфигурация типовая УТ и все движения документа прописаны в модуле док. Есть ли необходимость прописывать движения еще раз в том месте где документ создается програмно?
(3) alw-1,
При записи документа в режиме проведения, из модуля документа автоматически вызываются необходимые процедуры. Например "ОбработкаПроведения()".
(4) Абсолютно прав на счет контекстного меню.
попробуйте поставить точку остановки в обработке проведения документа и посмотреть отрабатывает ли вообще код этой процедуры.
Возможно какой то из реквизитов не заполнен?
От этого тоже зависит, какие движения будут сделаны, а какие - нет.
(8) Psylocibine,
У меня УТ , если что-то не заполнено то сразу выскакивает ошибка, но ее нет.Просто не двигает регистр и все.(9) PetrPervuy,
Ну я и переписывал. Только ничего на тему запрета проведения.
Кстати, док того же типа созданный вручную регистр двигает. Созданные програмно нет(как через комнду Записать(. ), так и при ручном проведении. У меня УТ 10 ,понятно ,что ошибка в какой-то проверке но ответа не нахожу,запускал отладчик но в типовой что то найти не просто. если кто-то сталкиваля с чем-то конкретным, то подскажите.
(10) alw-1,
Как правило ошибка о незаполненности реквизита только в форме.
При программном создании документа никакие проверки описанные в форме не вызываются.
Отсутствие движений в документе созданном программно похоже на отсутствие информации для этих движений.
При ручном создании, скорее всего, в форме заполняются некоторые реквизиты "по умолчанию", при открытии формы. Когда Вы создаете документ программно, возможно не заполняете какой-то реквизит.
попробуйте такой алгоритм:
Этот код равнозначен ручному созданию/проведению.
Либо напишет ошибку какой реквизит не заполнен - тогда исправите первоначальный код,
Либо проведется и создаст проводки - тогда посмотрите под отладчиком - какой реквизит форма заполняет "по умолчанию".
Иногда необходимо при проведении документа, перепровести связанные с текущим, другие документы. В 1С:7.7 существует ограничение на проведение документов из модуля проведения, обойти ограничение можно следующим образом:
Иногда необходимо при проведении документа, перепровести связанные с текущим, другие документы. В 1С:7.7 существует ограничение на проведение документов из модуля проведения, обойти ограничение можно следующим образом:
Документ1, Модуль документа:
Документ2, Модуль формы:
Специальные предложения
Код |
---|
Показать полностью |
Хм.
а вот из модуля дока 2 не надо док3 провести.
где начало того окнца, которым оканчивается начало?
Блокировки видимо - пустое.
Ну а если второй документ не проведется - тоже сущая безделица.
Интересно - хоть кто то это применял на живых пользователях?
Столкнулся с такой проблемой:
Провожу док раньше ТА. Из него проводится другой док, способом описанным в статье. Вылезает окошко "изменить время документа или провести задним числом". Что бы ни нажимал, второй документ не проводится. Процедуру обработка проведения во втором доке даже пустой оставлял. ТО же самое :(
База на SQL. Если форму второго документа не закрывать, а нажать там "провести" вылетает с ошибкой.
ДЯ. Не знал про ограничение. Блин! Как же у меня в "Кафе-УСН" проводятся сразу ТРИ типовых дока из "Производство"? О_о
Описанный метод успешно использую на практике.
Это из недокументированных возможностей.
А вот вопрос к 1С-гуру: на сколько это безопасно для целостности данных.
Ответьте, пожалуйста, вместо того, чтобы оскорблять начинающих программистов.
Это проблема не метода, сдвинута точка актуальности.
Нужно установить ТА на последний документ в полном журнале (контекстное меню).
(18) у меня документ2 последний, а предпоследний документ1 он проведен. Если войти документ2 и нажать кнопку провести галочка становится красной, как программно сделать?
не помогает Провести(3);
Все бы хорошо, но если в процессе проведения вложенный документ не проводится, выводится соответствующее предупреждение, кое висит пока пользователь не ткнет кнопку ОК. И все бы ничего, но пока он этого не сделает транзакция проведения первичного документа так же висит не завершенная. В результате вся база висит в заблокированном виде, пока пользователь не удосужится нажать кнопочку.
(21)
изображение бы, или конфигурацию - непонятно, о чем пишите.. по существу, задача: "в процессе проведения вложенный документ не проводится . нажать кнопочку", - решаема, в большинстве последних конфигураций решена.
(22) конфигурация - любая на платформе 7.7
речь идет о системном модальном окошке, которое в обязательном порядке вылазит при неудачном интерактивном проведении документа.
"задача: "в процессе проведения вложенный документ не проводится . нажать кнопочку", - решаема, в большинстве последних конфигураций решена. " - хотелось бы узнать каким образом?
окно "документ не проведен" (23) вам который метод выкидывает?
- вот за ним и ищите ответ своей задаче "в большинстве последних конфигураций" (21);
- за вас покуда только алиса и сири ответы ищут.
уровнем ниже опустимся, в код.. а так - диалог безпредметный.
(25) оспади.. никакой метод его не выкидывает, оно на системном уровне генерируется и программно никак не управляется. Попробуйте в конфигураторе создать новый пустой документ и в модуле документа, в процедуре ОбработкаПроведения() прописать что-нибудь вроде
так и вам о том же:
задача: "в процессе проведения вложенный документ не проводится . нажать кнопочку", - решаема, в большинстве последних конфигураций решена.
"простейшая имитация отмены проведения", - на стадии отладки - согласен
найдёте подобную конструкцию в релизе
дам денег. которая сумма вас заинтересует?
(31) Уважаемый, вы читать умеете или вам заняться нечем? Какой нафиг релиз? Я вам просто привел пример как быстро смоделировать ситуацию. Если вам лень три строки кода написать, чтобы самому убедиться, то мне далее данная дискуссия ни о чем не интересна - оставайтесь при своем загадочном мнении
(34) с чего это она недопустимая?
в типовой ТиС сплошь и рядом при отработке процедур, выполняемых при проведении документа генерится СтатусВозврата(0) (даже внутри вызваемых дочерних процедур)
Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при проведении документа из формы документа (провести и закрыть)
Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при отмене проведения документа из формы документа
Заливкой выделены события, выполняющиеся в транзакции записи.
Обработчики событий
Расширение управляемой формы для документа. Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью .
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения». Параметр РежимПроведения может отсутствовать, если режим проведения в документе не определен.
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .
Расширение управляемой формы для документа. Вызывается перед записью объекта на сервере. Можно отменить запись. Выполняется вне транзакции.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- РежимЗаписи , тип РежимЗаписиДокумента . В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи.
- РежимПроведения , тип РежимПроведенияДокумента . В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения.
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
- Отказ , тип Булево . Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись документа выполнена не будет. Значение по умолчанию: Ложь .
Расширение управляемой формы для документа. Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись произведена не будет. Значение по умолчанию: Ложь .
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый документ.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Расширение управляемой формы для документа. Вызывается после записи объекта на сервере и после завершения транзакции.
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Расширение управляемой формы для документа. Возникает на сервере после записи объекта и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Проведением документа называется действие, которое выполняет изменения других данных системы на основании информации документа.
При нажатии кнопки формы документа, для которой определено проведение документа (обычно это кнопка "ОК" или "Провести"), на экран выдается запрос необходимости проведения документа.
Если на запрос ответить "Да" – документ будет проведен. В журнале документов проведенный документ будет помечен в крайней левой колонке знаком .
Ответив "Нет" на запрос, вы можете отказаться от проведения документа прямо сейчас, а выполнить проведение в другое время.
Чтобы сделать документ не проведенным, следует в меню "Действия" главного меню программы выбрать функцию "Сделать документ не проведенным". После подтверждения признак проведенного документа изменится на .
При отмене проведения документа отменяются все действия, которые он выполнил в процессе проведения.
Не проведенный документ можно откорректировать, записать, провести (или не проводить), а знак в крайней левой колонке журнала будет правильно отражать текущее состояние документа.
Особенности проведения документа бухгалтерского учета
Для документов бухгалтерского учета проведение используется прежде всего для отражения в бухгалтерском учете хозяйственной операции, информация о которой введена в документ.
Заметим, что для некоторых видов документов проведение может не использоваться. Обычно это те виды документов, которые не влияют на бухгалтерские итоги и не выполняют никаких других изменений в данных системы.
Операции и проводки в системе 1С:Предприятие.
Перед тем, как рассмотреть процесс проведения документа, коротко рассмотрим принципы ведения бухгалтерского учета в системе 1С:Предприятие.
Информация о движении средств отражается в бухгалтерском учете в виде бухгалтерских операций, содержащих бухгалтерские проводки. Бухгалтерская операция объединяет в себе несколько проводок, полностью отражающих в бухгалтерском учете хозяйственную операцию. Каждая бухгалтерская операция принадлежит документу.
Бухгалтерские операции, вводимые вручную, принадлежат документам специального вида "Операция", и эти документы не могут быть проведены. Для других видов документов проводки операции формируются только в процессе проведения документа. При этом используется специальный алгоритм, который задан для каждого вида документов в конфигурации. Этот алгоритм определяет состав проводок операции, формируемой документом.
В процессе проведения происходит собственно запись проводок операции и отражение их в бухгалтерских итогах.
Кроме того, при проведении отдельных видов документов могут устанавливаться значения периодических реквизитов справочников, для которых в конфигурации определена возможность изменения документами.
При отказе от проведения документа бухгалтерского учета существующая операция документа (если он проводился ранее) не изменится. В этой ситуации существует потенциальная возможность расхождения данных документа и сформированных им проводок. Однако в конфигурации для отдельных видов документов может быть запрещена запись проведенного документа без его обязательного перепроведения.
Кроме этого, администратор системы может запретить сотрудникам (например, продавцам или операторам) редактирование проведенных документов. Отредактировав пользовательские права в сеансе конфигурирования системы, администратор может разрешить только ответственным сотрудникам выполнение таких операций, как изменение проведенных документов и изменение документов без перепроведения.
Если документ становится не проведенным, то из журнала проводок удаляются проводки, сформированные этим документом. Также может быть удалена и операция, сформированная документом, если она сформирована только при проведении, что определяется в конфигурации. Кроме того, если документ при проведении изменял значения периодических реквизитов справочников, то изменения, сделанные этим документом, также удаляются.
Читайте также: