Имя: Пароль:
1C
1С v8
СКД. Отбор по 2 группам складов
0 Zabeldos
 
02.04.15
14:16
Смысл такой. Выбираются остатки номенклатуры по группе складов и соединяются с остатками по другой группе складов. Склады выбираются отбором. делается это для того чтобы в отчете по номенклатуре получить Номенкулатура|остатки1|остатки2|остатки1+2.
1 Zabeldos
 
02.04.15
14:17
ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Склад КАК СкладОпт,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК НоменклатураОпт,
    ТоварыНаСкладахОстаткиИОбороты.Характеристика КАК ХарактеристикаОпт,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстатокОпт,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстатокОпт,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииОборот КАК ВНаличииОборотОпт,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриходОпт,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасходОпт
ПОМЕСТИТЬ Опт
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, , , Склад <> &Склад) КАК ТоварыНаСкладахОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    Опт.СкладОпт,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Характеристика,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, 0) КАК ВНаличииНачальныйОстаток,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, 0) КАК ВНаличииКонечныйОстаток,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииОборот, 0) КАК ВНаличииОборот,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, 0) КАК ВНаличииПриход,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, 0) КАК ВНаличииРасход,
    ЕСТЬNULL(Опт.ВНаличииНачальныйОстатокОпт, 0) КАК ВНаличииНачальныйОстатокОпт,
    ЕСТЬNULL(Опт.ВНаличииКонечныйОстатокОпт, 0) КАК ВНаличииКонечныйОстатокОпт,
    ЕСТЬNULL(Опт.ВНаличииОборотОпт, 0) КАК ВНаличииОборотОпт,
    ЕСТЬNULL(Опт.ВНаличииПриходОпт, 0) КАК ВНаличииПриходОпт,
    ЕСТЬNULL(Опт.ВНаличииРасходОпт, 0) КАК ВНаличииРасходОпт,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток + Опт.ВНаличииНачальныйОстатокОпт КАК ОбщийНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток + Опт.ВНаличииКонечныйОстатокОпт КАК ОбщийКонечныйОстаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, , , ) КАК ТоварыНаСкладахОстаткиИОбороты
        ПОЛНОЕ СОЕДИНЕНИЕ Опт КАК Опт
        ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = Опт.НоменклатураОпт
            И ТоварыНаСкладахОстаткиИОбороты.Характеристика = Опт.ХарактеристикаОпт
Основная теорема систематики: Новые системы плодят новые проблемы.