Добрый день друзья. Имеется самописный регистр сведений с лишними записями которые требуется удалить. Вопрос как их выбрать? Например на скрине видим что в ТЧ документа который сделал записи в РС количество строк меньше чем в регистре, и эту лишнюю строку требуется удалить. Мусорные строки не бьются в документом по колонке Количество.
Прикрепленные файлы:
По теме из базы знаний
- Курсы валют на разные даты в одном запросе. Делаем свой нестандартный срез последних.
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Генератор текста запроса
- Начните уже использовать хранилище запросов
Найденные решения
(14)Запрос на скрине конечно работать не будет.
У вас одновременно условия ТЧДокумента.Ссылка = &Ссылка и ТЧДокумента.Ссылка Есть Null.
Из-за условия ТЧДокумента.Ссылка = &Ссылка устанавливается внутреннее соединение.
При внутреннем соединении Null быть не может. И результат пустой.
Если делаете отбор по ТЧДокумента.Ссылка = &Ссылка, то результат надо сначала во временную таблицу поместить, а потом уже эту временную таблицу соединять с РС.
И в этом запросе с РС уже условие ТЧДокумента.Ссылка Есть Null.
Либо уберите в вашем запросе отбор
ТЧДокумента.Ссылка = &Ссылка
тоже будет работать.
Но учтите, что у вас в РС 2 поля количества, а в документе, как я понимаю одно.
Тут скорее надо 2 разных запроса делать, когда количество выдано, и когда запланировано.
С отбором по статусу.
У вас одновременно условия ТЧДокумента.Ссылка = &Ссылка и ТЧДокумента.Ссылка Есть Null.
Из-за условия ТЧДокумента.Ссылка = &Ссылка устанавливается внутреннее соединение.
При внутреннем соединении Null быть не может. И результат пустой.
Если делаете отбор по ТЧДокумента.Ссылка = &Ссылка, то результат надо сначала во временную таблицу поместить, а потом уже эту временную таблицу соединять с РС.
И в этом запросе с РС уже условие ТЧДокумента.Ссылка Есть Null.
Либо уберите в вашем запросе отбор
ТЧДокумента.Ссылка = &Ссылка
тоже будет работать.
Но учтите, что у вас в РС 2 поля количества, а в документе, как я понимаю одно.
Тут скорее надо 2 разных запроса делать, когда количество выдано, и когда запланировано.
С отбором по статусу.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)
Регистр сведений подчинен регистратору?
Если да, то соединяться по всем полям регистра и регистратору с ТЧ.
По любому. Строки в ТЧ по данной строке регистра не будет, все поля в ТЧ будут NULL.
Приводите ваш вариант, можно будет сказать, что не так в нем.
Регистр сведений подчинен регистратору?
Если да, то соединяться по всем полям регистра и регистратору с ТЧ.
По какому конкретно полю ТЧ условие на Null задавать?
По любому. Строки в ТЧ по данной строке регистра не будет, все поля в ТЧ будут NULL.
Пробовал, не получилось.
Приводите ваш вариант, можно будет сказать, что не так в нем.
(11)Еще по количеству надо соединить.
Отличия же у вас по полю количество.
Причем у вас 2 ресурса Количества.
Еще раз.
Смысл в следующем:
Нужно соединить по всем полям регистра и всем полям ТЧ, по которым формируются записи в регистр, чтобы было видно, по каким записям регистра нет соответствующей строки в ТЧ.
Отличия же у вас по полю количество.
Причем у вас 2 ресурса Количества.
Еще раз.
Смысл в следующем:
Нужно соединить по всем полям регистра и всем полям ТЧ, по которым формируются записи в регистр, чтобы было видно, по каким записям регистра нет соответствующей строки в ТЧ.
(14)Запрос на скрине конечно работать не будет.
У вас одновременно условия ТЧДокумента.Ссылка = &Ссылка и ТЧДокумента.Ссылка Есть Null.
Из-за условия ТЧДокумента.Ссылка = &Ссылка устанавливается внутреннее соединение.
При внутреннем соединении Null быть не может. И результат пустой.
Если делаете отбор по ТЧДокумента.Ссылка = &Ссылка, то результат надо сначала во временную таблицу поместить, а потом уже эту временную таблицу соединять с РС.
И в этом запросе с РС уже условие ТЧДокумента.Ссылка Есть Null.
Либо уберите в вашем запросе отбор
ТЧДокумента.Ссылка = &Ссылка
тоже будет работать.
Но учтите, что у вас в РС 2 поля количества, а в документе, как я понимаю одно.
Тут скорее надо 2 разных запроса делать, когда количество выдано, и когда запланировано.
С отбором по статусу.
У вас одновременно условия ТЧДокумента.Ссылка = &Ссылка и ТЧДокумента.Ссылка Есть Null.
Из-за условия ТЧДокумента.Ссылка = &Ссылка устанавливается внутреннее соединение.
При внутреннем соединении Null быть не может. И результат пустой.
Если делаете отбор по ТЧДокумента.Ссылка = &Ссылка, то результат надо сначала во временную таблицу поместить, а потом уже эту временную таблицу соединять с РС.
И в этом запросе с РС уже условие ТЧДокумента.Ссылка Есть Null.
Либо уберите в вашем запросе отбор
ТЧДокумента.Ссылка = &Ссылка
тоже будет работать.
Но учтите, что у вас в РС 2 поля количества, а в документе, как я понимаю одно.
Тут скорее надо 2 разных запроса делать, когда количество выдано, и когда запланировано.
С отбором по статусу.
В документе правильно. Неправильно была обработка проведения прописана и по этой причине появлялись лишние записи. Сейчас алгоритм поправлен, нужно привести РС к актуальному состоянию, но функционалом постоянно пользуются пользователи и документов требуемых к перепроведению около 10 тыс. База высоконагруженная - в среднем 5-10 тыс активных пользователей круглосуточно и просто так взять и перепровести все документы можно только в технологическое окно раз в неделю в котором и так много работы надо уместить. Поэтому записи нужно удалить без перепроведения.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот