Имя: Пароль:
1C
1С v8
Получить 2 строки из запроса.
0 hasan-rusel
 
22.01.15
11:42
Документ: Списание Материалов из эксплуатации. БП 2.0.

Запрос:

ВЫБРАТЬ
    ХозрасчетныйОстаткиМЦ.Субконто1 КАК Номенклатура,
    ХозрасчетныйОстаткиМЦ.Субконто2 КАК ПартияМатериаловВЭксплуатации,
    ХозрасчетныйОстаткиМЦ.Субконто3 КАК Физлицо,
    ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество,
    ВЫБОР
        КОГДА ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстатокДт, 0) = 0
            ТОГДА ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный)
        ИНАЧЕ ХозрасчетныйОстатки.Счет
    КОНЕЦ КАК СчетПередачи,
    ХозрасчетныйОстаткиМЦ.КоличествоОстатокДт КАК КоличествоМЦ
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
            &Период,
            Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный),
            ,
            Организация = &Организация
                И (Подразделение = &Подразделение
                    ИЛИ Подразделение ЕСТЬ NULL )
                И Субконто2 ССЫЛКА Документ.ПередачаМатериаловВЭксплуатацию) КАК ХозрасчетныйОстаткиМЦ
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПередачаМатериаловВЭксплуатацию.Спецодежда КАК ПередачаМатериаловВЭксплуатациюСпецодежда
        ПО ХозрасчетныйОстаткиМЦ.Субконто1 = ПередачаМатериаловВЭксплуатациюСпецодежда.Номенклатура
            И ХозрасчетныйОстаткиМЦ.Субконто2 = ПередачаМатериаловВЭксплуатациюСпецодежда.Ссылка
            И ХозрасчетныйОстаткиМЦ.Субконто3 = ПередачаМатериаловВЭксплуатациюСпецодежда.ФизЛицо
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
                &Период,
                НЕ Счет В (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпецоснасткаВЭксплуатацииВспомогательный)),
                ,
                Организация = &Организация
                    И (Подразделение = &Подразделение
                        ИЛИ Подразделение ЕСТЬ NULL )
                    И Субконто2 В
                        (ВЫБРАТЬ РАЗЛИЧНЫЕ
                            Документ.ПередачаМатериаловВЭксплуатацию.Ссылка
                        ИЗ
                            Документ.ПередачаМатериаловВЭксплуатацию)) КАК ХозрасчетныйОстатки
        ПО ХозрасчетныйОстаткиМЦ.Субконто1 = ХозрасчетныйОстатки.Субконто1
            И ХозрасчетныйОстаткиМЦ.Субконто2 = ХозрасчетныйОстатки.Субконто2
            И ХозрасчетныйОстаткиМЦ.Субконто3 = ХозрасчетныйОстатки.Субконто3
ГДЕ
    ДОБАВИТЬКДАТЕ(ХозрасчетныйОстаткиМЦ.Субконто2.Дата, МЕСЯЦ, ПередачаМатериаловВЭксплуатациюСпецодежда.НазначениеИспользования.СрокПолезногоИспользования) < &Дата

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

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


Ранее было условие
ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстатокДт, ХозрасчетныйОстаткиМЦ.КоличествоОстатокДт)

Но необходимо создать 2 строки в проводке, т.к. остатки если и по  ХозрасчетныйОстатки - 10.11.1
и
ХозрасчетныйОстаткиМЦ - МЦ.02


Сейчас идет вот так, и выходит только 1 проводка
http://s017.radikal.ru/i412/1501/e4/91e461807e19.jpg
и не учитывает МЦ.
Подскажите как в запросе получить 2 строки с условием если
ХозрасчетныйОстатки.КоличествоОстатокДт > 0 тогда создаем строку по счету 10.11.1
Если ХозрасчетныйОстаткиМЦ.КоличествоОстатокДт  > 0 тогда создаем строку по счету МЦ.02


Заранее спасибо !
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший