v7: ТиС Запрос по последней дате продажи контрагенту. #752653


#0 by goneman
Уважаемые специалисты, подскажите пожалуйста алгоритм запроса для отбора последней продажи контрагенту в типовой "Торговля и Склад".
#1 by ДенисЧ
выбрать первые 1 период из РегистрНакопления.Продажи где контрагент = &контра упорядочить по период убыв
#2 by goneman
Это же для 8-ки код?
#3 by Fedor-1971
максимальная дата накладной с условием, Контрагент=Нужному? Посмотри в конфигу, если есть оборотный регистр задолженности, можно попробовать опереться на него - то же тебе написали в в формате 8 (для 7 как-нить идею придётся приспособить самостоятельно). Если установлена компонента Бух.учёт - проводки по 62 счёту.
#4 by aka AMIGO
Черный Запрос на докиПрихода, ДатаДок с условием на Контрагента выгрузить Запрос в ТЗ, отсортировать по "-ДатаДок" Если я всё правильно написал - первая строка ТЗ - искомый док прихода
#5 by dk
Рег.ВыбратьДвижения Рег.ПолучитьДвижение Сообщить(Рег.Документ)
#6 by aka AMIGO
Можно через Рег.ОстаткиТМЦ
#7 by Масянька
По-моему, лучше все-таки через ПартииНаличие.
#8 by aka AMIGO
Да, это - правильнее.. Но у меня в конфе "Торговля" не используются партии, написал, что роднее :) Именно "Торговля", а не ТиС :) Образца 2000-го года.. правда, от неё теперь осталось одно название, превратилась в "Склад и Производство" :)
#9 by Масянька
Я как-то (работая во франче) наткнулась на Торговлю... Одно название осталось... Там столько было всего реализовано... При чем - с умом, оптимально, читабельно... Классный программист делал :)
#10 by goneman
Получился такой запрос: Но "ДатаПродажи" не выгружается в ТаблицуЗначений.
#11 by aka AMIGO
Запрос.Выгрузить(ТЗ,1 - примерно так написал?
#12 by goneman
Вот так:
#13 by aka AMIGO
посмотри в синтакс-помощнике аргументы ф-ции "Выгрузить"
#14 by Масянька
Извините, что вмешиваюсь, но - зачем выгружать? Обработать запрос, не?
#15 by goneman
Все дополнительные переменные стали выгружаться, кроме "ДатаПродажи". :-)
#16 by goneman
Надо найти последнюю продажу, нужен анализ даты, а она в переменную "ДатаПродажи" не попадает.
#17 by aka AMIGO
хмык, нормально вмешиваешься :) это просто один из предложенных вариантов, больше ничего особенного :) Выгрузив запрос, добавь в ТабЗнач поле "ДатаДок", и в цикле записать туда из ТекущийДокумент ДатуДок После этого можно сортировать :)
#18 by Масянька
Во, нашла... Только тут я последний приход беру.
#19 by goneman
Как-то громоздко, наверное так и сделаю, но просто хочется понять, почему дата не попадает в запрос.
#20 by Масянька
Слышь, ты, блин... На свой код посмотри...
#21 by goneman
"Громоздко" - это про заполнение колонки в таблице значений циклом. А что не так в моем коде?
#22 by Масянька
Пардон... Показалось, что ты про мой сказал... Еще раз - пардон. В твоем - строчек много :)))))
#23 by Ёпрст
хреновый запрос, и в чорном запросе нет атрибутов у реквизитов с типом <неопределенный вид>/<неопределенный тип> + такой запрос не эффективен и медленный. + смотреть продажи в регистре Покупатели, не верно
#24 by Ёпрст
всё
#25 by aka AMIGO
ну, это выполняется мгновенно. Делай код, чтоб красиво было :) Пригодится в будущем :)
#26 by Ёпрст
быстрее будет только прямой запрос или хотя бы
#27 by Ёпрст
какое отношение остатки по партиям имеют к последней продаже по клиентосу - загадка
#28 by goneman
Хорошо, пусть всё не правильно, а как тогда правильно? Задача проста - найти последнюю продажу конкретному контрагенту.
#29 by Ёпрст
если не умеешь писать прямой запрос - см
#30 by goneman
попробовал, как в , но там нет информации о документе продажи.
#31 by goneman
Беру свои слова обратно, надо писать - Рег.ТекущийДокумент :-)
#32 by goneman
Итоговый вариант получился такой: Простенько и со вкусом. Всем большое спасибо. :-)
#33 by Chameleon1980
всю ветку не читал, но вроде при выборе запроса параметр №2 - направление нет? Группировка(<?>,) Синтаксис: Группировка(<Группировка>,<Направление>) Назначение: Получить следующее значение выборки Запроса Возвращает: 1 - если получено следующее значение выборки запроса, 0 - иначе. Параметры: <Группировка> - выражение, содержащее номер или имя группировки. <Направление> -  необязательный параметр. Число: 1 - выборка значений группировки по возрастанию; -1 (минус единица) - выборка значений группировки по убыванию. Значение по умолчанию: 1. и запрос с условием нужным
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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