Имя: Пароль:
1C
 
Как заменить товары аналогами в таблице?
,
0 Вася Теркин
 
05.02.16
11:54
Есть запрос, но Номенклатура в таблице Реализация и Поступление отличается.
Номенклатура сопоставляется в таблице Аналоги.
Надо в запросе в таблице поступления заменить номенклатуру Поступления на номенклатуру реализации чтобы их движения свести в одну номенклатурную позицию.
Начало запроса ниже.
1 Вася Теркин
 
05.02.16
11:54
ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Количество,
    ПоступлениеТоваровУслугТовары.Сумма
ПОМЕСТИТЬ Поступление
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Количество,
    РеализацияТоваровУслугТовары.Сумма
ПОМЕСТИТЬ Реализация
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    АналогиНоменклатуры.Материал,
    АналогиНоменклатуры.МатериалАналог
ПОМЕСТИТЬ Аналоги
ИЗ
    РегистрСведений.АналогиНоменклатуры КАК АналогиНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПоступленияИРеализация.Номенклатура,
    СУММА(ПоступленияИРеализация.Количество) КАК Количество,
    СУММА(ПоступленияИРеализация.Сумма) КАК Сумма,
    СУММА(ПоступленияИРеализация.Количество2) КАК Количество2,
    СУММА(ПоступленияИРеализация.Сумма2) КАК Сумма2
ИЗ
    (ВЫБРАТЬ
        Поступление.Номенклатура КАК Номенклатура,
        0 КАК Количество2,
        0 КАК Сумма2,
        Поступление.Количество КАК Количество,
        Поступление.Сумма КАК Сумма
    ИЗ
        Поступление КАК Поступление
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Реализация.Номенклатура,
        Реализация.Количество,
        Реализация.Сумма,
        0,
        0
    ИЗ
        Реализация КАК Реализация) КАК ПоступленияИРеализация

СГРУППИРОВАТЬ ПО
    ПоступленияИРеализация.Номенклатура
2 Вася Теркин
 
05.02.16
11:57
Номенклатуру в Поступлениях надо менять только если есть номенклатура Поступления, но номенклатуры нет в таблице Реализаций. Тогда в Реализациях надо найти аналог номенклатуры и подставить в Поступления.
3 Вася Теркин
 
05.02.16
11:58
Как лучше это в запросе сделать?
4 ixijixi
 
05.02.16
12:06
ВЫБРАТЬ
    ЕстьNULL(Аналоги.Аналог, ПоступленияИРеализация.Номенклатура),
...
Левое Соединение Аналоги КАК Аналоги
ПО ПоступленияИРеализация.Номенклатура = Аналоги.Номенклатура
5 Ma3eIIa
 
05.02.16
12:07
как то так

ВЫБРАТЬ
    "Пост1" КАК Документ,
    "ТоварП1" КАК Товар
ПОМЕСТИТЬ ВтПоступление
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    "Реал1" КАК Документ,
    "ТоварР1" КАК Товар
ПОМЕСТИТЬ ВтРеал
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    "ТоварП1" КАК Товар,
    "ТоварР1" КАК Аналог
ПОМЕСТИТЬ ВтАналог
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВтПоступление.Документ,
    ВтПоступление.Товар,
    ВтАналог.Аналог,
    ВтРеал.Товар КАК Замены
ИЗ
    ВтПоступление КАК ВтПоступление
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтАналог КАК ВтАналог
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРеал КАК ВтРеал
            ПО ВтАналог.Аналог = ВтРеал.Товар
        ПО ВтПоступление.Товар = ВтАналог.Товар
6 ObjectRelation Model
 
05.02.16
12:08
Найти всю, что есть в постплениях, но нет в реализации
Дальше присоединить аналоги
7 Вася Теркин
 
05.02.16
12:10
(6) Тоже мысль, сейчас попробую....