Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:29

Отбор по типу документа в СКД

Автор Vasya Povar, 26 дек 2016, 11:52

0 Пользователей и 1 гость просматривают эту тему.

Vasya Povar

Есть 4 запроса по отдельным документам. Нужно сделать отбор по виду документа. Делал через ВЫРАЗИТЬ(ВыданнаяНН.Ссылка КАК ТИП(Документ.ВыданнаяНН)), но в итоге получал весь список документов. Поля ВидДокумента в самих доках нету.

sertak

ВЫБРАТЬ
    ВыданнаяНН.Ссылка,
    ...
ГДЕ
    ВыданнаяНН.Ссылка ССЫЛКА Документ.ПоступлениеТоваровУслуг

Vasya Povar

Цитата: sertak от 26 дек 2016, 12:01
ВЫБРАТЬ
    ВыданнаяНН.Ссылка,
    ...
ГДЕ
    ВыданнаяНН.Ссылка ССЫЛКА Документ.ПоступлениеТоваровУслуг
Делал так, но в отборе весь список документов при выборе типа данных

sertak

Выложите весь запрос и опишите, как вы хотите реалитзовать отбор.

Vasya Povar

Запрос:
ВЫБРАТЬ
ВыданнаяНН.Контрагент,
ВыданнаяНН.Контрагент.ИНН,
ВыданнаяНН.Номер,
ВыданнаяНН.Дата,
ВыданнаяНН.НДС,
ВыданнаяНН.СуммаБезНДС,
ВыданнаяНН.СуммаСНДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов КАК СуммаСНДС,
ВЫБОР
КОГДА ВыданнаяНН.НДС = 0
ТОГДА ВыданнаяНН.СуммаБезНДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ КАК Сумма_СуммаКогдаНДС0,
ВЫБОР
КОГДА ВыданнаяНН.НДС <> 0
ТОГДА ВыданнаяНН.НДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ КАК Сумма_СуммаКогдаНДСНЕ0,
ВЫБОР
КОГДА ВыданнаяНН.НДС <> 0
ТОГДА ВыданнаяНН.СуммаБезНДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ КАК НДС_СуммаКогдаНДСНЕ0,
ВыданнаяНН.Проведен,
ВЫРАЗИТЬ(ВыданнаяНН.СчетКонтрагента КАК Справочник.ЦентрыОбразованияНДС) КАК СсылкаСчетКонтрагента,
ВыданнаяНН.Организация КАК Организация,
ВыданнаяНН.Выписал КАК Выписал,
ВыданнаяНН.Ссылка
ИЗ
Документ.ВыданнаяНН КАК ВыданнаяНН
ГДЕ
ВыданнаяНН.Дата >= &ДатаС
И ВыданнаяНН.Дата <= &ДатаПо

СГРУППИРОВАТЬ ПО
ВыданнаяНН.Дата,
ВыданнаяНН.Контрагент,
ВыданнаяНН.Контрагент.ИНН,
ВыданнаяНН.Номер,
ВыданнаяНН.НДС,
ВыданнаяНН.СуммаБезНДС,
ВыданнаяНН.Проведен,
ВыданнаяНН.Выписал,
ВыданнаяНН.Организация,
ВыданнаяНН.СуммаСНДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов,
ВЫБОР
КОГДА ВыданнаяНН.НДС = 0
ТОГДА ВыданнаяНН.СуммаБезНДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ВыданнаяНН.НДС <> 0
ТОГДА ВыданнаяНН.НДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ВыданнаяНН.НДС <> 0
ТОГДА ВыданнаяНН.СуммаБезНДС * ВыданнаяНН.КурсВзаиморасчетов / ВыданнаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫРАЗИТЬ(ВыданнаяНН.СчетКонтрагента КАК Справочник.ЦентрыОбразованияНДС),
ВыданнаяНН.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ВыданнаяРК.Контрагент,
ВыданнаяРК.Контрагент.ИНН,
ВыданнаяРК.Номер,
ВыданнаяРК.Дата,
ВыданнаяРК.НДС,
ВыданнаяРК.СуммаБезНДС,
ВыданнаяРК.СуммаСНДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.Ссылка.КорректируемаяНН.КратностьВзаиморасчетов,
ВЫБОР
КОГДА ВыданнаяРК.НДС = 0
ТОГДА ВыданнаяРК.СуммаБезНДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.КорректируемаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ВыданнаяРК.НДС <> 0
ТОГДА ВыданнаяРК.НДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.КорректируемаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ВыданнаяРК.НДС <> 0
ТОГДА ВыданнаяРК.СуммаБезНДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.КорректируемаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВыданнаяРК.Проведен,
ВЫРАЗИТЬ(ВыданнаяРК.СчетКонтрагента КАК Справочник.ЦентрыОбразованияНДС),
ВыданнаяРК.Организация,
ВыданнаяРК.Выписал,
ВыданнаяРК.Ссылка
ИЗ
Документ.ВыданнаяРК КАК ВыданнаяРК
ГДЕ
ВыданнаяРК.Дата >= &ДатаС
И ВыданнаяРК.Дата <= &ДатаПо

СГРУППИРОВАТЬ ПО
ВыданнаяРК.Дата,
ВыданнаяРК.Контрагент,
ВыданнаяРК.Контрагент.ИНН,
ВыданнаяРК.Номер,
ВыданнаяРК.НДС,
ВыданнаяРК.СуммаБезНДС,
ВыданнаяРК.Проведен,
ВыданнаяРК.Организация,
ВыданнаяРК.Выписал,
ВыданнаяРК.СуммаСНДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.Ссылка.КорректируемаяНН.КратностьВзаиморасчетов,
ВЫБОР
КОГДА ВыданнаяРК.НДС = 0
ТОГДА ВыданнаяРК.СуммаБезНДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.КорректируемаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ВыданнаяРК.НДС <> 0
ТОГДА ВыданнаяРК.НДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.КорректируемаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ВыданнаяРК.НДС <> 0
ТОГДА ВыданнаяРК.СуммаБезНДС * ВыданнаяРК.КорректируемаяНН.КурсВзаиморасчетов / ВыданнаяРК.КорректируемаяНН.КратностьВзаиморасчетов
ИНАЧЕ 0
КОНЕЦ,
ВЫРАЗИТЬ(ВыданнаяРК.СчетКонтрагента КАК Справочник.ЦентрыОбразованияНДС),
ВыданнаяРК.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПолученнаяРК.Контрагент,
ПолученнаяРК.Контрагент.ИНН,
ПолученнаяРК.Номер,
ПолученнаяРК.Дата,
ПолученнаяРК.НДС,
ПолученнаяРК.СуммаБезНДС,
ПолученнаяРК.СуммаСНДС,
ВЫБОР
КОГДА ПолученнаяРК.НДС = 0
ТОГДА ПолученнаяРК.СуммаБезНДС
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПолученнаяРК.НДС <> 0
ТОГДА ПолученнаяРК.НДС
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПолученнаяРК.НДС <> 0
ТОГДА ПолученнаяРК.СуммаБезНДС
ИНАЧЕ 0
КОНЕЦ,
ПолученнаяРК.Проведен,
ПолученнаяРК.СчетКонтрагента,
ПолученнаяРК.Организация,
NULL,
ПолученнаяРК.Ссылка
ИЗ
Документ.ПолученнаяРК КАК ПолученнаяРК
ГДЕ
ПолученнаяРК.Дата >= &ДатаС
И ПолученнаяРК.Дата <= &ДатаПо

СГРУППИРОВАТЬ ПО
ПолученнаяРК.Дата,
ПолученнаяРК.Контрагент,
ПолученнаяРК.Контрагент.ИНН,
ПолученнаяРК.Номер,
ПолученнаяРК.НДС,
ПолученнаяРК.СуммаБезНДС,
ПолученнаяРК.Проведен,
ПолученнаяРК.Организация,
ВЫБОР
КОГДА ПолученнаяРК.НДС = 0
ТОГДА ПолученнаяРК.СуммаБезНДС
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПолученнаяРК.НДС <> 0
ТОГДА ПолученнаяРК.НДС
ИНАЧЕ 0
КОНЕЦ,
ПолученнаяРК.СуммаСНДС,
ПолученнаяРК.СчетКонтрагента,
ПолученнаяРК.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПолученнаяНН.Контрагент,
ПолученнаяНН.Контрагент.ИНН,
ПолученнаяНН.Номер,
ПолученнаяНН.Дата,
ПолученнаяНН.НДС,
ПолученнаяНН.СуммаБезНДС,
ПолученнаяНН.СуммаСНДС,
ВЫБОР
КОГДА ПолученнаяНН.НДС = 0
ТОГДА ПолученнаяНН.СуммаБезНДС
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПолученнаяНН.НДС <> 0
ТОГДА ПолученнаяНН.НДС
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ПолученнаяНН.НДС <> 0
ТОГДА ПолученнаяНН.СуммаБезНДС
ИНАЧЕ 0
КОНЕЦ,
ПолученнаяНН.Проведен,
ПолученнаяНН.СчетКонтрагента,
ПолученнаяНН.Организация,
NULL,
ПолученнаяНН.Ссылка
ИЗ
Документ.ПолученнаяНН КАК ПолученнаяНН
ГДЕ
ПолученнаяНН.Дата >= &ДатаС
И ПолученнаяНН.Дата <= &ДатаПо

СГРУППИРОВАТЬ ПО
ПолученнаяНН.Дата,
ПолученнаяНН.Контрагент,
ПолученнаяНН.Контрагент.ИНН,
ПолученнаяНН.Номер,
ПолученнаяНН.НДС,
ПолученнаяНН.СуммаБезНДС,
ПолученнаяНН.Проведен,
ПолученнаяНН.Организация,
ПолученнаяНН.СуммаСНДС,
ПолученнаяНН.СчетКонтрагента,
ПолученнаяНН.Ссылка


Когда я делаю отбор по типу(ссылки) сначало есть список документов, но при выборе типа, открывается весь список документов.
На скринах видно


sertak

Как вариант можно в каждый запрос добавить искусственный строковый параметр, например, ТипДокумента и выбирать его из выпадающего списка, который надо предварительно заполнить значениями "Тип 1", "Тип 2" и т.д.

...
ГДЕ
    ВыданнаяНН.Дата >= &ДатаС
    И ВыданнаяНН.Дата <= &ДатаПо
    И &ТипДокумента = "Тип 1"
...
ОБЪЕДИНИТЬ ВСЕ
...
ГДЕ
    ВыданнаяРК.Дата >= &ДатаС
    И ВыданнаяРК.Дата <= &ДатаПо
    И &ТипДокумента = "Тип 2"
...

Это как направление для размышлений. Можно сделать не параметр, а поле и делать по нему отбор.

Vasya Povar

Пока сделал так:
ВЫБОР
КОГДА ВыданнаяНН.Ссылка ССЫЛКА Документ.ВыданнаяНН
ТОГДА "ВыданнаяНН"
КОНЕЦ КАК Тип


И по полю "Тип" делаю отбор, заполнив значениями. Но тогда нужно всегда вводить руками этот тип

Если бы можно было как то ставить пометки что ли...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск