powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Срез последних на дату из табличной части
10 сообщений из 10, страница 1 из 1
Срез последних на дату из табличной части
    #39193854
paps
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа- интересная задачка.
Есть табчасть с реквизитом дата открытия и наименование магаза

надо например на выбранную дату получить последние открытые магазы.
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39193889
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paps,
надо например на выбранную дату получить последние открытые магазы.
в упор не понимаю смысл. если магазины открываются один раз, то все у которых дата <= выбранной являются
"последними открытыми"
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39194115
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
papsнадо например на выбранную дату получить последние открытые магазы.

что значит последние? один магаз открывается несколько раз?

ну сгруппируй по магазу и максимуму по дате до нужной даты

>интересная задачка

мдя...
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39194160
paps
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно, магаз это образно.может быть киоск. а он в зависимости от сезона то открывается то закрывается
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39194211
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paps, и вообще, зачем эти велосипеды. нужен срез последних - заведите регистр и получайте на здоровье.
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39194941
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerpaps, и вообще, зачем эти велосипеды. нужен срез последних - заведите регистр и получайте на здоровье.

я бы не говорил так ожнозначно.
1. Такую задачу вполне можно перевразировать получить курс на каждый документ (если курс не заполнен на каждую дату), получить цену на кажду дату документа.
2. Это на собесах через раз спрашивают

В общем делается прсто. Возмем цену товара на даты к пимеру есть данные
таблица 1 (Item)
Товар Дата
молоток 01.02.2016
Отвертка 02.03.2015

Таблица 2 (price)
Дата Товар Цена (не на каждую дату)

так вот из второй таблицы нужно выбрать данные где товар = товару и дата меньше или равно даты из таблицы 1. сгрупировать по товару и получить максимальную дату. Потом по этой дате вытянуть реальую цену.
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39195089
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mad_Head,1. Такую задачу вполне можно перевразировать получить курс на каждый документ (если курс не заполнен на каждую дату), получить цену на кажду дату документа.
В том и дело что нельзя, во первых потому что задача - получать сведения на одну, выбранную дату - а с этим регистр справится. Во вторых потому что табличные части не для этого. Получение срезов на каждую дату в принципе нечастая ситуация, и любую его реализацию быстрой не назовешь, по возможности лучше обходиться без этого.
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39196105
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerMad_Head,1. Такую задачу вполне можно перевразировать получить курс на каждый документ (если курс не заполнен на каждую дату), получить цену на кажду дату документа.
В том и дело что нельзя, во первых потому что задача - получать сведения на одну, выбранную дату - а с этим регистр справится. Во вторых потому что табличные части не для этого. Получение срезов на каждую дату в принципе нечастая ситуация, и любую его реализацию быстрой не назовешь, по возможности лучше обходиться без этого.

Так вот срез последних на каждую дату по времени выполнения будет эквивалентен тому же срезу на 1 дату через виртуальную таблицу срез последних. Так что лучше не пытайтесь залезть в тему производительности если не опнимаете структуру таблиц и в какой запрос преобразовыввается обращение к виртуальной тоаблице срех последних. Я когда занимался 1с не однократно сталкивался с такой задачей. элементарно еще 1 пример. Нужно сравнить цену в документе с ценой в регистре цен (документов несколько и естественно для вас их в 1 дату не записал), а если разносить диски ИТС то естественно такой отребности не будет.
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39196129
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mad_Head,Так вот срез последних на каждую дату по времени выполнения будет эквивалентен тому же срезу на 1 дату через виртуальную таблицу срез последних.Судя по этой фразе, вам следует последовать вашему же совету:Так что лучше не пытайтесь залезть в тему производительности если не опнимаете структуру таблиц и в какой запрос преобразовыввается обращение к виртуальной тоаблице срех последних И перестаньте пожалуйста приплетать к этой теме срез последних на каждую дату, он тут ни к чему.
...
Рейтинг: 0 / 0
Срез последних на дату из табличной части
    #39196654
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerMad_Head,Так вот срез последних на каждую дату по времени выполнения будет эквивалентен тому же срезу на 1 дату через виртуальную таблицу срез последних.Судя по этой фразе, вам следует последовать вашему же совету:Так что лучше не пытайтесь залезть в тему производительности если не опнимаете структуру таблиц и в какой запрос преобразовыввается обращение к виртуальной тоаблице срех последних И перестаньте пожалуйста приплетать к этой теме срез последних на каждую дату, он тут ни к чему.

Примерно так будут выглядить запрос сгенерированный регистром сведений при обращении к виртуальной таблице срез последних.
select
price.item,
price.price
from price join
(select max(period) period, item
from price
where price < '...' and item in (...)
group by item) as tmp
on price.period = tmp.period and price.item = tmp.item ;

и вот так если есть таблица с периодами по которым нужно вытянуть значение на актуальную дату (к примеру регистр продаж).
select
price.item,
price.price
from price join
(select max(period) period, item
from price join sale on price.item = sale.item and price.period <= sale.period
group by item) as tmp
on price.period = tmp.period and price.item = tmp.item

от чего 2й запрос должен тормозить?

Если человеку нужены эти данные для очтета(а судя по теме они и нужны для отчета), то легче вытянуть их как есть из табличной части и не вводить доп регистр сведений.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Срез последних на дату из табличной части
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]