|
Подскажите оптимальное решение задачи ... | ☑ | ||
---|---|---|---|---|
0
MatrosoV AleXXXand_R
21.03.14
✎
07:47
|
Суть задачи - есть регистр "Товары на складах организаций", УТ 10.3. Нужно сделать перенос остатков на склады, в которых отрицательный остаток на конец дня < 0 со складов, в которых этот остаток на этот же день > 0. Делать это нужно в разрезе "организации + склада + номенклатуры + серии номенклатуры". И к примеру сделать это за год.
Я пытался данную задачу решить только 1 запросом - выполнить 1 запрос за период, потом сформировать таблицу, с каких складов на какие переместить, но он не совсем правильно отрабатывает некоторые моменты. Можно ли тут обойтись одним запросом и потом его обработкой? Если да - что будет результатом запроса? Или делаем все как обычно - прокручиваем по дням? |
|||
1
ДенисЧ
21.03.14
✎
07:48
|
Предлагаю в запросе правильно отработать некоторые моменты...
|
|||
2
MatrosoV AleXXXand_R
21.03.14
✎
07:52
|
Сложность состоит в некоторых моментах:
1) С одного склада возможно переместить на несколько, и с нескольких складов на 1 (но с этим я похоже справился) 2) Если мы закрываем первый день, у нас это отобразится на втором, а потом на третьем и т. д. дне закрытия отрицательных остатков 3) Могли быть движения дополнительного списания отрицательных остатков (это конечно ошибка в учете), к примеру - был остаток -2, и еще списывают -1, следующей датой, получается -3 ну и т.д. (1) Прошу не писать "просто так", а прошу помочь, кто реально делал похожие задачи 1 запросом |
|||
3
MatrosoV AleXXXand_R
21.03.14
✎
07:54
|
Хотелось бы просто понять для начала - какие таблицы лучше всего получить как результат запроса. А потом я уже подумаю как это обработать в запросе. Просто может быть кто-нибудь натолкнет на мысль :)
|
|||
4
jsmith82
21.03.14
✎
07:57
|
что вас всех клинит на одном запросе
|
|||
5
MatrosoV AleXXXand_R
21.03.14
✎
07:58
|
(4) ИМХО
1) более оптимальный вариант по быстродействию 2) показатель хорошего кодинга |
|||
6
jsmith82
21.03.14
✎
08:05
|
(5) запрос на один день работает 1 секунду
запрос на год работает 6 минут |
|||
7
jsmith82
21.03.14
✎
08:05
|
вернее, 365 запросов
|
|||
8
EugeniaK
21.03.14
✎
08:06
|
(0) Если мы говорим про разовую задачу закрытия остатков, то гораздо логичнее пройтись циклом по дням и на каждый день отдельным запросом все сформировать.
|
|||
9
jsmith82
21.03.14
✎
08:07
|
у меня была более сложная задача
там ещё партии нужно было кидать и серии номенклатуры объём документооборота адский обработка работала около 20 минут за 2 года |
|||
10
jsmith82
21.03.14
✎
08:08
|
если ты хочешь писать 1 запрос, то это уже процедурщина
необходимо вычленить в задаче конкретный интерфейс ЯЗакрываюФигнюЗаДень() а у тебя уже какой-то с++ пошёл не ООПшно мыслишь |
|||
11
jsmith82
21.03.14
✎
08:08
|
в смысле дружественный класс какой-то
в общем, ты понел |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |