Запрос к виртуальной таблице остатков возвращает пустую таблицу #711481


#0 by Blast
Добрый день. Есть 2 подписки на события к документам поступления: обработка проведения и удаление проведения. Для обеих подписок вызывается одна и та же процедура обработки с запросом, который получает данные из виртуальной таблицы остатков на текущую дату. При проведении/перепроведении документа запрос возвращает таблицу с остатками. При отмене проведения возвращает пустую таблицу. Сам запрос простой:         ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(                 ,                     ИЗ По идее какая разница провожу я документ или отменяю проведение. Данные пытаюсь получить без привязки к документу. Кто-нибудь сталкивался с подобной ситуацией?
#1 by DCKiller
Откуда берутся данные в &ТаблЗначДляПроверки?
#2 by Blast
Это таблица значений. Подставляется напрямую. Она формируется из табличной части Источника.
#3 by shuhard
[Кто-нибудь сталкивался с подобной ситуацией?] все запросы требуют отладки
#4 by DionisSergeevich
Продам консоль запросов
#5 by Бешеная Нога
значит нет остатков по условиям, которые передаются в виртуальную таблицу
#6 by Бешеная Нога
рекомендую проверить Качество в ТаблЗначенийДляПроверки и в регистре остатков
#7 by Blast
Запрос работает. Он проверялся в консоли. Которую можно скачать в И-нете бесплатно?:-))
#8 by DionisSergeevich
ВЫБРАТЬ что-то мне не нравится тут
#9 by Blast
Спасибо. Попробую проверить Качество. Условия те же самые, что и при проведении документа. При проведении документа остатки на текущую дату получаются.
#10 by Blast
Что именно? Это отрабатывает в 1-м случае. Это подзапрос, извлекающий данные из временной таблицы
#11 by DionisSergeevich
остатки то фактически есть?
#12 by Blast
Попробовал ради интереса просто обратиться запросом к виртуальной таблице остатков при отмене проведения, передав в качестве отбора ограничение по Складу и списку номенклатуры. Результат тот же.
#13 by Blast
Да. При проведении получаются остатки на текущую дату без движений самого документа, из которого подписка на событие отрабатывает. После отмены проведения, если посмотреть в регистр накопления, данные так же имеются - остатки отрицательные, но есть
#14 by DionisSergeevich
условие соединения по сериям закоментить пробывал?
#15 by Blast
Более того. Пробовал выполнить не пакетный запрос, в котором обращение только к виртуальной таблице остатков и ограничение по складу и списку номенклатуры. Почему-то запрос при отмене проведения не видит остатков.
#16 by DCKiller
Хм... ну логично вообще-то.
#17 by floody
Что-то мне подсказывает, что если запрос не видит остатков, то остатков нет.
#18 by Blast
Попробовал посмотреть Источник.Движения при отмене проведения. Регистр Свободные остатки - пустой по этому документу, соответственно отрицательные остатки есть. А вот по регистру Товары на складах, например, движения ещё не удалены.
#19 by DCKiller
Я извиняюсь, а почему при отмене проведения документа по регистру у тебя остатки отрицательные, а не нулевые?
#20 by DionisSergeevich
Универсальным отчетом или запросиком в консоли запросов посмотри остатки то есть?
#21 by Blast
потому что реализацию никто не распроводил. У меня идет как правило пара документов поступление - реализация. У нас на конец каждого месяца 41 счет по складу закрывается. По регистрам остатки нулевые.
#22 by Blast
По консоли: При проведенном документе их как и положено нет. При распроведенном документе - они отрицательные.
#23 by DCKiller
Попробуй поменять условие. Вместо ГДЕ
#24 by hhhh
а ТаблЗначенийДляПроверки.Количество отрицательное?
#25 by Blast
Да, данные извлеклись поскольку ТаблЗначенийДляПроверки.Количество = 0, и ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 Получается, что при отмене проведения данные в БД в таблице свободные остатки ещё есть, пока транзакция не завершилась, а в Источник.Движения.СвободныеОстатки - набор уже пустой. Попробую его записать до запроса. Положительное - при проведении, равно 0 - при отмене проведения.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям