Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Ограничить данные по периоду

Ограничить данные по периоду
Я
   Ramis333
 
07.06.18 - 15:28
как правильно ограничить полученные данные по периоду? нужно два параметра указывать "Период"?

ВЫБРАТЬ
    РасчетыПоРаботамОстатки.Исполнитель КАК Исполнитель,
    РасчетыПоРаботамОстатки.Работа КАК Услуга,
    РасчетыПоРаботамОстатки.ЗаказНаряд КАК ЗаказНаряд,
    РасчетыПоРаботамОстатки.СуммаОстаток КАК Сумма,
    ЗаказНарядУслуги.ДатаИВремяВыполнения КАК Выполнено
ИЗ
    РегистрНакопления.РасчетыПоРаботам.Остатки(&Период, ) КАК РасчетыПоРаботамОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Услуги КАК ЗаказНарядУслуги
        ПО РасчетыПоРаботамОстатки.ЗаказНаряд = ЗаказНарядУслуги.Ссылка
            И РасчетыПоРаботамОстатки.Работа = ЗаказНарядУслуги.Услуга
ГДЕ
    ЗаказНарядУслуги.Ссылка.Дата >= &ДатаНачала
    

УПОРЯДОЧИТЬ ПО
    Исполнитель,
    ЗаказНаряд
 
 
   Ramis333
 
1 - 07.06.18 - 15:28
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);        
    Запрос.УстановитьПараметр("Период",  КонецДня(Объект.ДатаОкончания) + 1);
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        Строка = Объект.Услуги.Добавить();
        ЗаполнитьЗначенияСвойств(Строка, Выборка);
        
    КонецЦикла;
   Ramis333
 
2 - 07.06.18 - 15:29
начальную дату программа не видит
в консоли получается правильно
   Гипервизор
 
3 - 07.06.18 - 15:35
Что значит "ограничить по периоду"? Выборка за период нужна чтоли?
   Ramis333
 
4 - 07.06.18 - 15:36
да
   Гипервизор
 
5 - 07.06.18 - 15:41
(4) Используйте таблицу ОстаткиИОбороты.
   Михаил Козлов
 
6 - 07.06.18 - 15:46
Можно и без соединения:
РасчетыПоРаботамОстатки.ЗаказНаряд.ДатаИВремяВыполнения КАК Выполнено
хотя через "." считается не комильфо.
   Мандалай
 
7 - 07.06.18 - 15:49
Если СКД, то используй Стандартный Период.
   Ramis333
 
8 - 07.06.18 - 16:02
нет, не скд. обычный запрос
   bolobol
 
9 - 07.06.18 - 16:03
Не используй Стандартный Период
   Ramis333
 
10 - 07.06.18 - 16:05
так тоже не срабатывает


"ВЫБРАТЬ
         |    РасчетыПоРаботамОстаткиИОбороты.Исполнитель КАК Исполнитель,
         |    РасчетыПоРаботамОстаткиИОбороты.Работа КАК Услуга,
         |    РасчетыПоРаботамОстаткиИОбороты.ЗаказНаряд КАК ЗаказНаряд,
         |    ЗаказНарядУслуги.ДатаИВремяВыполнения КАК Выполнено
         |ИЗ
         |    РегистрНакопления.РасчетыПоРаботам.ОстаткиИОбороты(&НачДата, &КонДата, Период, , ) КАК РасчетыПоРаботамОстаткиИОбороты
         |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Услуги КАК ЗаказНарядУслуги
         |        ПО РасчетыПоРаботамОстаткиИОбороты.ЗаказНаряд = ЗаказНарядУслуги.Ссылка
         |            И РасчетыПоРаботамОстаткиИОбороты.Работа = ЗаказНарядУслуги.Услуга
         |
         |УПОРЯДОЧИТЬ ПО
         |    Исполнитель,
         |    ЗаказНаряд";
    
    Запрос.УстановитьПараметр("НачДата", Объект.ДатаНачала);        
    Запрос.УстановитьПараметр("КонДата",  КонецДня(Объект.ДатаОкончания) + 1);
 
 Рекламное место пустует
   bolobol
 
11 - 07.06.18 - 16:08
Что именно не срабатывает?
   Ramis333
 
12 - 07.06.18 - 16:11
заполняются все данные. начальную дату не видит
   bolobol
 
13 - 07.06.18 - 16:13
Врёте, сударь
   bolobol
 
14 - 07.06.18 - 16:13
Или 1С врёт, но это уже ТИИ и пересчёт итогов
   bolobol
 
15 - 07.06.18 - 16:15
Я правильно понимаю, что в итоге запроса вы получаете данные, либо/либо:
- остаток на конец, которого нет в данном периоде
- остаток на начало, которого нет в прошлом периоде
- движения, которых нет в указанном периоде

?
   bolobol
 
16 - 07.06.18 - 16:16
*движения = оборот, которого нет в указанном периоде
   bolobol
 
17 - 07.06.18 - 16:17
Если хоть одно из трёх - ТИИ и пересчёт итогов, можно наоборот. Если нет - сударь врёт.
   Ramis333
 
18 - 07.06.18 - 16:20
разобрался. при перепроведении документа в период записывалась дата проведения, а не дата документа

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует