Имя: Пароль:
1C
 
Регистр цен номенклатуры УТ 10.3
0 Маленький Вопросик
 
01.02.15
18:37
Специалисту 10.3 небольшой вопрос -

Есть регистр цен номенклатуры в типовой 10.3
Как определить "тип регистратора" - например, выбрать цены, где у регистратор - только определенный тип документа "установка цен", например.
1 nordbox
 
01.02.15
18:45
У этого регистра есть только два регистратора
1 Док УстановкаЦенНоменклатуры
2 КорректировкаЗаписейРегистра
судя по вопросу вторым ты не пользуешься
2 nordbox
 
01.02.15
18:48
+1 если тебе из етого регистра что то надо открывай
Общие Модули -> Ценообразование
3 Маленький Вопросик
 
01.02.15
18:48
(1) у типовой - да. у меня еще регистратор - собственный документ
4 shuhard
 
01.02.15
18:52
(0) чё то мешает поставить в запросе отбор по типу регитсратора ?
5 Маленький Вопросик
 
01.02.15
19:07
(4) а то, что у регистратора должно соблюдаться определенное условие, если регистратор - собственный документ - он не должен быть инвентаризационным.
6 FIXXXL
 
01.02.15
19:08
Где Регистратор Ссылка Документ.УстановкаЦенНоменклатуры
7 Маленький Вопросик
 
01.02.15
20:23
(6) да, работает

    Запрос1 = Новый Запрос("ВЫБРАТЬ
                                       |    ЦеныНоменклатурыСрезПоследних.Цена,
                                       |    ЦеныНоменклатурыСрезПоследних.Регистратор
                                       |ИЗ
                                       |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                                       |            &Дата,
                                       |            ТипЦен = &ТипЦен
                                       |                И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
                                       |ГДЕ
                                       |    ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг");

Вот теперь, нужно проверить в этом запросе, что если Регистратор "ПоступлениеТоваровУслуг", у него должен быть "выключен" параметр "Инвентаризация". т.е. Инвентаризация = Ложь
8 Фокусник
 
01.02.15
20:27
(7) "ГДЕ ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг И НЕ ЦеныНоменклатурыСрезПоследних.Регистратор.Инвентаризация"
9 Маленький Вопросик
 
01.02.15
20:31
(8) срабатывает, но!

    Запрос1 = Новый Запрос("ВЫБРАТЬ
                                       |    ЦеныНоменклатурыСрезПоследних.Цена,
                                       |    ЦеныНоменклатурыСрезПоследних.Регистратор
                                       |ИЗ
                                       |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                                       |            &Дата,
                                       |            ТипЦен = &ТипЦен
                                       |                И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
                                       |ГДЕ
                                       | ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
                                       |     И НЕ ЦеныНоменклатурыСрезПоследних.Регистратор.Инвентаризация = Истина");

Нужно выбрать предудущее значение - сейчас возвращает - 0
10 Маленький Вопросик
 
01.02.15
21:08
Смастерил вот такое поделие:

как оптимизировать?

    Запрос1 = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
                                       |    ЦеныНоменклатуры.Цена,
                                       |    ЦеныНоменклатуры.Регистратор,
                                       |    ЦеныНоменклатуры.Период
                                       |ИЗ
                                       |    РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
                                       |ГДЕ
                                       |    ЦеныНоменклатуры.ТипЦен = &ТипЦен
                                       |    И ЦеныНоменклатуры.Номенклатура = &Номенклатура
                                       |    И ЦеныНоменклатуры.Период <= &Период
                                       |    И ЦеныНоменклатуры.Регистратор.Инвентаризация = ЛОЖЬ
                                       |
                                       |УПОРЯДОЧИТЬ ПО
                                       |    ЦеныНоменклатуры.Период УБЫВ");
11 H A D G E H O G s
 
01.02.15
21:53
(10) Нормально.
Единственное только вот так сделать:

ВЫРАЗИТЬ(ЦеныНоменклатуры.Регистратор как Документ.ПоступлениеТОваровУслуг).Инвентаризация

Странно как то вы цены номенклатуры регистрируете ПТУ-шкой.