Имя: Пароль:
1C
1С v8
Баг в регистре бухгалтерии
0 DirecTwiX
 
24.12.13
21:33
Запрос:

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


Если внутри оставить только одно условие в ИЛИ (т.е. убрать ИЛИ), то получиться другая строка, которой не было в первом запросе, но которая подходит под его условие.
Т.е. оставить только условие:
Организация = &Организация
И (СчетДт = &СчетДт2
И СчетКт = &СчетКт2
И СубконтоДт1 = &Контрагент
И СубконтоКт1 = &НалогВзносы
)
1 DirecTwiX
 
24.12.13
21:35
Пришлось объединять:

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

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

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