Запрос по пересорту.

  1. 9 г. назад

    Собственно есть пересорт в регистре партий
    Склад 1 Товар 1 Партия 1 Переданный -1 -100
    Склад 1 Товар 1 Партия 1 Купленный +1 +100
    Как оптимальнее написать запрос? Что бы выявить такой пересорт. Первый подзапрос по ключевым, второй по всем и полное соединение?

  2. а что за конфа?

    Ответы: (6)
  3. может, поможет банальное перепроведение?

    Ответы: (6)
  4. 08.01.2015 14:18:53 отредактировано sda553

    А как вообще отличить обычный приход/расход от пересорта? Определенный регистратор?

    Ответы: (6)
  5. остатки по регистру партий полученные по всем измерениям и сгруппированные по всем измерениям кроме Куп/Переданный. по сумме и количеству - сумма.
    в результате где количество сумма = 0, там и пересорт

    Ответы: (5) (6)
  6. Бешеная Нога в результате где количество сумма = 0, там и пересорт

    а где

    Склад 1 Товар 1 Партия 1 Переданный -1 -100
    Склад 1 Товар 1 Партия 1 Купленный +3 +300
    ?

    Ответы: (7) (8)
  7. (1) УТ
    (2) Нельзя
    (3) Это такие остатки
    (4) Я так и написал - первый по ключевым измерениям, второй по всем вопрос в типе соединения запроса. Полное или левое? Если левое, то первичная таблица по всем измерениям?

  8. (5) Вот кстати хороший вопрос - такое тоже есть

  9. (5) в сабже конкретный пример был. от него и плясал

    Ответы: (12)
  10. тогда получаешь таблицу с положительными остатками и таблицу с отрицательным. соединяешь/объединяешь их по всем измерениям кроме Купленный/Переданный. и вуаля

    Ответы: (13)
  11. Строго говоря никакой это не пересорт. Пересорт это когда два товара по одной цене, и вместо одного другой пробивают. Такое понятно никаким запросом не выявить. А в сабжей базе явный бардак с задним числом. Сначала продажи проводят, потом поступления правят того что уже продано, так что пример этот случайный, правка может быть и любой другой. В данном случае в доке поступления тип поступления изменили с покупки на передачу, вот и вылезло. Каким таким запросом ты собираешься это исправлять, если у тебя просто последовательность нарушена?

    Ответы: (11)
  12. Дядя Вася Пересорт это когда два товара по одной цене

    по разным ценам - тоже пересорт (имеет смысл только в рознице, естественно)

    Ответы: (16)
  13. 08.01.2015 15:02:29 отредактировано sda553

    (8) нет у тебя глобал трабл вижен

    Здесь запросом никак, тут задача требует обхода курсором по отрицательным остаткам, с одновременной резней и компенсацией из положительного пула остатков

    Ответы: (13) (15)
  14. (12) см (9)

    Ответы: (14)
  15. 08.01.2015 15:04:00 отредактировано sda553

    (13) смотрел, у него нет глобал трабл вижен. Но если хочешь потерять время, то попробуй 9. Разбудите к 50-му посту

  16. (12) да можно тут запросом, это же очевидно. просто запрос будет пакетным

    Ответы: (17) (34)
  17. (11) Это само собой, речь не о том. Сама проблема по сабжу явно другая. Можно перепроводить, можно в конце месяца отдельным документом исправлять, как это делается с себестоимостью в УТ11. Только если для себестоимости это имеет смысл, она там плавает из-за интеркампани, а не ошибок, то тут просто кривое ведение учета в базе. Мое имхо, разок восстановить, а в док поступления проверку вставить, если уже были движения по партии, не проводить этот док, пока не распроведут реализации этого товара, тогда больше так не ошибутся.

    Ответы: (18)
  18. 08.01.2015 15:07:39 отредактировано sda553

    (15) получил запросом из 9
    Слева
    Склад 1 Товар 1 Партия 1 Переданный -5 -500

    Справа
    Склад 1 Товар 1 Партия 1 Купленный +3 +300
    Склад 1 Товар 1 Партия 1 Подаренный +4 +400

    что дальше будешь делать?

    Ответы: (19) (20) (34)
  19. (16) Восстановится тупым перепроведением в правильном порядке.

  20. (17) объедини

    Ответы: (21)
  21. (17) получил минуса, соединяешь по номенклатуре с условием

    Ответы: (22)
  22. (19) объединил, получил
    Склад 1 Товар 1 Партия 1 Переданный -5 -500
    Склад 1 Товар 1 Партия 1 Купленный +3 +300
    Склад 1 Товар 1 Партия 1 Подаренный +4 +400

    дальше что?

  23. (20) соединил получил
    Склад 1 Товар 1 Партия 1 Переданный -5 -500 Склад 1 Товар 1 Партия 1 Купленный +3 +300
    Склад 1 Товар 1 Партия 1 Переданный -5 -500 Склад 1 Товар 1 Партия 1 Подаренный +4 +400
    дальше что?

    Ответы: (23)
  24. (22) иннер джойн сделай. и всё

    Ответы: (24)
  25. (23) в 22 сделал уже

    Ответы: (25)
  26. (24) иннер джойн с таблицей остатков по партиям без учёта статуса партии

    Ответы: (26) (27)
  27. 08.01.2015 15:17:46 отредактировано Дядя Вася

    (25) С тем же успехом можно просто выборку без учета статуса сделать, но что это даст? )

    Ответы: (28)
  28. 08.01.2015 15:18:33 отредактировано sda553

    (25) моя твоя не понимать, в 22 же иннер джойн с таблицей остатков по партиям без учёта статуса партии. Таблица остатков в 21

    Ответы: (29)
  29. Дядя Вася но что это даст?

    получишь список товаров, которые по искомому статусу партии имеют отрицательный остаток, а в целом - неотрицательный. т.е. найдёшь не минуса, а именно пересорт

    Ответы: (30)
  30. (27) иннер джойн с таблицей остатков по партиям без учёта статуса партии в моём понимании будет примерно такой:

    Склад 1 Товар 1 Партия 1 Переданный -5 -500 Склад 1 Товар 1 Партия 1 Купленный +2 +200

    Ответы: (32)
  31. (28) И дальше что? Исправлю партии на сегодняшнюю дату, а на вчерашнюю как был бардак, так и остался. Если что и искать, то сами реализации, которые этот минус создают и по ним проводки-то править...

    Ответы: (31)
  32. Дядя Вася И дальше что?

    а это вопрос к автору. я лишь отвечаю на вопрос - как выявить

    Ответы: (33)
  33. в моем понимании это
    (29) inner join on т1.Склад=т2.склад and т1.Товар=т2.товар and т1.Партия=т2.Партия and т1. Количество<0 and т2.количество>0

    поправь что не так или объясни почему у тебя "Купленный" а не "подаренный" справа

  34. (31) У автора задача выявить и исправить "пересорт", а не остатки. До регистратора надо искать, и там исправлять.

    Ответы: (35)
  35. sda553 (15) получил запросом из 9
    Слева
    Склад 1 Товар 1 Партия 1 Переданный -5 -500

    Справа
    Склад 1 Товар 1 Партия 1 Купленный +3 +300

    что дальше будешь делать?

    объедини. получи это:

    Склад 1 Товар 1 Партия 1 -5 -500 +3 +300

    Ответы: (36)
  36. (33)+ И если конфа типовая, наверняка вообще ничего не надо писать. Есть отчет, который кажет минуса, расшифровать каждый минус до регистратора, перепровести их. В любом случае там по каждому минусу индивидуально будет, и в один запрос все не починишь.

  37. (34) а "Подаренный" куда выкинул?

    Ответы: (37)
  38. (36) а зачем он?

    Ответы: (38)
  39. 08.01.2015 15:32:36 отредактировано sda553

    (37) пересортивать: у тебя -500 по переданному, неплохо бы его скомпенсировать +400 подаренных +100 купленных

    Ответы: (39)
  40. (38) где ты вообще подаренные взял?

    Ответы: (40)
  41. 08.01.2015 15:37:32 отредактировано sda553

    (39) ну типа какой то третий вариант по этому измерению где "купленные" и "переданные". Я фиг знает что там за конфа

    Ответы: (41)
  42. (40) там нет третьего варианта

    Ответы: (42)
  43. 08.01.2015 15:41:55 отредактировано sda553

    (41) понятия не имею. Но даже если его нет, то твоя разработка (как и ответственность программиста) должна учитывать возможное появление третьего варианта в будущих релизах

    Ответы: (43) (44) (45)
  44. (42) верь мне

  45. (42) В данном случае как раз не должна. Решается разовая проблема, такая обработка не должна использоваться систематически.

  46. (42) ничего она не должна. при количестве вариантов больше двух теряется сам смысл "автоматического исправления пересорта". и такой пересорт должен исправляться инвентаризацией и вводом фактических остатков. да и при "двух вариантах" такой механизм имеет весьма условное применение.

  47. Господа у меня такое ощущение, что у всех клиенты золотые и нифига не плодят проблем в своем учете. Люди запутались в комиссионом/не комиссионном товаре. Мало того, у них десяток виртуальных складов и на них тоже такой же пересорт в партиях. Вопрос сейчас выровнять закрыть через корректировку регистров трабл. Они уже знают, что такое последовательность и как с ней работать. Но задние периоды выравнять анриал. Перепроведение не спасет. Сейчас оптимальный - привести в порядок регистры на первое число.
    По поводу вытянуть отрицательные и закрыть положительные - не выход, так как есть реальные отрицательные не связанные с текущими остатками.

  48. Привести в порядок - провести инвент по складам контрам и вперед к новым ошибками досягам )

  49. так а что хочешь то?

или зарегистрируйтесь чтобы ответить!