Настройка отчета СКД #673822


#0 by Oleg102
Здравствуйте! Есть конфигурация самонаписаная введения учета по общежитию. Сделал отчет по проживающим в общежитие через СКД. Где есть такие колонки как "Дата заселения" и "Дата выселения", от которых считается сколько дней прожил человек и на какую сумму. Так вот дата выселения не ставится, а ставится она по факту выезда. Так вот мне надо что бы когда я формирую отчет, что бы в пустую колонку проставлялась дата "Конца периода" которая устанавливается в настройках при формировании отчета. Если значение пусто то ставить дату конца периода. Если не пуста и стоит дата выезда то пропускать. Как это возможно сделать? Подскажите пожалуйста.
#1 by Wobland
выбор когда? а что такое пропускать?
#2 by Лодырь
В теле запроса сверка даты выезда с пустой датой (или нулом), в случае незаполненности менять на значение параметра переданного в запрос.
#3 by Godofsin
Заводишь свой реквизит, в выражении епишешь что-то вроде: Если датаЗаселения = null тогда МойРеквизит = КонецПериода иначе МойРеквизит = датаЗаселения КонецЕсли;
#4 by Oleg102
ААА понял вроде. Сейчас попробую. вскоре отпишу
#5 by Oleg102
Сделал свой реквизит в и сделал так ВЫБОР    КОГДА СведенияОДоговорахСрезПоследних.ДатаОкончания ЕСТЬ НЕ NULL ТОГДА КонецПериода    ИНАЧЕ СведенияОДоговорахСрезПоследних.ДатаОкончания КОНЕЦ Только ругается на конец периода.
#6 by Wobland
&
#7 by Godofsin
Ну дык он не знает о "КонецПериода"
#8 by Godofsin
И условие проверь, неправильно оно
#9 by Wobland
ДатаОкончания ЕСТЬ НЕ NULL ДатаОкончания НЕ ЕСТЬ NULL НЕ ДатаОкончания ЕСТЬ NULL
#10 by Oleg102
Всем спасибо. Все получилось ВЫБОР    КОГДА СведенияОДоговорахСрезПоследних.ДатаОкончания ЕСТЬ НЕ NULL ТОГДА &КонецПериода    ИНАЧЕ СведенияОДоговорахСрезПоследних.ДатаОкончания КОНЕЦ Все заработало. Благодарю
#11 by Лодырь
хочешь запутать юного подована?
#12 by Wobland
выпутавшись, падаван шаг сделает к джедайству семимильный
#13 by Oleg102
=))))
#14 by Лодырь
шаг он не сделает. темная сторона силы уже довлеет на ним. условие неверное выбрал он.
#15 by MiniMuk
Естьnull(СведенияОДоговорахСрезПоследних.ДатаОкончания, &КонецПериода) не?
#16 by Oleg102
Да да ребята! уже смотрю не верное. Он ставит везде теперь дату конец периода. А у меня есть уже в некоторых документах дата выезда. как мне это исправить
#17 by Wobland
выбор когда?
#18 by Oleg102
Выбор когда почему то не работает. Правильно не работает.
#19 by Oleg102
не проставляет дату конца периода где её нету
#20 by MiniMuk
Дык правильно не работает, когда дата окончания заполнена выводить текущий период, а иначе выводить дату окончания которая собтвенно нул
#21 by Wobland
выбор когда всегда работает правильно, не ври
#22 by Oleg102
Почему то везде проставляет дату конца периода. даже там где уже стоит дата окончания по документу.
#23 by Лодырь
Потому что у тебя так условие прописано.
#24 by MiniMuk
так у тебя в условии ....ДатаОкончания ЕСТЬ НЕ NULL ТОГДА &КонецПериода тоесть когда датаокончания не нул поставить конецпериода!!!
#25 by Mitriy
Совсем человека запутали... значение даты у него пустая дата, а не нул - это во-первых, а во-вторых есть Вычисляемые поля и Параметры...
#26 by Лодырь
У нас благородная цель. Смотри
#27 by MiniMuk
Ты телпат?  и знаешь что у него дата точно не нул?
#28 by Mitriy
судя по надо очень извращенно извернуться, чтобы получить нул в дате выселения...
#29 by Mitriy
даже если нул, все равно все легко решается через выражение в вычисляемых полях СКД...
#30 by Oleg102
ВЫБОР    КОГДА СведенияОДоговорахСрезПоследних.ДатаОкончания ЕСТЬ НЕ NULL КОНЕЦ
#31 by Oleg102
Не хочет проставлять где нет даты КонецПериода.
#32 by Лодырь
А она вовсе не NULL. Мы уже писали выше что необходимо сравнение с "нулевой" датой.
#33 by Wobland
+ то есть, с первым числом первого месяца первого года
#34 by Oleg102
Это как?
#35 by Лодырь
В смысле как? Ты сравнивать даты умеешь? Вот и сравни. Представь что это не дата, а число. Тогда кроме того, что оно может быть NULL, оно может быть нулем. Вот у тебя точно такая же ситуация, только с датой.
#36 by Wobland
датавремя(что?)
#37 by Oleg102
ВЫБОР   КОГДА СведенияОДоговорахСрезПоследних.ДатаОкончания <> ДАТАВРЕМЯ(1,1,1,0,0,0)     ТОГДА СведенияОДоговорахСрезПоследних.ДатаОкончания   ИНАЧЕ &КонецПериода КОНЕЦ
#38 by Oleg102
так?
#39 by Wobland
а на этот вопрос ты найдёшь ответ, запустив отчёт
#40 by Oleg102
Работает =) только не считает. у меня исходя из даты высчитывает количество дней. Сейчас стоит такое.
#41 by Лодырь
Ну так напрягись и перепиши и это выражение.
#42 by Oleg102
Надо сделать выбор так же
#43 by Wobland
благословляю
#44 by Oleg102
ВЫБОР    КОГДА РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(СведенияОДоговорахСрезПоследних.ДатаНачала, ДЕНЬ), НАЧАЛОПЕРИОДА(СведенияОДоговорахСрезПоследних.ДатаОкончания, ДЕНЬ), ДЕНЬ) + 1 ЕСТЬ НЕ NULL
#45 by Oleg102
Спасибо Вам большое! Что направили на пусть истинный! Юный подаван, получил опыт. =)
#46 by Wobland
опять нулл? да и не обязательно заниматься вычислениями в условии
#47 by Oleg102
А что тогда проставить. а то он ругается у меня что типа <<?>>
#48 by Wobland
редкие ошибки не содержат в тексте всего нужного для их разрешения
#49 by Oleg102
#50 by Oleg102
так правильно будет ">0"
#51 by Лодырь
Блин, не извращайся, убери выбор внутрь разности дат.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С