Ошибка в запросе. Не соблюдается условие в параметре виртуальной таблицы
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма,
| бит_ОборотыПоБюджетам.ЦФО КАК ЦФО,
| бит_ОборотыПоБюджетам.СтатьяОборотов КАК СтатьяОборотов,
| бит_ОборотыПоБюджетам.Проект КАК ПроектБИТ,
| ПоступлениеТоваровУслугТовары.Проект КАК ПроектТабЧасть,
| бит_ОборотыПоБюджетамПоступление.Проект КАК ПроектБИТПоступление,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.СубконтоКт3 КАК СубконтоКт3,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК СубконтоДт1,
| ХозрасчетныйДвиженияССубконто.СубконтоДт3 КАК СубконтоДт3
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| ,
| ,
| Счет В (&Счет)
| И СубконтоДт1 В (&СубконтоКт1)
| И СубконтоДт3 В (&СубконтоКт3),
| ,
| ) КАК ХозрасчетныйДвиженияССубконто
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.бит_ОборотыПоБюджетам КАК бит_ОборотыПоБюджетам
| ПО ХозрасчетныйДвиженияССубконто.Регистратор = бит_ОборотыПоБюджетам.Регистратор
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.бит_ОборотыПоБюджетам КАК бит_ОборотыПоБюджетамПоступление
| ПО ХозрасчетныйДвиженияССубконто.СубконтоДт3 = бит_ОборотыПоБюджетамПоступление.Регистратор
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ПО ХозрасчетныйДвиженияССубконто.СубконтоДт3 = ПоступлениеТоваровУслугТовары.Ссылка
| И ХозрасчетныйДвиженияССубконто.СубконтоДт1 = ПоступлениеТоваровУслугТовары.Номенклатура"
ПоказатьВ параметр СубконтоКт1 передано значение справочника номенклатура "Универсальный токарно-винторезный станок", но в результат почему-то попадает запись со значением СубконтоДт1 "ЦКБА", что вообще справочник контрагентов.
Почему нарушается условие запроса?
По теме из базы знаний
Найденные решения
(8) ответ тот же - виртуальная таблица формируется с запросом порядка субконто из плана счетов и на выходе корректна. в параметрах же самой виртуалки возможны всякие чудеса, связанные с "особенностями" формирования этих самых таблиц. (7) вам правильно пишет - добавьте вид и всё пройдёт.
ЗЫ чудеса заключаются в следующем - когда вы пишете в параметрах Субконто1 = &П1, без указания ВидСубконто1 = Тип1, то, если при физической записи в регистр, а такое редко, но бывает, последовательность субконто в соответствии не совпала с последовательностью в плане счетов, вы получите неработающее условие. Указание Вида субконто перекрывает номер, который в этом случае, используется как идентификатор пары Вид-Значение.
Не уверен, что понятно написал ;)
ЗЫ чудеса заключаются в следующем - когда вы пишете в параметрах Субконто1 = &П1, без указания ВидСубконто1 = Тип1, то, если при физической записи в регистр, а такое редко, но бывает, последовательность субконто в соответствии не совпала с последовательностью в плане счетов, вы получите неработающее условие. Указание Вида субконто перекрывает номер, который в этом случае, используется как идентификатор пары Вид-Значение.
Не уверен, что понятно написал ;)
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Вообще не особо. Это аналитики счета и они у разных документов могут совпадать.
В данной конкретной задаче я ищу ДТ1 из документов "Комплектация", "Поступление", "ГТДИмпорт" и т.д. которые совпадут с КТ1 документа "Реализация". И эти аналитики действительно совпадают.
Но по какой-то причине, условие параметра виртуальной таблицы не соблюдается для одной из строк таблицы, что я получаю в результате запроса. В остальных случаях все норм.
В данной конкретной задаче я ищу ДТ1 из документов "Комплектация", "Поступление", "ГТДИмпорт" и т.д. которые совпадут с КТ1 документа "Реализация". И эти аналитики действительно совпадают.
Но по какой-то причине, условие параметра виртуальной таблицы не соблюдается для одной из строк таблицы, что я получаю в результате запроса. В остальных случаях все норм.
(4) Да, там стоит условие, что дебетовая аналитика должна соответствовать параметру, который я назвал СубконтоКт1, я могу изменить название, суть от этого не измениться.
Давайте я спрошу по другому
Почему, если я ставлю условие в параметре виртуальной таблицы СубконтоДт1 = &УниверсальныйТокарноВинторезныйСтанок, то получаю записи, где СубконтоДт1 = ЦКБА, что является контрагентом.
Давайте я спрошу по другому
Почему, если я ставлю условие в параметре виртуальной таблицы СубконтоДт1 = &УниверсальныйТокарноВинторезныйСтанок, то получаю записи, где СубконтоДт1 = ЦКБА, что является контрагентом.
(8) ответ тот же - виртуальная таблица формируется с запросом порядка субконто из плана счетов и на выходе корректна. в параметрах же самой виртуалки возможны всякие чудеса, связанные с "особенностями" формирования этих самых таблиц. (7) вам правильно пишет - добавьте вид и всё пройдёт.
ЗЫ чудеса заключаются в следующем - когда вы пишете в параметрах Субконто1 = &П1, без указания ВидСубконто1 = Тип1, то, если при физической записи в регистр, а такое редко, но бывает, последовательность субконто в соответствии не совпала с последовательностью в плане счетов, вы получите неработающее условие. Указание Вида субконто перекрывает номер, который в этом случае, используется как идентификатор пары Вид-Значение.
Не уверен, что понятно написал ;)
ЗЫ чудеса заключаются в следующем - когда вы пишете в параметрах Субконто1 = &П1, без указания ВидСубконто1 = Тип1, то, если при физической записи в регистр, а такое редко, но бывает, последовательность субконто в соответствии не совпала с последовательностью в плане счетов, вы получите неработающее условие. Указание Вида субконто перекрывает номер, который в этом случае, используется как идентификатор пары Вид-Значение.
Не уверен, что понятно написал ;)
(10)
По вашему объяснению я понял, что субконто при записи были перепутаны. Редкая ошибка системы.
Вариант со значением лучше, чем дополнительное условие "где"? Я просто подумал, что "где" в любом случае отработает после параметра виртуальной таблицы, на производительности это не сильно скажется.
Просто для Дт1 значение будет всегда "Номенклатура", а вот для Дт3 все не так однозначно, там куча документов. Можно конечно все прописать, но хотелось бы самое оптимальное решение.
По вашему объяснению я понял, что субконто при записи были перепутаны. Редкая ошибка системы.
Вариант со значением лучше, чем дополнительное условие "где"? Я просто подумал, что "где" в любом случае отработает после параметра виртуальной таблицы, на производительности это не сильно скажется.
Просто для Дт1 значение будет всегда "Номенклатура", а вот для Дт3 все не так однозначно, там куча документов. Можно конечно все прописать, но хотелось бы самое оптимальное решение.
(11) "перепутывание субконто" это не ошибка, это баг, который фича. причём описанная в документации, если хорошо поискать. меня самого это выбешивает периодически, но вот так разработчики платформы придумали исходно и менять не хотят.
Задавать параметры виртуальных таблиц правильнее, поскольку приводит к более раннему наложению отбора в результирующем запросе.
Задавать параметры виртуальных таблиц правильнее, поскольку приводит к более раннему наложению отбора в результирующем запросе.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот