1С 8.3 Использование результата проведения документа при его проведении #733174


#0 by Sasha_1CK
Раньше в 7.7 была команда "Операция.ЗаписатьПроводки" и после нее в модуле проведения можно было снова обращаться к БухИтогам с учетом уже сформированных проводок. В 8.3 есть аналог? Просто судя по модулю регламентных документов - 1С расчитывает все движения с учетом самих движений и потом формирует двжиения целиком за 1 проход без промежуточных сохранений.
#1 by kosts
Тебе показалось. Там есть промежуточное сохранение.
#2 by Sasha_1CK
Возможно И как его выполнить?
#3 by kosts
При проведении просто записать (в середине проведения имеется ввиду).
#4 by kosts
По моему так делается контроль остатков в последних версиях. сперва запись, потом контроль, если мало, то откат транзакции. По крайней мере так заявляли делать.
#5 by Sasha_1CK
спс попробую
#6 by Sasha_1CK
Апну. Че то не взлетает.
#7 by Demetres
А что в событии ПриЗаписи не получается?
#8 by Sasha_1CK
надо сначала оприходовать ТМЦ. Записать операцию, затем списать ТМЦ, с учетом оприходованных этим же документом
#9 by Demetres
И какие проблемы кодом это сделать в событии ПриЗаписи, если честно пока не понимаю.
#10 by Sasha_1CK
ну выполняется процедура ОбработкаПроведения. В документе ОтчетПроизводстваЗаСмену. Сначала приходуется ПФ и ГП 21/40 и 43/40. Затем выполняется списание Сырья и ПФ  проводками 20/10 и 20/21. В модуле проведения это выполняется двумя последовательными процедурами. Затем выполняется  списание УчетТоваров.СформироватьДвиженияСписаниеТоваров Соответственно то что выпустилось 21/40 и должно быть сразу списано дальше 20/21 списывается без суммы. потому что весь набор движений формируется целиком и потом записывается. Я как бы вставил между выпуском и списанием команду Двжиения.Записать; Но реакции нет. Но тут есть еще один скользкий момент - списание остатков выполняется на момент времени равный моменту времени документа. - включены ли в этот момент времени сами движения документа не ясно. А то может проводки сохранились, но на момент времени не учитываются и я не туда смотрю.
#11 by Demetres
Вот это почитайте, так вам будет легче допилить свой алгоритм, там все просто и понятно написано:
#12 by Demetres
Тут лучше написано
#13 by Sasha_1CK
Спасибо. Все таки промежуточное сохранение осуществляется командой Движения.Записать; или Движения.Хозрасчетный.Записать; Далее методом тыка установления, что типовая процедура ПодготовитьТаблицыСписания использует для получения остатокв метод МоментВремени (Дата, Документ) При этом движения документа в остатки не попадают. При использовании МоментВремени = Новый Граница(Новый МоментВремени(Реквизиты.Период, Реквизиты.Регистратор), ВидГраницы.Включая); Остатки считаются с проводками документа. Есть у меня определенные сомнения как это будет работать в случае если много документов запихают в 23.59.59. Но поскольку предполагается один сводный документ за месяц - то наверное и не стоит заморачиваться
#14 by Sasha_1CK
Да именно так - автор тоже точку итогов считает через границу. жаль что в синтакс помощнике про  МоментВремени не указано, что он считается на начало документа. Большое спасибо за помощь
#15 by Demetres
:)
#16 by Dmitrii
> в синтакс помощнике про  МоментВремени не указано, что он считается на начало документа. Всё там написано. Читать надо не в описание МоментВремени, а в описании того как работает виртуальная таблица Остатки регистров. Остатки получаются всегда на момент ДО (или ПЕРЕД) тем значением, которое указано в качестве параметра "Период" виртуальной таблицы. Если только в качестве параметра "Период" не передать Границу с ВидГраницы.Включая.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С