Имя: Пароль:
1C
1С v8
Подскажите оптимальное решение задачи ...
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
в смысле дружественный класс какой-то
в общем, ты понел