#0
by UncleVader
Помогите пож. с запросом - надо получить список товаров с данными о последнем поступлении. Т.е. выборку делаем по регистру партий, обращаемся к виртуальной таблице остатков и левым соединением надо каким-то образом прицепить по одному крайнему документу-партии.
#3
by UncleVader
да, сорь. Конфа самописная, структура регистра партий: Измерения: Фирма(Справочник.Фирмы) Склад(Справочник.МесиаХранения) Товар(Справочник.Номенклатура) Партия(Документ) Ресурсы: Количество Сумма
#8
by UncleVader
не канает - разве бывает срез последних для регистра накопления? тут как-то по-другому надо
#13
by UncleVader
как это одним запросом выкрутить? щаз вот пробую так, но не уверен что это правильно ПартииТоваровОстаткиИОбороты.Товар КАК Товар,
#14
by mikecool
МАКСИМУМ(ПартииТоваровПоследнийПриход.ПрихДокумент) КАК ПрихДокумент не проканает или по дате или моменту времени
#15
by UncleVader
ошибку не выдает и по единичым проверочным точкам выдал те документы что надо... а что ты имеешь в виду "не проканает"? на уровне выборки данных будут сравниваться текстовые представления идентификаторов документов?
#17
by UncleVader
пробовал - при выборке из этой таблицы выбирается ровно одна строка, которая, если повезет, соединится с одной строкой верхней выборки
#19
by UncleVader
отчет называется "Анализ неликвидных товаров", который должен показать список товаров, которые не продаются в течении заданного периода. И одно из полей это когда он был последний раз куплен
#20
by mikecool
выбрать ..., Приходы.ДокПоступления выбрать Номенклатура, ДокПоступления из партии.Остатки) По Номенклатура не оно?
#21
by Ненавижу 1С
когда, для этого достаточно даты ВЫБРАТЬ ПартииТоваровОстатки.Товар КАК Товар, сгруппировать по ПартииТоваровОстатки.Товар
#22
by UncleVader
не совсем, мне же нужна запись с одним товаром, его остатках на начало и конец какого-то периода и ссылкой на последний документ прихода, при этом! не факт что этот документ лежит в рамках заданного периода. Например мы анализируем 2001 год, получаем в результате что гайка лежала на начало 2011 года на складе, за весь год ни разу не продалась, а нерадивый менеджер умудрился в январе 2012 ее еще раз купить. и в этом случае надо знать не просто дату, но и сам документ - вдруг он еще чего ненужного купил...
#25
by UncleVader
проверяю по условию НачОст<>0 И ОстатокТовараРасход=0 да, я так и думал, да вот с синтаксической конструкцией запутался - никак ниасилю :)
#26
by UncleVader
но это грубо, в идеале надо сравнивать не абсолютный ноль, а относительный. Другими словами, если на складе лежит 1500 шайбочек и одна из них продалась все-равно это труп
#29
by Ненавижу 1С
(ВЫБРАТЬ сгруппировать по Т.Товар, Т.СтоимостьНачальныйОстаток, Т.СтоимостьКонечныйОстаток
#30
by DexterMorgan
не понял..=) я имею ввиду что ты по регистру ПартииТоваров определяешь был ли факт продажи, я пока не могу понять как это можно сделать не спускаясь до регистратора, потому что движение расход могут делать другие документы помимо реализации - перемещение, списание и т.д.
#31
by DexterMorgan
Я пока вижу два варианта: 1. Отслеживать факт продажи по РН "Продажи" (ну или как у тебя называется) получать там список номенклатуры и ставить условие Номенклатура НЕ В.. 2. Отслеживать по таблице ОСтаткиИОбороты ПартийТоваров с детализацией до регистратора...
#33
by DexterMorgan
2 вариант явно накладывать условие на регистратор. в 1 варианте детализация до регистратора не нужна
#42
by UncleVader
да, делаю левое соединение с сырой таблицей спасибо, наверное так действительно будет оптимальнее, сомнения были только в этом МАКСИМУМ(Т2.ПрихДокумент) КАК ПрихДокумент
#43
by Киборг
Если нужен запрос, который должен сразу выдать нужные данные, то одним регистром накопления не обойтись, так как вроде бы (не знаю способа как можно) нельзя вытащить последний документ, если два последних лежат в одной секунде. Возможные выходы - или вести регистр сведений типа "партии прихода" (и получать последний из него срезом последних, вариант вполне нормальный, регистры в частности нужны и для получения нужных данных для отчетов), - или получать все последние документы и отсекать лишние (программно), если их несколько в одной секунде, - или выдавать в отчете все последние документы в одной секунде (случай редкий, если показать как он будет выглядеть, то могут и согласится принять такой вариант)
#44
by Киборг
есть еще вариант динамического соединения со строкой вложенного запроса, типа ВЫБРАТЬ ОстаткиОсн.Ном, ОстаткиОсн.Партия ИЗ Остатки КАК ОстаткиОсн ОстаткиОсн.Партия В ( ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиДоп.Партия Упорядочить ПО ОстаткиДоп.Партия.Дата УБЫВ) этот вариант может долго работать на больших выборках, если на твоих объемах будет приемлемое время, то можно и так
#45
by Киборг
Кстати, если долго работает, то можно усложнить, посчитав для каких товаров существует несколько последних документов в одной секунде и выполнить динамическое связывание только для тех, у которых их больше одного. Хотя, для такой задачи наверно достаточно и МАКСИМУМ(Т2.ПрихДокумент) :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Получить id и получить объект по id
- Как программно получить получить пароль пользователя в текущем сеансе работ
- Как запросом получить последнюю фактуру по заказу?
- Как получить разность дат (Нужно получить количество дней)
- получить последнюю запись из регистра сведений на дату
- Как получить ГУИД элемента по OLE, записать и получить по нему ссылку?
- v8: Запрос: как для каждого из товаров получить последнюю партию???
- Получить последнюю по дате запись из регистра накопления
- Как получить последнюю строку ТЧ документа
- Таблица значений. Получить последнюю строку
В этой группе 1С
- Итоги на каждый день СКД.
- Помогите убедить заказчика о вреде синхронизации методом прямой записи в mySQL
- СКД Можно ли убрать галочку о использовании элемента отбора из списка настройки?
- СоединитьСтроки()
- Система ролей в Бухгалтерии 2.0
- УПП в T-13 не выводит ночные часы
- движения сформировались без суммовой оценки по регламентированному учету...
- Табличный документ в управляемых формах
- Как из 1с выделить и отредактировать фрагмент текста в word?
- Как в БП 2.3 Записать адрес контрагента программно?
- Вытянуть правила обмена из конфигурации
- v7: Как отключить проверку контрольной цифры при печати штрихкода
- Как правильно сохранить файл с ЭЦП в Документообороте КОРП
- v8: Ключевое слово #ЗаменаСимвола в текстовом макете не работает после обновления на 8.2.15.294
- Перекинуть остатки по подотчетным лицам
- Как вернуть цвету фона цвет "Авто"
- Подпись в ОСВ
- v7: менеджер лицензий АСТОР ВЦ v3.1x
- Прикольный косяк в типовой с RLS
- Отображение колонок в динамическом списке управляемой формы