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