|
Подскажите как правильно получить последний документ прихода и его дату | ☑ | ||
---|---|---|---|---|
0
location
naïve
06.04.17
✎
11:44
|
Добрый день уважаемые форумчане.
Имеется следующий запрос:
Как к данной номенклатуре прилепить последний приход на эти склады, я пытался сделать следующим образом
потом соединял по номенклатуре в итоге консоль запросов ничего не выдала, а когда запихнул в компоновку, выдало даты, но выдранные с откуда то непонятно. В чем я затупил, помогите плз? |
|||
1
location
naïve
06.04.17
✎
12:15
|
Подскажите куда смотреть, уже не знаю что куда добавить, чтобы сформировалось верно?
|
|||
2
Naf2017
06.04.17
✎
12:24
|
МАКСИМУМ(ПартииТоваровНаСкладах.Регистратор) КАК Регистратор
это глупость |
|||
3
gorakh
06.04.17
✎
12:42
|
У меня "взлетело" так.
ВЫБРАТЬ МАКСИМУМ(ОстаткиПоРегистратору.Регистратор) КАК Регистратор, ОстаткиПоПаспортамОбороты.Паспорт КАК Паспорт ИЗ РегистрНакопления.ОстаткиПоПаспортам.Обороты(, &Период, Регистратор, Склад ССЫЛКА Справочник.ФизическиеЛица) КАК _ОстаткиПоПаспортамОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления._ОстаткиПоПаспортам КАК ОстаткиПоРегистратору ПО ОстаткиПоПаспортамОбороты.Регистратор = ОстаткиПоРегистратору.Регистратор ГДЕ ОстаткиПоПаспортамОбороты.КоличествоПриход > 0 И ОстаткиПоПаспортамОбороты.Регистратор.Склад ССЫЛКА Справочник.ФизическиеЛица СГРУППИРОВАТЬ ПО ОстаткиПоПаспортамОбороты.Паспорт //Регистр ОстаткиПоПаспортам - партия в производстве |
|||
4
location
naïve
06.04.17
✎
17:15
|
(3) это если однотипный регистратор, то максимум подойдет, а что сделать если регистраторы разнотипные, а то получается регистратор максимальный выбирает ПТУ от 04.04.17, а МАКС дата 05.04.17 и действительно последний документ в регистре по этой номенклатуре 05.04.17
|
|||
5
Garykom
гуру
06.04.17
✎
17:18
|
(4) условие на вид регистратора
|
|||
6
location
naïve
06.04.17
✎
17:26
|
(5) так в том и дело мне нужны все документы и ПТУ и Перемещения, все документы которые делают приход в регистр.
|
|||
7
Garykom
гуру
06.04.17
✎
17:33
|
(6) "макс(регистратор.дата)"
|
|||
8
location
naïve
06.04.17
✎
17:55
|
(7) а регистратор потом сам как найти? связать внутренним соединением по дате?
потому что если взять макс по регистратору, то выходит два совершенно разные значения. |
|||
9
Garykom
гуру
06.04.17
✎
17:58
|
(8) Не поверишь но я бы просто вывел простым запросом простую линейную табличку и далее кодом а не извратами с языком запросов
|
|||
10
location
naïve
06.04.17
✎
18:03
|
(9) это все в скд сделано. не хочеться писать ручной вывод для него.
|
|||
11
AlvlSpb
06.04.17
✎
20:57
|
(1) ВЫБРАТЬ ПЕРВЫЕ 1
................ УПОРЯДОЧИТЬ ПО ОстаткиПоПаспортамОбороты.Регистратор УБЫВ |
|||
12
AlvlSpb
06.04.17
✎
21:01
|
Точнее: ПО ОстаткиПоПаспортамОбороты.Регистратор.Дата УБЫВ
|
|||
13
location
naïve
07.04.17
✎
08:39
|
(12) а если 2 документа сделали приход в одно и тоже время как тогда быть?
|
|||
14
Dmitrii
гуру
07.04.17
✎
08:51
|
(13) Можешь упорядочивать по МоментВремени (это Дата + Ссылка на документ).
Только надо понимать, что это весьма условное упорядочивание, не имеющее ничего общего с жизнью. Упорядочивание по ссылке документов одного вида с одним и тем же датой и временем даст информацию о том какие документы были созданы раньше, а какие позже (упорядочит по моменту создания в базе данных). Однако если есть документы нескольких видов, то упорядочивание по ссылке или по моменту времени фактически упорядочит документы по дата+время+вид документа+ссылка. То есть для случая нескольких документов с одной датой и временем разных видов сначала вывалятся документы одного вида, потом другого и т.д. (например, сначала все перемещения, потом поступления). |
|||
15
Dmitrii
гуру
07.04.17
✎
09:11
|
И вообще.
Упорядочивание по документу и дате - неверно. Упорядочивать надо в первую очередь по периоду записи регистра. А уже потом - по дате документа, ссылке и прочим признакам. А как учитываются корректировочные записи (приходы с минусом)? А как это будет работать, когда появятся какие-либо другие документы прихода, например, Возвраты, Комплектация, Ордера (какие-либо еще)? |
|||
16
location
naïve
07.04.17
✎
09:28
|
(15) так должен быть любой документ поступления (вообще любой), но последний.
|
|||
17
Dmitrii
гуру
07.04.17
✎
09:38
|
(16) Что понимать под поступлением?
Возвраты - это поступление? Комплектации (сборка/разборка) - это поступление? Или надо тупо брать любое последнее движение по регистру с видом "Приход"? А если это приход с минусом (корректировочная запись)? |
|||
18
AlvlSpb
07.04.17
✎
09:38
|
(13) А какой документ, в таком случае, вы считаете последним?
Если это две ПН и дата/время абсолютно одинаковы, то какая разница какой из них последний? А если это, например, ПН и Возврат, то укажите в запросе, что в приоритете |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |