v7: Как выбрать дату последней операции? (бухгалтерия) #632147


#0 by tassman
Заполняю в таблицу значений все операции (Д10 - К60) фильтрую по убыванию и беру (через цикл) первые записи (по МХ и НомНомер) соответственно. Время затраченное на всё это 5 минут. А нужно анализировать с 2005 года, что увеличит время выполнения до 25 минут! Это долго! Подскажите как можно ещё найти дату последней операции с минимальными временными затратами соответственно? спс!
#1 by PuhUfa
если тебе нужно просто дату последней операции то зачем вообще запрос?
#2 by tassman
Через запрос и смотрю дату последней операции! т.е. получаю все даты всех операций, а потом через цикл и условие сам нахожу дату последней! Ну можно ещё так: и т.п. Но время обработки такое-же как и с Запросом! Можно ли найти каким другим способом дату последней операции? (с минимально затраченным временем). Какие ещё есть способы!?
#3 by tassman
*не 6 а 60 сч. Опечатался! у Документов есть метод: ОбратныйПорядок(<Режим>) Назначение: Установить порядок выборки документов во времени. Возвращает значение порядка выборки до вызова:   1 - выборка документов в порядке убывания даты и времени;  0 - в порядке возрастания. Можно ли что-то аналогичное с проводками сделать или нет?!
#4 by PuhUfa
#5 by tassman
"Операция - тоже документ, только маленький сапсем!" - согласен. а вот анализировать придется: видДокумента, Номенклатуру и МестаХранения! и всё это выливается в сложную (и скорее всего долгую) выборку по указанным параметрам, ничем не уступающую запросу... или?
#6 by BlackSeaCat
По любому, выбирать запросом ВСЕ операции за период лишь для того, чтобы найти среди них ОДНУ - глупо. Перебор прервется как только будет найдена нужная операция. По продолжительности это сработает ОДИНАКОВО с запросом лишь в одном случае - если искомая операция была ПЕРВОЙ в периоде, во всех остальных будет быстрее. Хотя, при способности 1Сников наворотить неоптимальный код лично я ни за что не поручусь.
#7 by zak555
что ты из этой операции хочешь получить ?
#8 by tassman
Задача такая! На склады приходят материалы. (Д10 - К60). Нужно выбрать дату последнего поступления КАЖДОГО материала с учетом Склада на который он поступил. (т.е. выборка по "ключам" Материал + МестоХранения. 1-ин и тотже материал может поступать в разные периоды на разные склады, а выводить нужно только последние поступления (а точнее их Даты)
#9 by zak555
ну узнаешь ты дату последнего прихода материала дальше что ?
#10 by Classic
Забудь про черный запрос по счетам. Юзай бухитоги.
#11 by tassman
Это часть отчета! (небольшая часть) Где анализируется неликвидность материала. Смысл такой, что есть Центральные склад на них приходит материала, эти склады передают материал в обычные склад(кладовки), а уже с этих "кладовок" анализируется расход и отпуск материала. Вот и нужно узнать когда была последняя поставка материала, для статистики, а то засем его закупать, если он заляживается и становится неликвидным в "кладовке". (п.с. может не совсем верно объяснил, но всё равно вопрос в силе) "Как выбрать дату последней операции?" Если возможно с использованием 1сpp тоже можно... (сам с запросами просто мало работал) Спасибо всем кто поможет!!!
#12 by BlackSeaCat
Помогаю: если не можешь выстроить быстрый алгоритм - делай запросом. А на вопросы: "Почему так долго работает?" важно надувай щеки и закатывай глаза.
#13 by Mikeware
"заляживается в кладовке" - неплохо... ------- "спасибо" - мало...
#14 by tassman
"заляживается в кладовке" - неплохо... :) можно ещё к пунктуации придраться ... Пробую пока через доки делать.
#15 by Mikeware
делай прямым запросом
#16 by BlackSeaCat
"заляживается" - а перед этим "засем закупать", так и просится: "насяльника..."
#17 by zak555
сделай забалансовый счёт с аналитикой датой
#18 by tassman
сделай забалансовый счёт с аналитикой датой Нет прав на такое! Нужен аналитический отчет по изложенной выше теме. Используя текущий счет 60. И ещё учитывая операции вводимые вручную. Т.Е. от операций тут не уйти.
#19 by Эльниньо
Нет прав на забалансовый - сделай на справочнике
#20 by tassman
Нет прав на забалансовый - сделай на справочнике Может в виду своего небольшого опыта, задам вопрос, а как мне это поможет анализировать множество проводок, начиная с 2005 года? Если создать забалансовый счет. это поможет только с новыми проводками? или я не прав. поправьте пожалуйста!
#21 by zak555
и что тут ? при записи операции добавляй соответствующую проводку по забалансовому счёту
#22 by tassman
и что тут ? при записи операции добавляй соответствующую проводку по забалансовому счёту Какой записи? мне не надо ничего записывать, мне нужно анализировать уже выполненные операции! Те которые накопились с 2005 года, а не новые. Вот )
#23 by zak555
написать обработку, которая сама пройдёт по операциям и где нужно добавит нужные проводки
#24 by Смотрящий от 1С
что то типа этого прямым запросом попробуй
#25 by tassman
СПС! А как обратиться к реквизиту выбранного документа?
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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