Имя: Пароль:
1C
1С v8
Автоматическое снятие с резерва. Разбор запроса.
0 kible
 
17.09.14
13:23
Добрый день! Разбираюсь с запросом, который выбирает не снятые с резерва заказы.
Но никак не пойму зачем в запросе внутреннее соединение?

ВЫБРАТЬ
    ТоварыВРезервеНаСкладахОстатки.ДокументРезерва КАК ДокументРезерва,
    ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
    ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ДатыРезерва.РегистраторДата КАК РегистраторДата,
    ДатыРезерва.ДокументРезерва.Контрагент КАК Контрагент,
    ДатыРезерва.СрокРезерва КАК СрокРезерва
ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, ) КАК ТоварыВРезервеНаСкладахОстатки
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ТоварыВРезервеНаСкладах.ДокументРезерва КАК ДокументРезерва,
            ТоварыВРезервеНаСкладах.Склад КАК Склад,
            ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура,
            ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            МАКСИМУМ(ТоварыВРезервеНаСкладах.Регистратор.Дата) КАК РегистраторДата,
            ТоварыВРезервеНаСкладах.Регистратор.СрокРезерва КАК СрокРезерва
        ИЗ
            РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
        
        СГРУППИРОВАТЬ ПО
            ТоварыВРезервеНаСкладах.ДокументРезерва,
            ТоварыВРезервеНаСкладах.Склад,
            ТоварыВРезервеНаСкладах.Номенклатура,
            ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры,
            ТоварыВРезервеНаСкладах.Регистратор.СрокРезерва) КАК ДатыРезерва
        ПО (ДатыРезерва.Склад = ТоварыВРезервеНаСкладахОстатки.Склад)
            И (ДатыРезерва.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура)
            И (ДатыРезерва.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры)
            И (ДатыРезерва.ДокументРезерва = ТоварыВРезервеНаСкладахОстатки.ДокументРезерва)
1 Адский плющ
 
17.09.14
13:26
Получить последние регистраторы по имеющимся остаткам. Это в какой конфе такая ж*па ?
2 kible
 
17.09.14
13:27
(1) Это обработку скачал с Инфостарта
3 shuhard
 
17.09.14
13:28
(2) ну так задай вопрос автору , накуя нам за него париться
4 kible
 
17.09.14
13:32
(3) Ну не хочешь не смотри.
5 Hans
 
17.09.14
13:36
(4) Предъяви автору за запрос.
6 kible
 
17.09.14
13:39
(5) Скачал давно, поэтому не знаю кто автор. В самой обработке никаких контактов нет.
7 kible
 
17.09.14
13:46
Такой запрос для снятия резервов подойдет?
Или что-то еще я не учел?


ВЫБРАТЬ
    ТоварыВРезервеНаСкладахОстатки.Склад,
    ТоварыВРезервеНаСкладахОстатки.ДокументРезерва КАК ДокументРезерва,
    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
    ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
    ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры,
    ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток,
    ТоварыВРезервеНаСкладахОстатки.ДокументРезерва.СрокРезерва
ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ДокументРезерва.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ПродажаКомиссия)) КАК ТоварыВРезервеНаСкладахОстатки
ИТОГИ ПО
    ДокументРезерва
8 Hans
 
17.09.14
13:47
Этот запрос из контекса все обработки. Понять почему он тут сделал именно так - сложно. Возможно он этим запросом хочет получить последний регистратор или регистраторы.
9 Hans
 
17.09.14
13:51
(7) Если ты будешь отталкиваться от самого "Документа резерва" то пойдет. А если от регистраторов, то не пойдет.

Вобщем как сказали в теме v8: Автоматическое снятие резерва по истечении N дней. УТ 10.3 отталкивание от документа резерва решит 90% проблем.

Сам я когда сделал - отталкивался от документа резерва, не мудрил.
10 kible
 
17.09.14
13:56
(9) Спасибо за помощь. Мудрить не буду. Да и резервируется номенклатура только документом "Заказ покупателя".