![]() |
![]() |
![]() |
|
1С. Аналог хранимых процедур. ИУБиПовиц, АНДР, vicof, Злопчинский, Domovoi, ejikbeznojek, Сергиус, Кирпич, Philix, Kongo2019, d18, Мультук, Шурик71, rsv, Гипервизор, alexela, Олдж, Прохожий, lEvGl, Азат, Franchiser, Gucci76, Волшебник, Бертыш, Hmster, PLUT, hiddi, who respawn, d4rkmesa, МаленькийВопросик, НовыйЯ, vis, NorthWind, 2S, IVT_2009, Amra, Aleksey, Михаил Козлов, Звездец, MaxxiMiliSanM, Garykom, zva, VladZ, Double_Medved, John D, ttk
| ☑ | ||
---|---|---|---|---|
0
Kongo2019
26.06.25
✎
15:09
|
Доброго.
Я так думаю что такое хранимые процедуры рассказывать вам не нужно. я вот столкнулся с тем, что много моего кода в запросах стало повторяемого. На SQL это легко решается использованием хранимых процедур. А что у нас в 1С на эту тему? Я тут два варианта надумал. Первый сделать функцию с этим куском запроса и выгружать в ТЗ. Потом ТЗ загнать опять в запрос. Но некошерно как-то, выгрузить раз, хранить в ТЗ, загрузи обратно. Памяти невменяемо уйдет, и да и медленно по идее такая связка. Второй. Это аналогично, но выдавать через Менеджер временных таблиц. У кого еще какие мысли на это счет? |
|||
1
Гипервизор
26.06.25
✎
15:01
|
Ну а как сейчас модно в каком-нибудь ЗУПе? Собирать запрос из кусков кода, где получаются разные временные таблицы. Как раз как вы и предлагаете. Работать с этим, конечно, отдельное "удовольствие".
|
|||
2
PLUT
гуру
26.06.25
✎
15:03
|
||||
3
vicof
26.06.25
✎
15:05
|
(0) Ты не поверишь, процедуры и функции - это и есть хранимые процедуры.
А повторяемый код - библиотеки. Через менеджер вт на 1с - предчувствую кучу г-кода. Делай функции, которые запросы твои выполняют, и пихай их в модули, повторяемые и не только. |
|||
4
Kongo2019
26.06.25
✎
15:13
|
(1) Да я не предлагаю пока ничего. Я интересуюсь.
(2)Тама пароля. Но сюдя по названию. Это пакетные запросы. Да они и так у меня уже на несколько экранов. Вкладки в конструкторе запросов уже на второй ряд пошли. (3)Зачем мне функции 1С? я хочу все на стороне сервера ваять, средствами так скажем SQL. |
|||
5
Волшебник
26.06.25
✎
15:13
|
(4) Это запрещено лицензионным соглашением.
|
|||
6
Kongo2019
26.06.25
✎
15:30
|
Видать вы не поняли.
Есть запрос. Написанный в 1С.Прекрасно открывается родным конструктором запросов. Там сначала идет запросов пять-шесть. Кидаются во временные. потом эти временные собираются в один запрос, которых тоже кидается во временный. Эти пять шесть гасятся. То бишь на выходе она временная таблица. Дальше уже идет своя логика, тоже средствами запросов 1С каждый раз разная. Вот я себя поймал что это уже копи-паст третий раз за сегодня. И это не есть хорошо. То бишь этот кусок я бы если писал на SQL я бы выгнал в хранимку. А как в 1С? |
|||
7
shuhard
26.06.25
✎
15:33
|
(6)[А как в 1С? ]
всё то же ставишь в запросе @какаятохерня перед выполнением запроса заменяешь на нужное |
|||
8
Kongo2019
26.06.25
✎
15:37
|
(7) и пипец простой отладке и проверке запросов.
|
|||
9
d4rkmesa
гуру
26.06.25
✎
15:40
|
(0) А как насчет общих модулей? Или даже тупо в модуле менеджера сделать программный интерфейс (как в типовой сделали с отчетом "Дерево себестоимости продукции" или с ресурсными спецификациями, куда напихали механизмы подбора и расчета плановых калькуляций).
|
|||
10
d4rkmesa
гуру
26.06.25
✎
15:48
|
(6) Вы буквально описали программный интерфейс ЗУП, все эти процедуры <ИмяМодуля>.СоздатьВТ***(...).
|
|||
11
unenu
26.06.25
✎
16:40
|
(6) да, это описание механизма представлений запросов в 1С.
Он уже не только в ЗУП. В тяжелых конфигах популярные отчеты и механизмы уже переписаны. Какая разница делать это в СУБД или в коде? Результат тот же: кратное уменьшение кода и гибкая модификация физических таблиц без переписи запросов. |
|||
12
Garykom
гуру
26.06.25
✎
19:07
|
(8) А что поделать?
И да это вполне нормальное решение, если не хочется почти повторяющиеся тексты запросов хранить Храни только некий шаблон текста запроса Перед использованием берем его и подменяем выражения на нужные Чтобы конструктор запроса его кушал все заменяемые выражения в тексте-шаблоне храни как переменные по типу &ТутИмяТаблицыДляЗамены |
|||
13
Кирпич
26.06.25
✎
19:19
|
(0)Сходи в отпуск. Совсем запрограммировался же.
|
|||
14
NorthWind
26.06.25
✎
19:58
|
(4) (3) >> Зачем мне функции 1С? я хочу все на стороне сервера ваять, средствами так скажем SQL.
Ну возьми тогда любую СУБД и пиши к ней морду на чем нравится, например на Delphi. А в базе располагай любой серверный код. 1С так не работала, не работает и не будет работать, потому что у нее таблицы БД отображаются в прикладные объекты через структуру метаданных, которые она серверными средствами ковырять никому не дает - и правильно, между прочим, делает. Как минимум с точки зрения себя правильно. |
|||
15
Кирпич
26.06.25
✎
20:23
|
(14) Так &НаСервере же есть. Выполняй на сервере. Никто не запрещает.
|
|||
16
Прохожий
26.06.25
✎
21:36
|
(4) Именно поэтому 1с уже давным-давно при реструктуризации перетирает все хранимые процедуры 1С и генерит заново только нужные. Плюс обфукация имен таблиц в каждом экземпляре базы. Ничего менять и ли дополнять не получится
|
|||
17
Прохожий
26.06.25
✎
21:38
|
Лучше расскажите когда два менеджера ВТ можно будет полюбить в одном запросе...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |