v7: Как получить остатки на каждый день прямым запросом #657380


#0 by perkos
Чето не могу понять как получать остатки на каждый день, хелп.
#1 by Maxus43
зачем прямой запрос?
#2 by perkos
чето долго делается такой
#3 by Maxus43
а, 7-ка. я думал 8
#4 by perkos
из руководства: $РегистрОстаткиОбороты.<ИмяРегистра>([<НачалоПериода>][, <КонецПериода>][, <Периодичность>][,<МетодДополнения>][,<Соединение>][,<Условие>] [,<Измерение>][,<Ресурс>]) [as <Алиас>] Здесь из нового появился параметр МетодДополнения. Имеет смысл, только когда используется разворот по периодам: ДвиженияИГраницыПериода (ActionsAndPeriodBoundaries) – !!!в таблицу включаются обороты по каждому периоду движений и текущие остатки;!!! также таблица дополняется записями о ненулевых остатках на начало и/или конец на границы периода расчета хммм где я ошибаюсь?
#5 by perkos
Используй класс ПрямойЗапрос, эту же ВТ и параметр Дополнение. Получишь именно то что надо далее качаем из как то используем defcls.prm обновляем 1с++ ставим 1сСклЛайт должно работать, но у меня пока не взлетит, забил
#6 by HIDDEN MESSAGE
#7 by ЧеловекДуши
Мне как то класс "ПрямойЗапрос" не по вкусу, я люблю чистый SQL :)
#8 by perkos
ты предлогаешь перечень дат соеденить с запросом по остаткам? ВТ $РегистрОстатки это тоже не SQL
#9 by perkos
просто ребята делавшие $РегистрОстаткиОбороты не подумали про параметр Дополнение в Периодичности.... товарищ собравший класс прямойЗапрос об этом подумал... видимо еще много о чем подумал.
#10 by perkos
подкинь идею как соеденить по $РегистрОстатки.Взаиморасчеты(        :ДатаРасчета,
#11 by Проггер
Заполняешь таблицу дат и получаешь по каждой дате остатки
#12 by Mikeware
разница во времени - практически 7 лет.
#13 by ЧеловекДуши
Ну, так то он ближе к SQL-лю и нет заморочки с остатками.
#14 by Mikeware
зачем? ---- красивое решение лежит где-то на форуме 1с++, и оттуда опубликовано на sql.ru
#15 by perkos
нет ничего ближе к скл чем скл, просто как сказал разница между методами в 7 лет, у микрософта где то был лозунг девелопер из нот пламбер(= помоги найти(=
#16 by Ёпрст
способов то всего ничего - либо написать хранимку, которая тупо с ВТ.Останки берёт остаток на каждый день, либо тупо с табличкой дат соединятся.
#17 by perkos
либо в цикле делать запрос на каждый день, либо соеденить? что быстрее пытаюсь выяснить, наивно надеюсь что разницы нет
#18 by МихаилМ
есть еще курсоры и CTE проще получить остатки на начало свернытые по дням движения расчитать таблицу остатков на каждый день
#19 by perkos
вот и еще варик(= почему бы и нет(= проще всетаки юзать клас прямых, но не у меня(=
#20 by perkos
за 1 день разница 4 сек
#21 by perkos
за два дня нет разницы, 27 сек оба.
#22 by Ёпрст
27 секунд это п.ц
#23 by Ёпрст
прямой должен выполнится за 0,1 сек и быстре
#24 by Ёпрст
е
#25 by Гефест
Есть у меня быдлозапрос для этого, если никто ничего лучше не предложит - покажу
#26 by Ёпрст
у меня тоже есть твой запрос :)
#27 by ЧеловекДуши
Давай, кажи :)
#28 by perkos
вот такой без фильтров делается за 12 секунд, получается если надо месяц анализировать то жуть.... кто дурак?
#29 by perkos
админ?
#30 by perkos
может мне потребовать нового железа на сервер? там какое то унылое гомно 2004 года стоит на скази в 1 рейде
#31 by Ёпрст
как меряешь то хоть время запроса ?
#32 by Mikeware
потребуй купить выпрямитель. для рук.
#33 by perkos
ну покажи где я дурак(= я для этого тему и завел чтобы показали... как сделать запрос чтобы по нужной мне выборке складов и номенклатуре остатки я бы получил хотябы за 1 секунду принципиально? я понимаю что можно профайлером посмотреть но мне точность ненужна
#34 by Ёпрст
п...ц
#35 by Ёпрст
+ непонятно, нахрена в делать Подготовить
#37 by Ёпрст
для не параметрического запроса
#38 by trad
+ использование:
#39 by perkos
всякую фигню советуете(= от твоего замера быстрее запрос делатся не будет какая разница? от этого запрос ощутимо быстрее выполнятся не будет
#40 by perkos
может проканать.... надо попробовать но все равно остатки получать 14 секунд это долго
#41 by Гефест
нате    |
#42 by perkos
важно что самый элементарный запрос по остаткам выполняется слишком долго >10сек а вы мне мозг пудрите всякими мелочами(=
#43 by perkos
посмотрел замером производительности оказалось что 13сек выполняется строка так что не решает
#44 by DrZombi
Используй не тупой Цикл, а временные таблицы :)
#45 by DrZombi
Может у вас хренова с закрытием регистров? Чем вы занимаетесь? Розницей? Сколько Товара в справочнике Номенклатура?
#46 by DrZombi
Это подготовка временной таблицы, ты её можешь укладывать любым способом, хоть через Insert на прямую, не через "УложитьСписокОбъектов" :)
#47 by DrZombi
+ Тогда стоит подумать о том, что бы этот метод сделать только один раз, а не каждый раз в цикле ;)
#48 by perkos
например? розничная база да, очень большой справочник номенклатуры ~160тыс элементов, в группе товаров по которой считаю остатки ~60тыс элементов. поэтому этот уложить так долго работает видимо...
#49 by Ёпрст
да уж.. сам запрос то не 18 секунд однако. + выкинуть Подгтовить из текста надо. ЗЫ: заместо уложитьсписокОбъектов можно пихать самому всё во временную табличку.
#50 by Ёпрст
и про время замера, тебе не просто так в начале говорили - не то меряешь и не тем.
#51 by perkos
да сам запрос делается менее секунды
#52 by perkos
мерять надежнее всего в отладчике дай пример как можно пихать самому быстрее
#53 by Ёпрст
в отладчике ? :)))))))))))))))))))))))))))))))))))))))))))))))))
#54 by perkos
это не тема обсуждения где мерить, если ты нуб и не знаешь какие строки могут выполнятся медленно то ставить замеры надежнее всего на каждой строке, а если не хочешь дрочить то включи замер производительности и хотябы представление будешь иметь че тупит, я вот не догадывался сперва что именно этот уложить так тупит... как оказалось вы тоже не догадались об этом.
#55 by Ёпрст
читай, там есть готовый код
#56 by Ёпрст
:))))))))) И эти люди только сейчас открыли для себя замер производительности и жуколов.. Когда доберутся до стека вызовов.. воопче ачуметь будет
#57 by Ёпрст
ну а с _GetPerformanceCounter мозг взорвётся!
#58 by Ёпрст
про консоли готовые , типа 1CQA для отладки, ужо молчу
#59 by Ёпрст
и про профайлер и план запроса тоже
#60 by perkos
умный какой а(= завышенная собственная важность наказывает(= 1cqa? не, не слышал, надо почитать, спасибо(=
#61 by Mikeware
не взорвется. нечему..
#62 by perkos
(= ну тупой подумаешь беда(= хех а вы ведь наверняка взрослые мужики(=
#63 by perkos
а похожи на школоло(=
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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