Имя: Пароль:
1C
1С v8
Почему в типовых делают так?
,
0 batmansoft
 
16.01.14
16:51
|ВЫБРАТЬ
    |    " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |    " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |    Номенклатура.Код КАК Код,
    |    Номенклатура.Артикул КАК Артикул,

неужели нельзя по человечески сделать, что бы запрос можно было конструктором править.
Слов нет, один мат...
1 vladko
 
16.01.14
16:53
так сделано, чтобы 2 запроса не писать при разных значениях ЧастьЗапросаДляВыбораСодержанияУслуг
2 VikingKosmo
 
16.01.14
16:53
(0) Потому что конструктор запросов - зло!
3 Джинн
 
16.01.14
16:53
Часто так гораздо универсальнее и проще получается. Проблемы негров, которые руками запрос написать не могут, шерифа не волнуют.
4 Euguln
 
16.01.14
16:54
А чо, нормальный запрос.
5 el7cartel
 
16.01.14
16:54
(0) ну так нафига лишнее лопатить?
6 Полотенчик
 
16.01.14
16:55
(3) писать-то может и умеют, но такую солянку банально на синтаксис/пунктуацию проверить нельзя
7 МойКодУныл
 
16.01.14
16:55
Для меня было шоком, когда я первый раз полез в ЗУПе с формированием нгачислений разбираться. Потом неделю не разговаривал:). Но есть что есть.
8 batmansoft
 
16.01.14
16:55
(3) Конструктором писать гораздо быстрее и оптимальнее.
9 VikingKosmo
 
16.01.14
16:56
(8) расскажи об этом запросам написанным для Универсального отчета.
10 Euguln
 
16.01.14
16:56
(8) Никто не мешает в отладке вынуть текст запроса в конструктор
11 patapum
 
16.01.14
16:56
(8) кому-то да, кому-то нет.
12 Ненавижу 1С
 
гуру
16.01.14
16:57
нормальные чуваки пишут так:

|ВЫБРАТЬ
    |    &ЧастьЗапросаДляВыбораСодержанияУслуг,
    |    &ЧастьЗапросаДляВыбораСодержанияТоваров,
    |    Номенклатура.Код КАК Код,
    |    Номенклатура.Артикул КАК Артикул,

а потом используют
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&ЧастьЗапросаДляВыбораСодержанияУслуг",...);
13 batmansoft
 
16.01.14
16:57
(10) но это долго
14 batmansoft
 
16.01.14
16:57
(12) Полностью согласен. Это идеальный код.
Видать, в 1С-е неадекваты работают.
15 Euguln
 
16.01.14
16:59
Интересно, а что будет быстрее выполнятся на запросе over 1000 строк?
16 patapum
 
16.01.14
16:59
(14) а чем тебе это проще, чем (0)?
17 Beduin
 
16.01.14
16:59
(14) Какая разница между (12) и кодом из (0)?
18 Джинн
 
16.01.14
17:00
(8) Простые и примитивные запросы - да. Как только начинается что-то сложнее простой выборки из таблицы - конструктор часто не помощник уже, а гиря на ногах.

Кроме того никто не мешает шаблон собрать конструктором, а затем руками подрихтовать.
19 batmansoft
 
16.01.14
17:00
(17) в 12 можно пользоваться конструктором
20 Ненавижу 1С
 
гуру
16.01.14
17:01
(16)(17) тем, что он открывается в конструкторе
(18) склеивают запросы уже давно только неадекваты
куча старого кода такого досталось, выкинуть жалко, переписать некогда
21 batmansoft
 
16.01.14
17:01
(18) Как раз простые и примитивные запрос в легкую без конструктора пишутся, а вот ложные вложенные со множеством соединений - тут без конструктора никак.
22 Euguln
 
16.01.14
17:01
(19) Можно, но с оглядкой на то, что будет в &ЧастьЗапросаДляВыбораСодержанияУслуг
23 Леопольд Роскошный
 
16.01.14
17:03
сделай так

сообщить(запрос.Текст);

потом скопируй и пользуйся чем хочешь.
Консолью например.
24 Джинн
 
16.01.14
17:03
(20) С появлением временных таблиц в запросах актуальность "клееных" запросов конечно упала, но тем не менее часто сам текст запроса зависит он некой бизнес-логики и проще его "склеить" чем в конструкторе монстра собирать.
25 Ненавижу 1С
 
гуру
16.01.14
17:04
(22) а ты как думаешь что там может быть?
я думаю, что там набор полей
26 batmansoft
 
16.01.14
17:04
(23) допустим так и сделал, подправил, а потом впихать его обратно, а если запрос собран по кусочкам - тут запаришся впихивать
27 Euguln
 
16.01.14
17:04
(25) Да, причем не факт, что из основной таблицы
28 mrDSide
 
16.01.14
17:06
(14) это ужас. сколько времени будет уходить каждый раз на разбор текста (стрзаменить()) перед выполнением запроса?
ПОЧЕМУ ВСЕ РУГАЮТ ШАБЛОНЫ ОГРАНИЧЕНИЙ 1С? ВЕДЬ ОНИ РАБОТАЮТ ИМЕННО ТАК.
29 Ненавижу 1С
 
гуру
16.01.14
17:06
(27) тебя это смущает?
30 Ненавижу 1С
 
гуру
16.01.14
17:06
(28) да уж не дольше чем выполнение самого запроса
31 mrDSide
 
16.01.14
17:07
(30) + ВЫПОЛНЕНИЕ ЗАПРОСА <> КОНКАТЕНАЦИЯ СТРОК + ВЫПОЛНЕНИЕ ЗАПРОСА
32 Ненавижу 1С
 
гуру
16.01.14
17:08
(31) не экономь на спичках, удобство сопровождения стоит дороже
ЗЫ: отключи капслок
33 GROOVY
 
16.01.14
17:12
Ненавижу 1С , а как таким макаром составное условие, к примеру сделать?

ГДЕ &МоеУсловие ?
34 GROOVY
 
16.01.14
17:13
Или мне, к примеру, по условию нужно либо присоединить еще одну таблицу к запросу, либо нет...
35 GROOVY
 
16.01.14
17:15
Коментами все решается, но их конструктор убивает.
36 mrDSide
 
16.01.14
17:15
(32) беда, беда...
Готов спорить что конструктор сразу же ругнется как только увидит повторяющееся имя параметра без псевдонима.
37 GROOVY
 
16.01.14
17:15
Вообще интересная тема, ругать разработчиков типовых из-за того что не умеешь писать запросы руками ;)
38 mrDSide
 
16.01.14
17:16
а если уж так не нравится - МенеджерВременныхТаблиц.
39 GROOVY
 
16.01.14
17:16
(36) С чего бы это.
40 Полотенчик
 
16.01.14
17:17
ГДЕ
&УсловиеОтборНоменклатура
И &УсловиеОтборКонтрагент
И &УсловиеОтборСклад

Текст = СтрЗаменить(Текст, "&УсловиеОтборНоменклатура", ?(ЗначениеЗаполнено(Номенклатура), "Таблица.Номенклатура = &Номенклатура", "ИСТИНА"))



ВЫБРАТЬ
....

ОБЪЕДИНИТЬ

ВЫБРАТЬ
...
ГДЕ
&НужнаВтораяТаблица
41 mrDSide
 
16.01.14
17:22
(40) это уже целый план запроса)))
&УсловиеОтборНоменклатура - не проще ли "ВЫБОРК КОГДА .. ТОГДА А КОГДА .. ТОГДА Б ИНАЧЕ В КОНЕЦ"
может кто-нибудь уже попробует выполнить один и тот же большой запрос с замером (ИР в помощь).
42 Ненавижу 1С
 
гуру
16.01.14
17:25
(33) а какие трудности?
постоянно так делаю, точнее именно с условий и началось все это
43 batmansoft
 
16.01.14
17:25
(37) я умею писать запросы руками, просто конструктором - БЫСТРЕЕ.
44 Ненавижу 1С
 
гуру
16.01.14
17:25
(41) не проще, индексы могут не использоваться в твоем случае
45 mrDSide
 
16.01.14
17:29
(44) не совсем понял при чем тут индексы. Можно подробней?
46 х86
 
16.01.14
17:30
было бы неплохо если бы разрабы сделали такую вещь
чтоб текст запроса можно было бы представить в виде DOM
ну и обращаться к этому дому, читать и писать поля
47 SeraFim
 
16.01.14
17:32
(37) +1

Вы ЗУП почитайте. Без этого - либо будут запросы по 2 часа выполняться (так как в них будет туева хуча ненужных полей для вычисления) либо портянки на сотни тысяч строк, которые сопровождать - нереально. Понадобится изменить одну штучку - придется править каждый запрос.
48 mrDSide
 
16.01.14
17:32
(46) ПостроительЗапроса, ПостроительОтчета
они еще и сериализуются, в принципе
49 х86
 
16.01.14
17:33
(46)+ хотел как-то сам написать парсер текста запроса в структуры, а потом забил, муторно как-то
50 Новиков
 
16.01.14
17:34
Если конфа активно пилится, я вставляю обычно обработку, и из отладчика, перед Запрос.Выполнить() вставляю заготовленную строчку кода, которая сохраняет нужный запрос в формат консоли запросов, скидывает туда параметры. Дальше F5, и уже в консоли переоткрываю и там нажимаю Выполнить. Все.
51 х86
 
16.01.14
17:34
(48)да, что-то наподобии, только что простой текст запроса можно было скормить
52 IamAlexy
 
16.01.14
17:35
(9) универсальный отчет это уже давным давно окаменевшее гамно мамонта..

СКД - наше всье...

попиши для СКД отчетов руками.. ага..
53 IamAlexy
 
16.01.14
17:37
(0) отстой это..мне тоже не нравится..
особенно когда надо доработать отчет а там объединения и вот такие вставки.. всегда напарываюсь что где то что то не совпадает и приходится лезть лишний раз в отладчик, смотреть текст запроса..

лишние телодвижения на ровном месте
54 х86
 
16.01.14
17:37
если бы можно было текст представить в виде ДОМ, то такого как в (0) бы не было
нашел нужный узел, накидал полей и т.п.

почему еще не сделали?
55 mrDSide
 
16.01.14
17:37
(51)
ПостроительОтчета (ReportBuilder)
Инициализация текстом запроса построителя отчета
Синтаксис:

Новый ПостроительОтчета(<ТекстЗапроса>)
Параметры:

<ТекстЗапроса> (необязательный)

Тип: Строка.
Исходный текст запроса.
Описание:

Создает объект по тексту запроса построителя отчета.
56 Новиков
 
16.01.14
17:39
(52) Особенно радует как там кодом, кодом мутиться в некоторых отчетов - прямо видно, что не смогли в общую концепцию вписаться обвяза типового, и понеслась - кто на что горазд :) Но благо что хоть схему+настройки можно вытащить, чтоб отладить. А я помню, где то использовался свой ручной вывод с отключенными этими типовыми настройками.
57 m-serg74
 
16.01.14
18:12
(52) ОСВ в БП3шке смотрел? Там тоже весело :)
58 Starhan
 
17.01.14
07:32
(0) в отладчике доходишь до строчки Запрос.Выполнить()
и оппа, в Запрос.Текст Будет нужный тебе текст запроса.
Копируешь (в консоль запросов) и пользуешься.
59 ИС-2
 
naïve
17.01.14
07:37
(12) +1.