Как с запроса убрать лишние записи? #620036


#0 by SherifSP
Есть такой запрос и цикл    КонецЦикла; Когда в регистре запись одна отрабатывает нормально, когда 2 и больше не отрабатывает нормально цикл, нужно как то удалить старые записи
#1 by Rie
ВЫБРАТЬ ПЕРВЫЕ 1 ... УПОРЯДОЧИТЬ ПО ...
#2 by SherifSP
Упорядочить по номенклатуре?
#3 by SherifSP
Я по дате по убыванию попробую
#4 by Mort
Хрень какая-то. Так из какого документа надо брать-то если их несколько? Рандомом?
#5 by SherifSP
Я условие на регистратор поставил
#6 by Rie
По номенклатуре - отобрать. Иначе получите запись для непонятно какой номенклатуры.
#7 by SherifSP
Все разобрался отрабатывает норм
#8 by SherifSP
Нет хреново отрабатывает)
#9 by SherifSP
Не отрабатывает, только последнюю запись видить(
#10 by SherifSP
Есть еще варианты?
#11 by Rie
А нужна первая? См. ключевые слова ВОЗР и УБЫВ.
#12 by SherifSP
Нужно выбрать ту запись которая на данный момент создалась
#13 by SherifSP
Их может быть и не 1, так как в табличной части может быть пару номенклатур
#14 by sapphire
редкий бред
#15 by SherifSP
У меня документ делает движение сразу по нескольким регистрам, когда транзакция прошла по регистру ПродажиСебестоимость, я пытаюсь выбрать записи по регистратору
#16 by SherifSP
Как можно лучше?
#17 by SherifSP
Можно таким способом? "ВЫБРАТЬ
#18 by SherifSP
Но пишет ошибку когда Соединяю эти 2 таблицы Ожидается имя таблицы ПОЛНОЕ СОЕДИНЕНИЕ <<?>>&ВремТабСписания КАК ВремТабСписания
#19 by andrewks
из таблицы-параметра можно выбрать только в ВТ
#20 by SherifSP
Тоесть мне нужно 2 виртуальные и 2 параметра таблицы?
#21 by andrewks
я не знаю, что тебе нужно. я объясняю, почему выдаёт ошибку
#22 by SherifSP
А по теме есть какие предложения?
#23 by andrewks
не совсем понятна задача. ты приводишь два абсолютно разных запроса. озвучь чётко суть задачи
#24 by Ctyd
вопрос: С какой целью это нужно? или дай полный код, что ты с чем сравниваешь..
#25 by SherifSP
Документ делает движения по регистрам. В одном регистре запись Стоимость =34, во втором 13, суть задачи такова чтобы Стоимость второго регистра была равна стоимости первого
#26 by AlexNew
Хароший код, давно такого не видел, все остатки с полным соединением.
#27 by AlexNew
А даже не остатки, просмотрел.
#28 by SherifSP
#29 by SherifSP
Движения по регистру продажи выполняются после движения по регистру ПродажиСебестоимость, я пытался запросом вытянуть движения и в цыкле перебором этих движений подставить Стоимость первого регистра в стоимость второго
#31 by Ctyd
пробуй так
#32 by Ctyd
"конецЦикла" убери только
#33 by SherifSP
Убрал)
#34 by Ctyd
получилось?
#35 by SherifSP
Да большое спс)
#36 by SherifSP
Сейчас буду разбераться как этот механизм работает, будут завтра спрашивать)
#37 by AlexNew
Что получилось? Есть Движения, возьми оттуда таблицу, сверни ее сделай что надо, если не понимаешь запросы. Разбераться не надо, надо разбИраться.
#38 by SherifSP
Ctyd - ПродажиСебестоимость.Регистратор =&ссылка и ПродажиСебестоимость.Номенклатура=&ном"//// Это выбирается вся номенклатура по регистраторам?
#39 by SherifSP
А если таблица после движения пустая?
#40 by Ctyd
главное он достиг своей цели =)
#41 by AlexNew
Он не достиг своей цели, а такие советы только сбивают.
#42 by SherifSP
Да)
#43 by Ctyd
тогда пускай берет Мускл и учит запросы, а особенно часть про условия.
#44 by SherifSP
Сtyd см
#45 by Ctyd
это выбираеться только 1 номенклатура по конкретному регистартору
#46 by AlexNew
Что?
#47 by AlexNew
Хотя да, там еще условие, но он же это в цикле делает. Очень криво.
#48 by SherifSP
Не красиво только запрос.установитьпараметр("ном",СтрокаТаблицы.Номенклатура); В цыкле)
#49 by AlexNew
В общем это вообще не код.
#50 by SherifSP
AlexNew Как бы сделал ты?
#51 by Ctyd
да, мне тоже интересно...
#52 by Stim
запрос в цикле. чему вы детей учите?
#53 by Ctyd
ок, а такой вариант?
#54 by AlexNew
Если ТаблицаДвижений возвращается с Себестоимостью, то 2 таблицы в запрос, левое соединение с наименованием полей как мне надо, загрузить в таблицу, или выгрузить движения в таблицу загрузить в запрос, или перебирать и заполнять таблицу - как кому нравится.
#55 by Ctyd
о.. меня всегда интересовало: Как в запрос передать таблицу значений?
#56 by Stim
всем читать радченко и Габца. срочно
#57 by AlexNew
Типа 2-го варианта, что я описал. Для меня - кода много. И запрос лишний - таблицу можно из Движений получить. ВЫБРАТЬ ... ВЫБРАТЬ ... ИЗ втТаб
#58 by Stim
только во втором пакете нужно указать имя таблицы, а то не взлетит)
#59 by AlexNew
Только таблица должна быть типизирована.
#60 by Ctyd
грубо говоря:
#61 by SherifSP
А дальше?)
#62 by Ctyd
сам не знаю... точнее даже не знаю или он сработает..
#63 by SherifSP
Второй код лучше 1?))
#64 by Ctyd
однозначно.. он хоть каждый раз не отправляет запрос в бд
#65 by SherifSP
Ошибка при вызове метода контекста (Выполнить): {(7, 38)}: Не задано значение параметра "Ссылка" ПродажиСебестоимость.Регистратор=<<?>>&Ссылка
#66 by Ctyd
добавь перед запрос.выполнить.выгрузить  запрос.установитьпараметр("ссылка",ссылка);
#67 by Ctyd
сделал?
#68 by SherifSP
Да
#69 by SherifSP
#70 by Ctyd
хоть ты доволен... удачи..
#71 by SherifSP
Спс за помощь)
#72 by Ctyd
Если надо завтра напишу вариант 3-й. тот что только на запрос. Сегодня уже спать
#73 by SherifSP
Ок
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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