Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Поиск в Запросе строки тч дока


Автор: rarxxx 17.6.2011, 16:59
В запросе есть такая строка
Код

ВЫБОР
            КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента > 0
                ТОГДА ВЫБОР
                        КОГДА
...



как в случае с запросом по регистру подобным образом узнать есть ли в документе вообще строка с номенклатурой которая участвует в проводке(многие скажут а как это в доке нет номенклатуры которая в проводке а вот в бухГалтерии почему то так сделали что документ комплектация номенклатуры вписывает в ДокументОприходования не себя а поступлениеТоваровУслуг из которого берет комплектацию нахрен так делать не понимаю =) ) и получить из этой строки сумму и  суммуНДС ?

Код

ВЫБРАТЬ
    ВложенныйЗапрос.Организация,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация),
    ВложенныйЗапрос.Контрагент,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Контрагент),
    ВложенныйЗапрос.Склад,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Склад),
    ВложенныйЗапрос.Ответственный,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Ответственный),
    ВложенныйЗапрос.флагНаличиеОригиналов КАК флагНаличиеОригиналов,
    ВложенныйЗапрос.Ссылка КАК Ссылка,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Ссылка),
    ВложенныйЗапрос.Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура),
    СУММА(ВложенныйЗапрос.Количество) КАК Количество,
    ВложенныйЗапрос.ДокументОприходования,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДокументОприходования),
    СУММА(ВложенныйЗапрос.Количество1) КАК Количество1,
    СУММА(ВложенныйЗапрос.Цена) КАК Цена,
    СУММА(ВложенныйЗапрос.Сумма) КАК Сумма,
    СУММА(ВложенныйЗапрос.СуммаНДС) КАК СуммаНДС,
    СУММА(ВложенныйЗапрос.СтоимостьДоставки) КАК СтоимостьДоставки,
    ВложенныйЗапрос.СтоимостьДоставкиПродажи
ИЗ
    (ВЫБРАТЬ
        РеализацияТоваровУслугТовары.Ссылка.Организация КАК Организация,
        РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,
        РеализацияТоваровУслугТовары.Ссылка.Склад КАК Склад,
        РеализацияТоваровУслугТовары.Ссылка.Ответственный КАК Ответственный,
        РеализацияТоваровУслугТовары.Ссылка.флагНаличиеОригиналов КАК флагНаличиеОригиналов,
        РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
        РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
        РеализацияТоваровУслугТовары.Количество КАК Количество,
        РеализацияТоваровУслугТовары.ДокументОприходования КАК ДокументОприходования,
        NULL КАК Количество1,
        РеализацияТоваровУслугТовары.Цена КАК Цена,
        РеализацияТоваровУслугТовары.Сумма КАК Сумма,
        РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС,
        РеализацияТоваровУслугТовары.Ссылка.СтоимостьДоставки КАК СтоимостьДоставки,
        ВЫБОР
            КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента > 0
                ТОГДА ВЫБОР
                        КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
                            ТОГДА РеализацияТоваровУслугТовары.Ссылка.СтоимостьДоставки * РеализацияТоваровУслугТовары.Сумма * 100 / РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента / 100
                        ИНАЧЕ РеализацияТоваровУслугТовары.Ссылка.СтоимостьДоставки * (РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС) * 100 / РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента / 100
                    КОНЕЦ
            ИНАЧЕ 0
        КОНЕЦ КАК СтоимостьДоставкиПродажи,
        NULL КАК Поле1
    ИЗ
        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    ГДЕ
        РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
        И РеализацияТоваровУслугТовары.Ссылка.Дата >= &ДатаС
        И РеализацияТоваровУслугТовары.Ссылка.Дата <= &ДатаПо
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор.Организация,
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор.Контрагент,
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор.Склад,
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор.Ответственный,
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор.флагНаличиеОригиналов,
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор,
        ПартииТоваровНаСкладахНалоговыйУчет.Номенклатура,
        NULL,
        ПартииТоваровНаСкладахНалоговыйУчет.ДокументОприходования,
        ПартииТоваровНаСкладахНалоговыйУчет.Количество,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        0
    ИЗ
        РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет КАК ПартииТоваровНаСкладахНалоговыйУчет
    ГДЕ
        ПартииТоваровНаСкладахНалоговыйУчет.Период >= &ДатаС
        И ПартииТоваровНаСкладахНалоговыйУчет.Период <= &ДатаПо
        И ПартииТоваровНаСкладахНалоговыйУчет.Регистратор <> ПартииТоваровНаСкладахНалоговыйУчет.ДокументОприходования
        И ПартииТоваровНаСкладахНалоговыйУчет.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг) КАК ВложенныйЗапрос

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

УПОРЯДОЧИТЬ ПО
    ВложенныйЗапрос.Ссылка.Дата
ИТОГИ
    СУММА(Количество),
    СУММА(Количество1)
ПО
    ОБЩИЕ,
    флагНаличиеОригиналов,
    Ссылка

Автор: sacred1972 18.7.2011, 16:09
Код

ВЫБРАТЬ
        ПартииТоваровНаСкладахНалоговыйУчет.Регистратор,
        ПартииТоваровНаСкладахНалоговыйУчет.Номенклатура,
        Выбор Когда РеализацияТоваровУслуг.Номенклатура Есть NULL
             Тогда "Нет строчки"
             Иначе "Есть строчка"
        Конец
    ИЗ
        РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет КАК ПартииТоваровНаСкладахНалоговыйУчет
    Левое соединение Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО  ПартииТоваровНаСкладахНалоговыйУчет.Регистратор = РеализацияТоваровУслуг.Ссылка
                И ПартииТоваровНаСкладахНалоговыйУчет.Номенклатура = РеализацияТоваровУслуг.Номенклатура



Идея в запросе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)