Как указать в запросе КонецДня() ? #406994


#0 by ПетяПетькин
Если указываю параметр, например, 31.03.09 23:59:59 то результат выдает все-равно не самые последние остатки, как можно в запросе указать, чтобы бралось значение параметра соответствующее последнему моменту времени дня??? что-то вроде функции КонецДня(ДатаКон)
#1 by Просто Лёха
А сразу в параметр КонецДня(ДатаКон)?
#2 by Широкий
смотри Момент времени
#3 by ПетяПетькин
я в консоли делаю запрос мне не нужен отчет щас надо быстро сделать одну выборку а там в параметрах просто дату указываешь и время
#4 by Serg_1960
Можно КОНЕЦПЕРИОДА(ДатаКон, ДЕНЬ) но лучше сразу в момент
#5 by ПетяПетькин
если бы все происходило в отчете - вопросов нет но мне это надо именно в запросе, т.к. я в консоли делаю выборку
#6 by ПетяПетькин
КОНЕЦПЕРИОДА(ДатаКон, ДЕНЬ) тоже выдает не самые последние остатки
#7 by Salvador Limones
Новый Граница(...., ....Включая)
#8 by Serg_1960
граница включая
#9 by ПетяПетькин
не, не то
#10 by tsr
Это косяк 8-кин, хотя 1С не желает признавать данного факта. Выхода два. Перепроводить все доки на начало дня и на конец дня меняя им время, или использовать границу
#11 by ПетяПетькин
это в теле запроса так можно написать?
#12 by Salvador Limones
Почему?
#13 by ПетяПетькин
ВЫБРАТЬ    ХозрасчетныйОстатки.СуммаОстатокКт КАК Аморт
#14 by Serg_1960
Имхо, все уже перечислили - а Вам все "не то". Теперь Вы нам скажите что у Вас там "не то" :(
#15 by Salvador Limones
В параметр Кон передай Границу.
#16 by ПетяПетькин
я могу эту строку включить в тело запроса, написанного выше?
#17 by ПетяПетькин
как в параметр консоли запросов передать Границу?
#18 by Salvador Limones
Нет. Выкинь наркотики, открой СП.
#19 by ПетяПетькин
так и я про то же!
#20 by Salvador Limones
Я дописал консоль.
#21 by ПетяПетькин
у меня маленькое срочное заданьице, я не могу щас дописывать консоль вобщем,  вариантов нету, кроме как сделать отчет и передать параметр
#22 by Serg_1960
У автора есть документы "...23:59:59"? :( Если срочно надо - возьми началопериода следующего дня. Если есть документы "...00:00:00" - вешайся :))
#23 by AHgpuXa
С чего ты взял что выдаются не самые последние остатки? Попробуй сравнить остатки при НачалоПериода(&Дата2,День) и КонецПериода(&Дата1,День) где Дата2 это Дата1 + 1день
#24 by artbear
C чего взял, что не самые последние остатки? Чем проверяешь?
#25 by Широкий
если есть 00:00:00 - вешаться не надо.. остатки будут на начало момента
#26 by ПетяПетькин
(23, 24)с того взял, что сравниваю результат запроса с ОСВ конечно есть такие документы, сколько угодно например, Амортизация ОС
#27 by mikecool
в семерке помнится в журнале не отображались документы со временем в течение первой секунды дня...
#28 by artbear
А вот теперь подумай: почему же ОСВ, построенное также на запросах, выдает результаты, отличные от твоего запроса? Как говорится, найди 10 различий между ОСВ и своим запросом.
#29 by ПетяПетькин
потому что в ОСВ задан параметр КонецДня(&Дата) а я в консоли запросов не могу задать таким образом параметр я могу тока указать дату с часами вопрос закрыт, всем спасибо
#30 by AHgpuXa
Ты читать умеешь? Ясно ж написали КонецПериода(&Дата1,День).
#31 by ПетяПетькин
как выяснилось, это не дает самую последнюю границу времени, как ее дает например КонецДня(&ДатаКон)
#32 by ShoGUN
Нагло гонишь, по-моему. Можно в параметре задать выражение, галку там поставь во второй колонке.
#33 by ПетяПетькин
тогда пребывай в неведении и далее
#34 by ShoGUN
Ты вторую строчку прочитал? Кто из нас в неведении пребывает?
#35 by PR
То
#36 by PR
Первое гон. Второе бред.
#37 by hhhh
сам то пойми, что это бред. Ты хочешь чтобы остатки на время 23:59:59 и на 00:00:00 следующего дня совпадали.
#38 by hhhh
используй ОстаткиИОбороты - ОСВ именно ее использует.
#39 by ПетяПетькин
Тема зажила своей жизнью?? Отчет я себе написал. Сам для себя выяснил, что КонецПериода(&ДатаКон, День) не дает последнюю границу времени дня, как это дает, например, КонецДня(&ДатаКон) Кто в этом сомневается - да пожалста, не буду переубеждать
#40 by PR
Ты не прав. Проблема в другом.
#41 by Salvador Limones
Не спорь! Не то, всё тут!
#42 by AHgpuXa
Неправильно выяснил, а я даже сомневаться начал. Поэтому полез в профайлер. запрос простенький: ВЫБРАТЬ    ОстаткиОстатки.Товар,    ОстаткиОстатки.КвоОстаток Так вот при КонецПериода(&ДатаКон, День), как и при КонецДня(&ДатаКон) профайлер показал один и тот же запрос, в качестве параметров куда передаются даты: {ts '5999-11-01 00:00:00'} и {ts '4009-05-07 23:59:59'}.
#43 by mikecool
интересно, а куда деваются милисекунды с 4009-05-07 23:59:59 по 4009-05-08 00:00:00? там же их 10000...
#44 by Aprobator
Может дело в составе даты ДатаКон? (Дата, а не ДатаВремя).
#45 by ShoGUN
Дата с совставом "Дата" - это дата с временем "00:00:00"
#46 by Aprobator
о чем и речь. Потому конец дня и не виден.
#47 by AHgpuXa
Описание типа данных datetime: Диапазон даты 1 января 1753 года — 31 декабря 9999 года Диапазон времени От 00:00:00 до 23:59:590,997 Откуда 10000 ?
#48 by AHgpuXa
к
#49 by ShoGUN
КонецДня от такой даты будет все равно с каким положено временем, потому что состав можно указывать только у реквизита, но не у переменной. Переменная всегда будет со временем.
#50 by Funny
Напугал реально. Померещелось КонецСвета!
#51 by ShoGUN
Глянь, что у 1С в календаре после 31.12.9999 :)))
#52 by ПетяПетькин
да, дата и время возвращаемые этими двумя функциями могут быть одинаковыми. Но на одну и ту же дату и время, например, 31.03.09 23:59:59 может быть записано 50 документов, один за другим. И в рамках последовательности, возможно, функция запроса КонецПериода(&ДатаКон), берет просто дату 31.03.09 23:59:59, а функция КонецДня(&датаКон) конец последовательности на эту дату. у кого есть УПП, и начисляется амортизация по бух. учету, по-пробуйте построить простой
#53 by ПетяПетькин
.. запрос по остаткам 02.01 счета в консоли запросов и укажите там дату со временем , например, 31.01.09 23:59:59 и сравните полученные остатки с ОСВ по этому же счету
#54 by Serg_1960
Блин, даже на ИТС есть статья, где упоминают особо время "23:59:59" как нежелательное... а вопросы остаются...
#55 by ПетяПетькин
ну дык... а народ-то спорил :)
#56 by hhhh
ну для примера возьми ОСВ, где дата начала и дата конца - одна и та же: с временем - 23:59:59. У тебя в ОСВ получатся разные остатки на начало и на конец.
#57 by ПетяПетькин
да мне ниче уже объяснять не надо я сам запарился объяснять в этой ветке народу, который спорил что КонецПериода(&ДатаКон) и КонецДня(&ДатаКон) по одинаковому возвращают остатки на конец дня
#58 by tsr
Про время 00:00:00 там не упоминается?
#59 by AHgpuXa
при чем здесь результаты функций? Я в привел цифры которые передаются в конечный запрос к SQL. И где последовательность? Или тебе может весь конечный запрос привести и рассказать как в сиквеле хранятся остатки и движения?
#60 by Serg_1960
Можно и дальше плодить документы со временем "23:59:59". Лично я считаю что документы _должны_ оформляться в рабочее время по рабочим дням! Исключение - для регламентных(служебных) документов.
#61 by ПетяПетькин
так речь именно о регламентных документах и идет! АмортизацияОС пишет сама себя на последнее время после последнего документа, хотя время в документе может быть 12:00
#62 by ПетяПетькин
при том, что разговор я лично в этой ветке веду о разном результате по выборке остатков с использованием этих двух функций а ты о чем - не знаю
#63 by hhhh
просто всё правильно сделано. По другому не может быть. Другое дело, что неудобно, но с этим ничего не поделаешь. Просто ты хочешь чтобы 1С читала твои мысли, как ты хочешь получить остатки. Если задаешь время 23:59:59, то ты хочешь чтобы остатки были на конец этой секунды, а если ты напишешь время 00:00:00, то тебе уже нужны остатки на начало секунды. Фирма 1С в такие игрушки не играет.
#64 by tsr
Он о другом грезит. Чтобы КонецПериода был концом периода, а не чем-то около конца, или приблизительно конца. А Начало было именно началом и ничем более. Вроде нормальная и вполне трезвая хотелка.
#65 by AHgpuXa
А я о том, что при использовании этих функция мы получаем в результате один и тот-же запрос к СКЛ. Что делает запрос. 1. Он получает конечные остатки WHERE _AccumRegTotals6976._Period = @P1 AND _AccumRegTotals6976._Fld6969RRef = @P2 Где @P2 это товар, а @P1 это {ts '5999-11-01 00:00:00'} 2. Объеденияется с +- движениями, при условии WHERE _AccumReg6966._Period >= @P4 AND _AccumReg6966._Period < @P1 AND _AccumReg6966._Active = @P5 AND _AccumReg6966._Fld6969RRef = @P2 Где @P4 это {ts '4009-05-07 23:59:59'}, причем при использовании 2-ух функций, параметры ничем не отличаются.
#66 by Sammo
Позиция 1с, насколько я помню, следующая - когда получаешь остатки из виртуальной таблицы остатки, то ты по умолчанию получаешь остатки на, а не по. И для примера приводили ситуацию, когда хочешь получить остатки НА 01.01
#67 by Serg_1960
Блин, ситуация типа "Минздрав предупреждает" :))  - 1С предупреждает, что для вычисления остатков по умолчанию задан момент времени исключительно. Источник: статья ИТС "Особенности использования периодов и моментов времени". PS: И хватит опять Америку открывать :((
#68 by Sammo
причем это так еще с 8.0 Так что это скорее из серии "Минздрав устал предпреждать"
#69 by Serg_1960
Ага... Я - вышел из темы, пошел курить :))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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