Имя: Пароль:
1C
1С v8
Как отредактировать запрос динамического списка в расширении
,
0 ssalikoff
 
28.11.20
00:01
Для того чтобы это сделать, система требует чтобы я всё-всё, что есть в запросе, позаимствовал в расширении.
Только после этого я смогу сохранить текст запроса.
Причём после того, как текст запроса сохранён, всё, что было позаимствовано, можно удалять. Оно не нужно.
Однако редактировать запрос я уже не смогу.
Есть ли какой-нибудь техничный способ обойти это неудобство?
1 hhhh
 
28.11.20
00:05
(0) сделайте текст запроса в процедуре ПриСозданииНаСервере
2 ssalikoff
 
28.11.20
00:16
(1) Конечно, так можно, но это некрасиво. Получается, что текст будет храниться в самой конфигурации, и в моём коде, который будет его подменять
Не понимаю, почему система не даёт записать текст запроса принудительно?
Вот, скажем, если у меня ошибки в модуле и я сохраняюсь, система предупреждает: у тебя ошибки, будем сохраняться? Я могу ответить да, и всё записывается.
А вот с текстом запроса такое не прокатывает, хотя, казалось бы, какая разница?
3 jsmith82
 
28.11.20
00:51
ну во-первых, техничного способа нет
во-вторых, чем тебе мешают в расширении заимствованные объекты
в-третьих, если расширять некоторые типовые формы, там один фиг текст запроса при создании на сервере устанавливается
4 ssalikoff
 
28.11.20
01:10
(3) Я не уверен, но у меня сложилось впечатление, что объекты в расширении влияют на производительность. Система, при наличии заимствованного объекта вынуждена вычислять результирующий код и тратить на это силы.
Во-вторых, и это гораздо важнее, я видя объекты в расширении вижу, где в конфигурации я вносил правки, в какие объекты залазил. А если заимствовать всё подряд, то ухудшается контроль над своими доработками.
5 hhhh
 
28.11.20
02:56
(4) значит вам правильно подсказали. Все объекты, которык в запросе, надо позаимствовать. А иначе вы потеряете контроль. Если вы хотите без контроля, то да, можно не заимствовать.
6 alkorolev
 
28.11.20
12:06
технический способ обойти неудобство только один - подготовьте свой динамический список для начала во внешней обработке, а потом сохраните в расширении
7 RomanYS
 
28.11.20
12:08
(6) Проблема вроде как раз в том, что сохранить не даёт.
8 ДенисЧ
 
28.11.20
12:10
"Есть ли какой-нибудь техничный способ обойти это неудобство?"
Есть. Заимствовать нужное и не удалять.
9 Вафель
 
28.11.20
12:17
можно редактировать без конструктора. тогда все объекты заимствовать не надо
10 RomanYS
 
28.11.20
12:18
(9) Сохранить не даёт
11 Вафель
 
28.11.20
12:18
ну и запрос конечно лучше кодом менять
12 alkorolev
 
28.11.20
12:19
(7) нет под рукой конфигуратора, чтоб оспорить это утверждение) в любом случае можно же скопировать/вставить реквизит формы, а еще лучше вынести текст запроса в модуль формы
13 alkorolev
 
28.11.20
12:21
вообще смешно слушать на эти жалобы "неудобства" работы с расширениями. Вы с первыми версиями явно не работали, когда можно было переопределять только обработчики формы, а о добавлении реквизитов лишь мечтали
14 RomanYS
 
28.11.20
12:54
(12) сейчас тоже не проверял, но раньше с таким сталкивался.

>>можно же скопировать/вставить реквизит формы
Смысл не понятен, предлагается весь ДС откуда-то скопировать, а захваченный из формы отключить?

>>лучше вынести текст запроса в модуль формы
От этого ТС отказывается. Я бы вообще вынес в общий модуль, а форму вообще не захватывал. Если дополнительные обработчики в форме не нужны, то имхо оптимальный вариант
15 youalex
 
28.11.20
15:23
(2) >> Конечно, так можно, но это некрасиво.
Наоборот, так будет сразу видно, что запрос изменен, изменен тобой и почему (если ты не забудешь оставить комментарий)
16 runoff_runoff
 
28.11.20
16:42
есть ли основная таблица или нет?
как таблица в запросе называется, она же основная?
какие реквизиты в неё добавлены, типы реквизитов?
17 runoff_runoff
 
28.11.20
16:43
вопрос простейший
18 ssalikoff
 
29.11.20
00:33
Спасибо всем за обсуждение.
Оно показало, что действительно, неудобство существует и его никак нельзя преодолеть.
Возможно, в будущих релизах, ситуация изменится.
19 AAA
 
29.11.20
06:33
Недавно столкнулся с аналогичной задачей. В сухом остатке - отказался от ручной модификации текста запроса, использовал объект "СхемаЗапроса" для модификации типовых запросов списков . В итоге и формы заимствовать не понадобилось. реквизиты тоже добавил программно, хотя ранее не был сторонником такого подхода.
20 _zdv
 
04.02.21
10:14
(18) Необходимо добавить в расширение форму. потом открыть форму в расширении и в списке реквизитов формы (именно в расширении) выбрать нужный динамический список и его "добавить в расширение". Тогда платформа сама добавит в расширение всё, что нужно, и запрос списка можно будет редактировать (даже в конструкторе) и сохранять. удалять ли потом автодобавленные объекты - по желанию разработчика.
21 AlvlSpb
 
04.02.21
12:27
(20) +100 Именно так
22 polosov
 
04.02.21
12:32
(20) (21) Вы тоже на курсе по расширениям у Чистова были?