Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с запросом по регистру бухгалтерии Хозрасчетный
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kosalex
Добрый день! Нужно выбрать остатки и номенклатуру на период. Где какое субконто не известно.

Делаю вот так:
ВЫБРАТЬ
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто1) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто1.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто2) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто2.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто3) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто3.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
    КОНЕЦ КАК Количество,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто1) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто1.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.Субконто1
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто2) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто2.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.Субконто2
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто3) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто3.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.Субконто3
    КОНЕЦ КАК Номенклатура
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки

        Счет = ПланыСчетов.Хозрасчетный.Материалы;
    
    Запрос.УстановитьПараметр("Период", Период);
    Запрос.УстановитьПараметр("Счет", Счет);




В результате получаю выборку с пустыми строками, строки есть, но пустые.

Что делаю не так?

Вот так выводиться нормально:
ВЫБРАТЬ
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто1) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто1.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто2) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто2.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто3) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто3.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
    КОНЕЦ КАК Количество,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто1) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто1.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.Субконто1
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто2) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто2.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.Субконто2
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто3) = ТИП(Справочник.Номенклатура)
                И ХозрасчетныйОстатки.Субконто3.Наименование ПОДОБНО "%" + "тералы" + "%"
            ТОГДА ХозрасчетныйОстатки.Субконто3
    КОНЕЦ КАК Номенклатура
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки


Остался вопрос, правильно ли я обработал Выбор Остатков по виду субконто?
ignsv
Попробуйте использовать параметр виртуальной таблицы "Субконто": указать туда ПВХ.ВидыСубконто.Номенклатура
kosalex
Цитата(ignsv @ 03.06.15, 10:47) необходимо зарегистрироваться для просмотра ссылки
Попробуйте использовать параметр виртуальной таблицы "Субконто": указать туда ПВХ.ВидыСубконто.Номенклатура



Передал, выбирает, а как в таком случае сравнить наименование Номенклатуры со строкой "атерал"?

Если я задам параметры виртуальной таблицы, то тогда у меня не будет субконто 2,3, т.к. в счете субконто 1 номенклатура, а остальные не заполнены

Так говорит что нету Субконто2,Субконто3. Говорит правильно, а как сделать чтобы можно было сравнить с наименованием номенклатуры?
ВЫБРАТЬ
    ХозрасчетныйОстатки.КоличествоОстаток,
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Субконто3
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
            &Период,
            Счет = &Счет,
            &ВидСубконто,
            Субконто1.Наименование ПОДОБНО "%" + "атералы" + "%"
                ИЛИ Субконто2.Наименование ПОДОБНО "%" + "атералы" + "%"
                ИЛИ Субконто3.Наименование ПОДОБНО "%" + "атералы" + "%") КАК ХозрасчетныйОстатки
TipsyKID
Уберите из виртуальной таблицы условие на подобно и поместите его в обычное условие , только для Субконто1 оставте.
И не волнуйтесь, для этого ВидСубконто и существует, он оставит из остатков только аналитику по Номенклатуре , не зависимо на каком месте ВидСубконто.Номенклатура находился в проводках.

ВЫБРАТЬ
    ХозрасчетныйОстатки.КоличествоОстаток,
    ХозрасчетныйОстатки.Субконто1
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ &СпСчетов, &ВидСубконто, ) КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.Субконто1.Наименование ПОДОБНО "%" + "атералы" + "%"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.