Имя: Пароль:
1C
1С v8
Не работает МоментВремени(). Надо получить старую цену.
,
0 Koliaff
 
13.06.13
07:51
Надо получить старую оптовую цену для товара.
Вот код :
============================
ЗапросПоСтаромуОпту = Новый Запрос;
   ЗапросПоСтаромуОпту.Текст = "ВЫБРАТЬ
                               |    ЦеныНоменклатурыСрезПоследних.Цена
                               |ИЗ
                               |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                               |            &ПериодВремениДоДокумента,
                               |            ТипЦен = &Опт
                               |                И Номенклатура = &НашаНоменклатура) КАК ЦеныНоменклатурыСрезПоследних";
   ЗапросПоСтаромуОпту.УстановитьПараметр("Опт",Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("00002"));
   ЗапросПоСтаромуОпту.УстановитьПараметр("НашаНоменклатура",ДанныеСтроки.Номенклатура);
   Если ЭтоНовый() Тогда
       ЗапросПоСтаромуОпту.УстановитьПараметр("ПериодВремениДоДокумента",ТекущаяДата());
   Иначе    
       ЗапросПоСтаромуОпту.УстановитьПараметр("ПериодВремениДоДокумента",Новый Граница(Ссылка.МоментВремени(), ВидГраницы.Исключая));
   КонецЕсли;    

=================================
Почему-то если документ, в котором распологается этот запрос делает движения по регистру цены номенклатуры, то запрос срабатывает так, что показывает цену, установленную нашим проводимым документом, хотя ВидГраницы.Исключая
================================
Подскажите ?
1 cw014
 
13.06.13
08:03
Новый Граница(Ссылка.Дата, ВидГраницы.Исключая)
2 Koliaff
 
13.06.13
08:06
ЗапросПоСтаромуОпту.УстановитьПараметр("ПериодВремениДоДокумента",Новый Граница(Ссылка.Дата, ВидГраницы.Исключая));
==========================================
Все равно показывает цену установленную документом
3 Фрэнки
 
13.06.13
08:09
(2) у меня тоже есть подобного рода запросы, но все нормально работает по варианту:
УстановитьПараметр("ПериодВремениДоДокумента",Новый Граница(Ссылка.МоментВремени(), ВидГраницы.Исключая));
4 Defender aka LINN
 
13.06.13
08:09
(2) За Ссылка.Дата - пожизненный эцих с гвоздями.
А вообще - подумать пробовал? Ну, там, в сторону того, какая у регистра "ЦеныНоменклатуры" периодичность? Или в сторону того - стоит ли записывать движения принудительно?
5 Koliaff
 
13.06.13
08:09
ЗапросПоСтаромуОпту.УстановитьПараметр("ПериодВремениДоДокумента",Новый Граница(НачалоДня(Ссылка.Дата)-1, ВидГраницы.Исключая));

Вот так работает, но что-то как-то не красиво
6 Фрэнки
 
13.06.13
08:10
(2) а что в регистре сведений? как он настроен по периодичности?
7 Фрэнки
 
13.06.13
08:10
(5) похоже что у тебя периодичность День
8 Koliaff
 
13.06.13
08:11
"В пределах дня" - периодичность
9 Koliaff
 
13.06.13
08:12
ВОт так напиал :
ЗапросПоСтаромуОпту.УстановитьПараметр("ПериодВремениДоДокумента",НачалоДня(Ссылка.Дата)-1);
======================
Правильно ?
10 Фрэнки
 
13.06.13
08:17
(9) Если ваш проводимый документ устанавливает Цену, то убирай независимость, а периодичность установи по регистратору. Иначе глюки в установке цен все равно будут, если кто-то из юзеров забудет, что устанавливать цену разрешается только один раз в день. Но если не менять периодичность, то работать будет и так как у тебя написано в 9
Закон Брукера: Даже маленькая практика стоит большой теории.