Имя: Пароль:
1C
1С v8
Почему запрос не правильно выполняется в форме документа
0 Aswed
 
10.12.13
16:40
ВЫБРАТЬ
    МинимальныеОстаткиСкладПолучатель.Количество - ОстаткиСкладПолучатель.КоличествоОстаток КАК НеобходимоСкладПолучатель,
    МинимальныеОстаткиСкладПолучатель.Номенклатура,
    ОстаткиСкладОтправитель.КоличествоОстаток - МинимальныеОстаткиСкладОтправитель.Количество КАК МожетДатьСкладОтправитель,
    МинимальныеОстаткиСкладПолучатель.Количество КАК МинОПолучатель,
    МинимальныеОстаткиСкладОтправитель.Количество КАК МинООтправитель,
    ОстаткиСкладПолучатель.КоличествоОстаток КАК ОПолучатель,
    ОстаткиСкладОтправитель.КоличествоОстаток КАК ООтправитель
ПОМЕСТИТЬ Данные
ИЗ
    (ВЫБРАТЬ
        МинимальныеОстаткиНоменклатуры.Номенклатура КАК Номенклатура,
        СУММА(МинимальныеОстаткиНоменклатуры.Количество) КАК Количество
    ИЗ
        РегистрСведений.МинимальныеОстаткиНоменклатуры КАК МинимальныеОстаткиНоменклатуры
    ГДЕ
        МинимальныеОстаткиНоменклатуры.Склад = &СкладПолучатель
    
    СГРУППИРОВАТЬ ПО
        МинимальныеОстаткиНоменклатуры.Номенклатура) КАК МинимальныеОстаткиСкладПолучатель
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗапасыОстатки.Номенклатура КАК Номенклатура,
            СУММА(ЗапасыОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.Запасы.Остатки(&ДатаДокумента, СтруктурнаяЕдиница = &СкладПолучатель) КАК ЗапасыОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗапасыОстатки.Номенклатура) КАК ОстаткиСкладПолучатель
        ПО МинимальныеОстаткиСкладПолучатель.Номенклатура = ОстаткиСкладПолучатель.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗапасыОстатки.Номенклатура КАК Номенклатура,
            СУММА(ЗапасыОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.Запасы.Остатки(&ДатаДокумента, СтруктурнаяЕдиница = &СкладОтправитель) КАК ЗапасыОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗапасыОстатки.Номенклатура) КАК ОстаткиСкладОтправитель
        ПО МинимальныеОстаткиСкладПолучатель.Номенклатура = ОстаткиСкладОтправитель.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            МинимальныеОстаткиНоменклатуры.Номенклатура КАК Номенклатура,
            СУММА(МинимальныеОстаткиНоменклатуры.Количество) КАК Количество
        ИЗ
            РегистрСведений.МинимальныеОстаткиНоменклатуры КАК МинимальныеОстаткиНоменклатуры
        ГДЕ
            МинимальныеОстаткиНоменклатуры.Склад = &СкладОтправитель
        
        СГРУППИРОВАТЬ ПО
            МинимальныеОстаткиНоменклатуры.Номенклатура) КАК МинимальныеОстаткиСкладОтправитель
        ПО МинимальныеОстаткиСкладПолучатель.Номенклатура = МинимальныеОстаткиСкладОтправитель.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Данные.Номенклатура,
    ВЫБОР
        КОГДА Данные.МожетДатьСкладОтправитель > 0
            ТОГДА ВЫБОР
                    КОГДА Данные.МожетДатьСкладОтправитель >= Данные.НеобходимоСкладПолучатель
                        ТОГДА Данные.НеобходимоСкладПолучатель
                    ИНАЧЕ Данные.МожетДатьСкладОтправитель
                КОНЕЦ
        ИНАЧЕ 0
    КОНЕЦ КАК КоличествоДляПеремещения,
    Данные.МинОПолучатель,
    Данные.МинООтправитель,
    Данные.ОПолучатель,
    Данные.ООтправитель,
    Данные.МожетДатьСкладОтправитель,
    Данные.НеобходимоСкладПолучатель
ИЗ
    Данные КАК Данные

Сделал консоль в отчете, все верно считает и показывает.
Перенес его в модуль документа и он выдает не верные данные.

В чем может быть причина?
1 Fragster
 
модератор
10.12.13
16:41
так в форме или в обработке проведения?
2 mikecool
 
10.12.13
16:42
параметры, традиционно
3 Sabbath
 
10.12.13
16:43
(0) либо параметры либо остатки
4 Aswed
 
10.12.13
16:43
(1) В форме документа.
(2) Параметры одни и те же.
Тупо не выбирает остатки со склада получателя.
5 mikecool
 
10.12.13
16:44
(4) "Параметры одни и те же. " - все так говорят ))
6 Defender aka LINN
 
10.12.13
16:47
(0) Или параметры, или движения самого документа влияют. Но обычно - параметры.
7 Sabbath
 
10.12.13
16:50
(4) ставлю, что у тебя дата документа не начало дня, а в консоли было начало
8 Aswed
 
10.12.13
16:53
(7) Вооооо, всегда говорил что Миста лучший отладчик))))

Спасибо)))
9 Sabbath
 
10.12.13
16:54
(8) Осьминог Пауль к вашим услугам
10 Maxus43
 
10.12.13
16:55
(9) он умер
11 Sabbath
 
10.12.13
16:56
(10) Он в наших сердцах)
12 Aswed
 
10.12.13
16:56
(10) Это его реинкарнация))))