Имя: Пароль:
1C
1С v8
Единая точка получения остатков
0 Rlogin2008
 
31.05.23
20:42
Всем привет.
Интересует опыт коллег по технической реализации.
В самописной конфигурации есть около 20 различных процедур суть которых сводится к вычислению свободного остатка на складе. Написаны в разное время разными программистами. В них есть запросы, которые друг друга дублируют, но не на 100%, т.к. каждая процедура учитывает определенные нюансы.
Суть задачи: написать функции, которые будут возвращать только что то одно. Например - функция 1 возвращает только остатки. Фунцкция2 только резервы. Но это будет работать медленно, т.к. каждая будет выполнять свой запрос. Поэтому хочется использовать некий механизм, который соберет пакетный запрос и выполнить его за один раз. А далее уже обработка результатов выполнения.
Вопрос: может кто-то рассказать, каким образом лучше собирать подобный пакет запросов ?
1 H A D G E H O G s
 
31.05.23
20:55
Борьба против мельниц
2 H A D G E H O G s
 
31.05.23
20:58
Но если хочется - складывай остатки в МВТ, в процедуру передавай структуру с отбором по складу, номенклатуре, их массивам, либо вообще МВТ с ВТ отборов.
3 Жан Пердежон
 
31.05.23
21:05
Остатки в регистре лежат - вот единая точка, всё остальное - нафиг не надо
4 Rlogin2008
 
31.05.23
21:06
Пока есть такой план реализации механизма - на вход процедуры подавать объект Запрос. Внутри процедуры текст запроса дополнять новым текстом запроса. Таким образом собрать пакет из нужных запросов. Далее передать в последнюю процедуру, которая выполнит пакет запросов и вернет результат в виде структуры таблиц. Далее уже структуру таблиц обрабатыать (например вычитать из остатоков резервы или незавершенную приемку и т.д.
5 Rlogin2008
 
31.05.23
21:08
(3) остатки да, но есть еще резервы и некие состояния документов, которые делают движения, но их надо учитывать особым образом.
Система строилась годами, она такая как есть, переделывать бизнес не даст, но сейчас реальные проблемы с поддержкой.
6 H A D G E H O G s
 
31.05.23
21:17
(4) Кому то понадобится детализация до серий, кому то нет. Кто-то захочет разложить до комплектующих, кто - то нет.
7 Rlogin2008
 
31.05.23
21:55
(6) Именно. Поэтому и хочется узнать как решалась подобная задача.
8 zenik
 
31.05.23
22:04
Если остаток надо только "на сейчас", то к примеру в УТ сделали РС. В ресурсах свободный, резерв и пр. остаток. Правда надо дописать движения документов, что бы они в этот регистр отмечались. Но в целом идея мне понравилась.
9 H A D G E H O G s
 
31.05.23
22:44
(7) Никак. Это см(1)
10 timurhv
 
01.06.23
00:14
Почему долго? 20 разных параметров, оттуда 20 разных функций. Если добавили новый, то использовать универсальный запрос. Остальные по мере сил/опыта/авторитета (почему все сломалось) оптимизировать под универсальный.
11 Ногаминебить
 
01.06.23
09:22
По-моему как раз чем универсальнее механизм - тем дольше он в среднем будет отрабатывать. :)
12 mikecool
 
01.06.23
09:45
(11) смотря как написать...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.