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


1С:Предприятие ::

Метки: 

Помогите разобраться со срезомПоследних в запросе

Я
   asder117
 
09.07.18 - 22:11
Есть такой запрос
 "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    АрендуемыеПлощади.Помещение КАК Помещение,
        |    АрендуемыеПлощади.ВидПлощади КАК ВидПлощади,
        |    АрендуемыеПлощади.Площадь,
        |    АрендуемыеПлощади.Ставка,
        // 1CBiT_ABoltovich 15.07.2011 Начало{                    

        //|    АрендуемыеПлощади.ДатаНачала,

        //|    АрендуемыеПлощади.ДатаОкончания,

        //|    АрендуемыеПлощади.Статус,

        // 1CBiT_ABoltovich 15.07.2011 }Конец        

        |    АрендуемыеПлощади.Помещение.Владелец КАК Объект
        |ИЗ
        |    РегистрСведений.бит_АрендуемыеПлощади.СрезПоследних(&Дата, ДоговорКонтрагента = &ДоговорКонтрагента) КАК АрендуемыеПлощади
        |ИТОГИ ПО
        |    Помещение
        |АВТОУПОРЯДОЧИВАНИЕ";
Датой задаю текущую дату. В итоге запрос после выполнения выводит все записи вплоть до 2013 года.
хотя на сегодняшнюю дату к примеру запрос вообще должен дать 0.
В чем проблема, помогите разобраться. Заранее спасибо
 
 
   RomanYS
 
1 - 09.07.18 - 22:19
"запрос вообще должен дать 0." это лишь твое мнение. Его надо подкрепить структурой регистра, исходными записями (можно по договору) и результатом запроса.
   asder117
 
2 - 09.07.18 - 22:33
   asder117
 
3 - 09.07.18 - 22:37
(1) что просили
   PR
 
4 - 09.07.18 - 22:39
Еще один неуч
   asder117
 
5 - 09.07.18 - 22:41
(4) я не неуч, а голову сломал. конфу писал 1 бит запрос их и претензии к ним..и неуч тоже
   PR
 
6 - 09.07.18 - 22:42
(5) Так БИТ молодцы, написали правильно, а ты неуч
   RomanYS
 
7 - 09.07.18 - 22:44
(5) (2) Запрос возвращает последнюю запись по каждой комбинации измерений. Не вижу противоречий.
   asder117
 
8 - 09.07.18 - 22:48
(7) я это допетрил. но не хочется менять код и писать запрос из регистра накоплений(кстати возвращает то что надо)хочется сделать что-то из этого.
   asder117
 
9 - 09.07.18 - 22:49
(7) и с Вами я согласен. Как я понимаю надо добавить в запрос еще какое-то отличающее измерение...но его нет просто..водить значит все перепроводить...
   PR
 
10 - 09.07.18 - 22:49
(8) Ну так тогда допиши
ГДЕ ЛОЖЬ
Будет как раз ноль записей возвращать, как ты хочешь
 
 
   Fram
 
11 - 09.07.18 - 22:54
(2) нечетные (пустые) записи это попытка "обнулить" помещение? это твоя придумка или БИТа?
   asder117
 
12 - 09.07.18 - 22:55
(11) моего тут нет. это все бит
   Fram
 
13 - 09.07.18 - 22:55
(6) Рома, и это по твоему нормально?
   asder117
 
14 - 09.07.18 - 22:57
(13) Вот и я не догоняю просто..Чувствую придется процедуру переписывать а неохота
   PR
 
15 - 09.07.18 - 22:58
(11) LOL
Нечетные записи — это группировка запроса :))
   PR
 
16 - 09.07.18 - 22:59
(14) Ты бы хоть для начала картинки выложил не на говноресурс, а то не видно ни хрена, чувствительный ты наш :))
   asder117
 
17 - 09.07.18 - 22:59
(15) блин все спать..я и не догнал о чем он говорил..скрин глянул..
   asder117
 
18 - 09.07.18 - 23:02
(16) (7) Так Уважаемые..кто всетаки что посоветует с этим добром сделать...сжечь и переписать не предлагать
   PR
 
19 - 09.07.18 - 23:02
(17) Завтра выспишься, по статусу фильтруй :))
В ГДЕ естественно :))
   PR
 
20 - 09.07.18 - 23:03
(18) Как только скажешь, что тебе надо, так сразу и посоветуем
   Fram
 
21 - 09.07.18 - 23:03
(15) тьфу ты.. пардонте
   PR
 
22 - 09.07.18 - 23:05
+(19) А вот по договору надо в ПВТ фильтровать, кстати, ибо измерение
   asder117
 
23 - 09.07.18 - 23:06
(19) статус у них один - "договор" у всех. так что бесполезно (20) я хочу в результате увидеть что у арендатора осталось в конце после перемещений и движений..а после расторжения (как на скрине) вообще 0 показывать должен был
   asder117
 
24 - 09.07.18 - 23:07
по договору отбор идет
   PR
 
25 - 09.07.18 - 23:09
(23) Ты вот точно не выспался
Или вообще не соображаешь, как РС работает
Записи в РС не обнуляются, как сказано в (11), обнулить их можно только вещами типа 0 или каким-нить статусом типа "Не действует" в ресурсе
   asder117
 
26 - 09.07.18 - 23:10
Можно сделать так 
ВЫБРАТЬ
    бит_ЗанятостьПомещенийОстатки.Договор,
    бит_ЗанятостьПомещенийОстатки.Помещение,
    бит_ЗанятостьПомещенийОстатки.ВидПлощади,
    бит_ЗанятостьПомещенийОстатки.Организация,
    бит_ЗанятостьПомещенийОстатки.ПлощадьОстаток,
    бит_ЗанятостьПомещенийОстатки.Договор.Владелец
ИЗ
    РегистрНакопления.бит_ЗанятостьПомещений.Остатки(&Период, Договор = &ДоговорК) КАК бит_ЗанятостьПомещенийОстатки
плюс объеднить с запросом который в (0) чтобы получить ставку 
но что-то не кривова-то ли
   PR
 
27 - 09.07.18 - 23:10
(24) Тяжело вздохнул
Иди выспись
Я говорю, отбор надо делать в _ПВТ_, а не в ГДЕ
   PR
 
28 - 09.07.18 - 23:11
(26) Прочитай утром (19)
   asder117
 
29 - 09.07.18 - 23:12
а это что тады РегистрСведений.бит_АрендуемыеПлощади.СрезПоследних(&Дата, ДоговорКонтрагента = &ДоговорКонтрагента)
   asder117
 
30 - 09.07.18 - 23:13
(28) еще раз говорю по статусу бесполезно т.к. он один единственный
   PR
 
31 - 09.07.18 - 23:14
(29) Это список текущих (на &Дата) арендуемых площадей, включая те, которые уже сто лет как разрушены землятрясениями и у которых статус "Да нихрена это говно уже не действует"
   PR
 
32 - 09.07.18 - 23:15
(30) Ну так и что ты хочешь от программы, если вы ей ничего не говорите про закончившиеся договоры?
   PR
 
33 - 09.07.18 - 23:16
Тупизм какой-то
Вы в 17 году до нашей эры заключили договор, он, блеать, действует до сих пор, почему он не должен попадать в твой запрос?
 
 
   asder117
 
34 - 09.07.18 - 23:24
(33) он расторгнут и не должен поподать
   Fram
 
35 - 09.07.18 - 23:27
(34) а как вы зафиксировали в программе факт расторжения?
   PR
 
36 - 09.07.18 - 23:29
(34) Рукалицо
Перечитай ветку завтра
   asder117
 
37 - 10.07.18 - 06:47
(35) документ расторжения есть (36) хорошо
   Fram
 
38 - 10.07.18 - 07:42
(37) и этот документ не делает запись в тот регистр с новым состоянием?
   fgaabbb
 
39 - 10.07.18 - 07:45
(38) 100% не делает, иначе б не выводило все
   Малыш Джон
 
40 - 10.07.18 - 07:45
(38) но он же есть) как ты не понимаешь)
   asder117
 
41 - 10.07.18 - 10:36
(38) (39) (40) Вот что по регистрам идет
Процедура ДвиженияПоРегистрам(СтруктураШапкиДокумента, ТаблицаТекущихНачислений, Отказ, Заголовок)
    
    // бит_СостоянияДоговоровАренды

    Движение = Движения.бит_СостоянияДоговоровАренды.Добавить();
    Движение.ДоговорКонтрагента = СтруктураШапкиДокумента.ДоговорКонтрагента;
     Движение.Состояние          = Перечисления.бит_СостоянияДоговоровАренды.Расторгнут;
    Движение.ДатаСостояния      = СтруктураШапкиДокумента.Дата;
    
    Для каждого СтрокаТаблицы Из ТаблицаТекущихНачислений Цикл
        Движение = Движения.бит_ПлановыеНачисленияПоАренде.Добавить();
        
        ЗаполнитьЗначенияСвойств(Движение, СтрокаТаблицы);
        
        //bt_buld_240913_N 

        Движение.ДатаОкончания = МИН(СтрокаТаблицы.ДатаОкончания, СтруктураШапкиДокумента.Дата);
        //bt_buld_240913_K

        
        // Общие реквизиты

        Движение.Период                = СтруктураШапкиДокумента.Дата;
        Движение.Регистратор        = СтруктураШапкиДокумента.Ссылка;
        
        // Ресурсы

        Движение.Активно            = ЛОЖЬ;
    КонецЦикла;
    
    // 1CBiT_ABoltovich 11.08.2011 Начало{            

    Если Основание.ВидОперации = Перечисления.бит_ВидыОперацийУсловияДоговораАренды.РезервПодАрендатора Тогда 
        ЗначСтатус = Перечисления.бит_СтатусыРезервирования.РезервПодАрендатора;
    Иначе
        ЗначСтатус = Перечисления.бит_СтатусыРезервирования.Договор;
    КонецЕсли;
    // 1CBiT_ABoltovich 11.08.2011 }Конец

    
    // 1CBiT_ABoltovich 15.07.2011 Начало{            

    //бит_АрендуемыеПлощади    

    Для каждого СтрокаТаблицы Из Основание.Площади Цикл
        Движение = Движения.бит_АрендуемыеПлощади.Добавить();
        
        ЗаполнитьЗначенияСвойств(Движение, СтрокаТаблицы);
        
        Движение.ДоговорКонтрагента = СтруктураШапкиДокумента.ДоговорКонтрагента;
        //bt_dbulavka__01.08.2012_N 

        //Движение.Помещение            = Основание.Помещения[СтрокаТаблицы.КлючСтроки - 1].Помещение;

        Для Каждого СтрПомещения из Основание.Помещения Цикл
             Если СтрПомещения.КлючСтроки = СтрокаТаблицы.КлючСтроки Тогда
                Движение.Помещение   = СтрПомещения.Помещение;
              КонецЕсли;
        КонецЦикла;
        //bt_dbulavka__01.08.2012_K

        Движение.ДатаНачала            = Основание.Период;
        Движение.ДатаОкончания        = СтруктураШапкиДокумента.Дата;
        // 1CBiT_ABoltovich 11.08.2011 Начало{            

        //Движение.Статус                = Перечисления.бит_СтатусыРезервирования.Договор;

        Движение.Статус                = ЗначСтатус;
        // 1CBiT_ABoltovich 11.08.2011 }Конец

        
        // Общие реквизиты

        Движение.Период                = СтруктураШапкиДокумента.Дата;
        Движение.Регистратор        = СтруктураШапкиДокумента.Ссылка;
        
    КонецЦикла;
    // 1CBiT_ABoltovich 15.07.2011 }Конец


    //bt_dbulavka_24.07.2012_003_N Изменим дату окончания расторгаемого договора 

    Набор = РегистрыСведений.бит_АрендуемыеПлощади.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Установить(Основание);
    Набор.Прочитать();
    Для Каждого СтрокаНабора Из Набор Цикл
        СтрокаНабора.ДатаОкончания = СтруктураШапкиДокумента.Дата;
    КонецЦикла;
    Набор.Записать();
    //bt_dbulavka_24.07.2012_003_K

    
    ЗавершитьДействиеДополнительныхУслуг(СтруктураШапкиДокумента);
   Fram
 
42 - 10.07.18 - 10:47
(41) так есть запись в регистре или нет? если нет, перепроведи
   hhhh
 
43 - 10.07.18 - 10:49
(41) измерения у регистра какие?
   asder117
 
44 - 10.07.18 - 10:52
(43) (2) смотри выше
   asder117
 
45 - 10.07.18 - 10:52
(42) статус -договор у всех
   Sayan_mi
 
46 - 10.07.18 - 10:53
А если в этом регистре нет, то делай соединение по ТД с тем где есть дата окончания и проверяй если она больше твоей даты или пустая тогда истина.
   arsik
 
47 - 10.07.18 - 10:55
Просто добавь условие "ДатаОкончания непустое и больше датызапроса"
   Fram
 
48 - 10.07.18 - 10:55
(45) это был ответ на мой вопрос?
   arsik
 
49 - 10.07.18 - 10:55
+ (47) Вру. Дата окончания пустая или больше или равно даты запроса
 
 
   asder117
 
50 - 10.07.18 - 11:03
(49) попробую (48) да.Запись есть статус у всех одинаковый - договор
   arsik
 
51 - 10.07.18 - 11:14
(50) Только условие устанавливай не в параметры виртуальной таблицы среза, а в сам запрос.
   asder117
 
52 - 10.07.18 - 11:55
(51) СПС. Попробую поживем увидим как будет работать
   Fram
 
53 - 10.07.18 - 13:13
(50) Документ Расторжение делает запись с состоянием Договор?!!!
   Fram
 
54 - 10.07.18 - 13:14
(50) а как же в (41)
Движение.Состояние          = Перечисления.бит_СостоянияДоговоровАренды.Расторгнут;
   asder117
 
55 - 10.07.18 - 22:15
(53) (54) Другой регистр вообще-то



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