ВыполнитьЗапрос(ТекущийДокумент(),,) и ВыполнитьЗапрос(,ТекущийДокумент) #130239


#0 by Pavlova
В обработке проведения документа , где автоматическое удаление движений.  В чем разница? Ведь движения удалились - значит это одно и то же . Или нет?
#1 by Pavlova
Подскажите - уже замучилась эксперементировать.
#2 by ZolotarevAA
Лично я используюю вариант "ВыполнитьЗапрос(ТекущийДокумент,,)" - не надо задумываться о том, удалилились движения или нет. А в указанном случае практической разницы нет - только теоретическая.
#3 by Zanuda
ВыполнитьЗапрос(ТекущийДокумент,,) - а ты попробуй такой конструкцией провести документ сильно задним числом. Он у тебя сальдо конечное сосчитает не на документ, который ты проводишь, а текущее, и они могут сильно отличаться.
#4 by ZolotarevAA
не понял, причем здесь сальдо (нигде ранее не упоминалось).Но если при проведении документа необходимо получать актуальные данные на момент проведения, то именно так их надо получать. Если надо всегда получать актуальные данные на текущий момент, то и запрос можно строить на текущий. Не вижу здесь проблемы.
#5 by Pavlova
Что значит - текущее ? Сильно задним - в прошлый год? Если можно - подробнее.
#6 by Pavlova
Тогда где разница между моментом проведения и текущим моментом в обработке проведения ?
#7 by ZolotarevAA
Под фразой "Сильно задним числом" обычно понимается некий момент времени в прошлом, относительно которого текущее состояние отличается критично. это может быть и год назад, и месяц, и даже "вчера".Все остальное к теме, по-моему, не относится.
#8 by Pavlova
Так ,запуталась.Если анализируем итоги в обработке проведения,значит нам нужны итоги именно на момент проведения документа,или все же нужно учесть , что в этот момент времени проводятся другие документы, которые двигают итоги?
#9 by Pavlova
В типовой Бухии в модуле формы - ВыполнитьЗапрос(ТекущийДокумент,,),в модуле документа ВыполнитьЗапрос(,ТекущийДокумент).Видимо есть разница - я только не пойму.
#10 by Zanuda
Если нужно итоги на момент проведения документа, то лучше использовать ВыполнитьЗапрос(,ТекущийДокумент,), потому что в этом случае итоги рассчитываются именно на текущий документ, а ВыполнитьЗапрос(ТекущийДокумент,,) итоги рассчитываются начиная с текущего документа и, я подозреваю, до конца периода БИ.
#11 by Zanuda
Разница есть. Ты не можешь в модуле формы делать ВыполнитьЗапрос(,ТекущийДокумент), потому что при условии проведенного документа обороты документа будут входить в бух. запрос.
#12 by Pavlova
Это понятно . Но мои изыскания приводят к тому , что ВыполнитьЗапрос(ТекущийДокумент,,) в модуле документа дают те же данные,что и в модуле форме. Спасибо , что уделяете внимание.
#13 by ZolotarevAA
Полагаю, что это заблуждение. И причем здесь конец периода БИ? А если запрос к регистру, то следуя аналогии рассчитает "итоги до точки актуальности" ? Ерунда. Указывая только один из моментов времени, нельзя получить обороты.
#14 by Pavlova
Тогда - почему то , что в ?
#15 by Pavlova
Просмотрела все документы в типовой - только ВыполнитьЗапрос(,ТекущийДокумент), в модуле документа.
#16 by prochor
При работе с расходными документами - обычно проверяется количество остатков продукции на складе. Поэтому правильнее [,ТекущийДокумент], так как, вполне возможно, что в следующем по времени док-те будет расходовано оставшееся количество, и документ перестанет перепроводиться в запросе, когда текдок стоит первым реквизитом!
#17 by ZolotarevAA
Видимо модули форм пишут одни, а модули проведения - другие :). Время документа не при чем - передается сам документ (читай, его позиция).
#18 by Zanuda
Думаю, не ерунда. Если у тебя было на начало документа 5 единиц. Документ ты провел и списал документом 3 единицы. Тогда  ВыполнитьЗапрос(,ТекущийДокумент) у тебя вернет 2 единицы, а  ВыполнитьЗапрос(ТекущийДокумент,) вернет 5 единиц.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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