Имя: Пароль:
1C
 
форматирование запросов
0 Галахад
 
гуру
10.08.20
13:11
Отступы, пустые строки, выравнивание синонимов.
Ручками или как-то автоматизировано?
1 DTX 4th
 
10.08.20
13:12
Стаж: 9 лет 2 месяца 8 дней
2 ДенисЧ
 
10.08.20
13:12
Я базу формирую в конструкторе, потом руками.
3 DTX 4th
 
10.08.20
13:13
Я правильно понимаю, что речь идет о конструкторе запросов, который можно вызвать через правую кнопку на запросе, и которым пользуются 99% разрабов?
4 Вафель
 
10.08.20
13:14
конструктор как в (0) не умеет
5 MyNick
 
10.08.20
13:14
(2) Правильно, чтобы когда твой последователь добавит одно условие в 100 страничный запрос и захочет через время сравнением посмотреть, что же он поменял, чтобы ему жизнь медом не казалась.
6 Вафель
 
10.08.20
13:15
может на едт у них чего есть
7 Галахад
 
гуру
10.08.20
13:17
(2) А что руками?

(6) Кстати да... Выкинули конфигуратор.
8 Жан Пердежон
 
10.08.20
13:20
(0) конструктором все (нормальные) люди форматируют
9 TormozIT
 
гуру
10.08.20
13:22
Форматирую автоматизировано через ALT+SHIFT+F в консоли запросов ИР.
10 TormozIT
 
гуру
10.08.20
13:25
Думаю в EDT через пару лет появятся настройки для форматирования и встроенного языка и языка запросов. Сейчас их там есть но очень мало. А можно наделать действительно много. Но часто менять правила форматирования вредно, т.к. потом анализировать разницу между версиями кода будет нереально.
11 Ёпрст
 
10.08.20
13:27
снегопат умеет "красивости" в коде, выравнивание по равно и т.д
12 TormozIT
 
гуру
10.08.20
13:28
(11) В запросе равно не так часто применяется. Ты точно про запросы? Показалось ты про встроенный язык.
13 Ёпрст
 
10.08.20
13:44
(12) не, не про запросы..в тексте запроса это не особо и нужно, всё равно, конструктор "сломает" :)
14 fisher
 
10.08.20
13:50
Конструктор меня вполне устраивает в качестве проверяльщика синтаксиса и форматтера без всяких красивостей. Если б он еще комментарии не херил...
15 ASU_Diamond
 
10.08.20
13:50
(0) а зачем это в запросе?
16 lodger
 
10.08.20
13:53
не надо после конструктора "красоту" наводить.
через год сам полезешь редактировать запрос через конструктор, а он от исходного в сравнении модулей будет отличатся почти на 100%. как не поехать крышей вычитывая запятые и переносы строк?
17 Галахад
 
гуру
10.08.20
13:55
(15) (16) Это вы у 1С-овцов спрашивайте.
18 MyNick
 
10.08.20
13:59
(17) о чем спрашивать? О том, откуда берутся одноэсники, которые говнят стандартные отступы, чтобы потом мучались и проклинали последователи?
19 fisher
 
10.08.20
14:00
(17) Так как вряд ли у них снегопат, то вероятно они работают через EDT, куда могли свои форматтеры прикрутить. А может и "конструкторово" форматирование допилили. Фишка EDT - в расширяемости. Факт, что не руками. Подобные мазохисты должны были умереть еще на подлете.
20 kumena
 
10.08.20
20:41
Я запросы всегда руками пишу и форматирую их как мне удобно, чтобы разбираться потом в них было удобно. Конструктором синтаксис иногда проверяю, но конструктор не все рабочие конструкции может открыть.
21 Immortal
 
10.08.20
20:48
(20)+1

а потом некоторых спрашиваешь про синтаксис, а они блеют что то про конструктор=)
22 Конструктор1С
 
10.08.20
21:28
(20) >>конструктор не все рабочие конструкции может открыть

А какие не может, например?
23 TormozIT
 
гуру
10.08.20
21:39
(22) Стандартный конструктор на откроет
выбрать * ПОМЕСТИТЬ ИЗ &Т КАК Т;
выбрать * ИЗ Т КАК Т
А объект Запрос его выполняет без ошибки.
Мой конструктор кстати открывает без ошибки.
24 FormatC
 
10.08.20
23:19
а я люблю запросы руками писать, а потом конструктор его форматирует красиво... наверное, я извращенец ))
но вот комментариев конечно не хватает, затирает...
25 palsergeich
 
10.08.20
23:20
(22) Выбрать Т.Поле как Поле Поместить Т Из &Т Как Т ;
Выбрать Таб.Поле.Ссылка из Т как Таб
Без Явного приведения типов в запросе - будет ругань
26 palsergeich
 
10.08.20
23:21
(25) А вот запрос сам прекрасно выполнится
27 TormozIT
 
гуру
11.08.20
00:35
(25) Мой конструктор такое тоже откроет без ошибки. А если будет в наличии соответствующая таблица-параметр, то еще и все типы полей подхватит.
28 Ненавижу 1С
 
гуру
11.08.20
00:54
Нужен LINQ
29 Конструктор1С
 
11.08.20
04:46
(25) ну так логично, запрос ведь ничего не знает, чего ты там в ВТ закидываешь. Добавь Выразить() и конструктор откроет запрос
30 ASU_Diamond
 
11.08.20
07:30
(20) Сколько времени занимает написание запроса на 4-5 страниц? С использованием хотя бы 3-4 таблиц?
31 fisher
 
11.08.20
09:01
(30) В конструкторе писать и корректировать сложные запросы я вообще не умею. Это какой-то особый скилл прокачивать нужно. С текстом проще. В конструкторе я максимум только простой скелет набрасываю.
32 fisher
 
11.08.20
09:06
(20) > конструктор не все рабочие конструкции может открыть
Это какие? Не сталкивался с таким.
33 TormozIT
 
гуру
11.08.20
09:09
(32) Опять? =) Смотри (22)
34 kumena
 
11.08.20
09:10
> Сколько времени занимает написание запроса на 4-5 страниц? С использованием хотя бы 3-4 таблиц?

Я никогда не засекал сколько конкретно времени писал запросы, я их пишу от души, как сочинение и для удовольствия. К тому же, запросы разные бывают, пока пишешь - думаешь как делать. Писать меня не напрягает, я пишу "в вслепую". Когда пользовался конструктором, меня напрягало искать нужную таблицу в списке, и вообще не удобно - подвинуть выбранное поле вверх или вниз нельзя.
Во вторых, за много лет работы на зупе 2.5 (а я занимался только им) я там "собаку съел", и все наизусть помню. В третьих - у меня уже на готове куча "заготовок" и выборку сотрудников на дату и за период (методически правильную, а не "выбрать сотр из регистр") я мог достать из своих же отчетов.

Ну и самая главная причина, по которой я не пользуюсь конструктором - это то что довольно большие по объему текста и виртуальных таблиц запросы там редактировать не удобно. Может конечно только у меня так, но мое субъективное мнение такое.
35 kumena
 
11.08.20
09:13
> конструктор не все рабочие конструкции может открыть

да, уже объяснили что с ВТ и еще бывают составные запросы.
36 fisher
 
11.08.20
09:16
(35) А, ну астериск - это такое...
37 ASU_Diamond
 
11.08.20
09:23
(34) "подвинуть выбранное поле вверх или вниз нельзя" - можно
38 Надо работать
 
11.08.20
09:25
(23) а комментарии поддерживает? Все никак не решусь перейти на ваш конструктор...
39 kumena
 
11.08.20
09:35
> "подвинуть выбранное поле вверх или вниз нельзя" - можно

ну значит я не нашел этой возможности, хотя честно поискал в свое время.


> Сколько времени занимает написание запроса на 4-5 страниц? С использованием хотя бы 3-4 таблиц?
+34
В зупе 2.5 есть такая особенность у регистров сведений, называется ПериодЗавершения, из за этого поля поля выборки приходится писать с конструкцией Выбор Когда ПериодЗавершения ... (а не просто выбрав имя поля) т.е. все равно - ручной набор, так что конструктор не сильно выигрывает в скорости, если вообще выигрывает. На партнерском форуме видел даже тему, где один лентяй )) предлагал сделать 1с новый вид регистров сведений, видимо чтобы вручную не набирать эту конструкцию.
40 TormozIT
 
гуру
11.08.20
09:51
(38) Комментарии сохраняет. Он далеко вперед ушел от штатного конструктора. Единственное чего там пока нет - поддержки характеристик. Ну и работает он медленнее штатного конструктора по понятным причинам.
41 youalex
 
11.08.20
09:55
(39) на закладке Объединение/псевдонимы
42 ManyakRus
 
11.08.20
10:01
1. пишу запросы руками
2. "моя" консоль запросов умеет подсказывать какие реквизиты есть в справочнике, регистре и др. :)
43 Энштейн 1С
 
11.08.20
10:03
(0) По стандартам 1С каждую строчку надо подробно комментировать, что она выполняет и особенно каждую строку запроса. Пользоваться конструктором запрещено, потому он затирает комментарии, конструктором можно пользоваться только начинающим пользователям 1С
44 ManyakRus
 
11.08.20
10:06
(43) я бы запретил пользоваться конструктором :)
уже пытался запретить изменять "мои" запросы с комментариями и красиво отформатированные.
У меня свой личный общий модуль и никто там не лазиет и не портит мне запросы :)
45 Энштейн 1С
 
11.08.20
10:10
(44) Я бы еще запретил работать в обычном режиме и разрешил только в управляемом, на дворе уже 2020 год, а мы как в каменном веке до сих пор не отличаем код для клиента и для сервера, а про контекст уже молчу. Стыдоба!
46 Энштейн 1С
 
11.08.20
10:14
(44) Плюс я бы добавил в экзамен по Профессионалу знание хотя бы 900 функций и процедур БСП, а то совсем легкий экзамен получается какой то
47 ДенисЧ
 
11.08.20
10:15
(45) А я бы тебе за такой запрет в морду лица дал. Пепельницей, что у входа в магазины стоят.

Свои извращения держите при себе и не надо выкладывать их мне на стол...
48 Энштейн 1С
 
11.08.20
10:16
(47) Так другим программистам стыдно смотреть в глаза из-за этого
49 ManyakRus
 
11.08.20
10:16
(45) Да обычный режим надо запретить,
у нас новенький программист открыл "Толстый клиент" и запустил перепроведение всех документов -
сервер сразу крякнулся, пришлось перезагружать сервер :(
50 ДенисЧ
 
11.08.20
10:18
(48) Так это твои проблемы только. Мы с колллегами не только в лицо смотрим... Некоторые смотрят и в другие части тела... )))
51 ДенисЧ
 
11.08.20
10:18
(49) А если бы он запустил это в тонком клиенте - сервер бы сел на диету и не крякнулся?
52 ManyakRus
 
11.08.20
10:18
(46) БСП вообще не надо знать, и использовать не надо :)
от него проблем больше чем пользы
53 fisher
 
11.08.20
10:18
(43) > По стандартам 1С каждую строчку надо подробно комментировать, что она выполняет и особенно каждую строку запроса
Вероятно, тебе особую версию стандартов выдали, взглянув на твой код где без комментариев не понять ничего.
54 Энштейн 1С
 
11.08.20
10:18
(49) Лохи, надо было брать сервером IBM TeraData
55 ManyakRus
 
11.08.20
10:20
(51) в тонком клиенте я запускал много раз перепроведение, в т.ч. в рабочее время.
В толстом так вообще нельзя
56 Энштейн 1С
 
11.08.20
10:22
(53) Мой код как поэму Пушкина читают вслух и цитируют солидные издания
57 youalex
 
11.08.20
10:22
Пишу запросы руками в конструкторе))
58 Энштейн 1С
 
11.08.20
10:26
(57) Ну как так можно? Это же моветон!
59 Энштейн 1С
 
11.08.20
10:28
(57) Могу взять над Вами шефство, 3 тысячи час
60 Ювелир
 
11.08.20
10:30
(23) Да. Работа с запросами меня впечатлила. Пользуясь случаем, моя благодарность автору! Если кто-то еще не использует, пробуйте. Настолько разносторонне полезный подбор инструментов... Рекомендую!
61 Энштейн 1С
 
11.08.20
10:32
(60) Там время выполнения разных запросов показывает?
62 TormozIT
 
гуру
11.08.20
10:35
(49) "Сильный" аргумент. Причина и следствие "четко" увязаны.
63 TormozIT
 
гуру
11.08.20
10:35
(61) Да. Там есть кажется все вообразимое =)
64 Надо работать
 
11.08.20
10:41
(63) сортировки ВТ по порядку следования в запросе очень не хватает. Без переключения в режим дерева
65 TormozIT
 
гуру
11.08.20
10:48
(63) Поймал =). У меня нет чисто списка временных таблиц, созданных в запросе. Вместо него есть в порядке убывания важности
- дерево запроса (основной режим), где есть все касающееся текущего (пакетного) запроса, включая просмотр содержимого созданной/использованной временной таблицы
- список временных таблиц общего менеджера временных таблиц (страница "Временные таблицы"), сортированный по алфавиту
- результат пакетного запроса, где каждый элемент идентифицируется индексом
66 fisher
 
11.08.20
10:49
(56) Упс. Я не понял сразу контекст комментария, поэтому наехал не по теме. Сорри.
67 Надо работать
 
11.08.20
11:08
(65) дерево не подходит для активной работы с большими запросами. В чем проблема сделать настройку сортировки ВТ?
68 TormozIT
 
гуру
11.08.20
12:07
(67) Расскажи почему оно не подходит. Какие моменты вызывают раздражение или потерю времени/внимания? Я как раз с большими запросами (тысячи строк) работаю только в этом режиме.
69 unregistered
 
11.08.20
12:26
ОФФ. (49) >> у нас ... программист ... запустил перепроведение всех документов...

Если у вас программисты перепроводят документы в продуктиве и вообще меняют какие-либо данные, то, по-моему, это проблемы в консерватории... ИМХО.
70 ASU_Diamond
 
11.08.20
12:39
(43) А можно ссылку на стандарты, а то что-то ни одна типовая под эти стандарты не подходит.
71 acht
 
11.08.20
13:07
(70) Эйнштейн, как известно, родился в небогатой еврейской семье. Не ведись.
72 Кир Пластелинин
 
11.08.20
13:24
(71) то то я гляжу - слог и изложение мыслей до боли знакомы...
73 Надо работать
 
11.08.20
15:38
(68) так текст же не редактируется
74 TormozIT
 
гуру
11.08.20
15:53
(73) Чтобы отображать структуру, соответствующую тексту, возможность редактирования текста запроса блокируется. CTRL+E включает редактирование текущего узла дерева и оно же отключает ее с сохранением изменений. В один момент времени только один узел может редактироваться, но включив режим редактирования узла, вставать можно и на другой узел.
75 Надо работать
 
11.08.20
16:28
(74) в общем, это не то, большие запросы часто рефакторятся, переносятся в-из ВТ, поэтому дерево не подходит. Ну и там, в простом в списке ВТ, хотелось бы видеть время выполнения
76 TormozIT
 
гуру
11.08.20
17:15
(75) Ты про этот рефакторинг ? https://i.imgur.com/i9JsQLY.png
Вроде описанные тобой задачи решаются в режиме дерева без перехода в режим редактирования даже.
В общем пока мне не понятны конкретные неудобства. Опиши конкретные примеры, когда было неудобно.
И лучше уже это делать не здесь, а на форуме ИР или на худой конец в телеграмм-группе.
77 TormozIT
 
гуру
16.08.20
23:14
(64) Доработал панель "Пакет" http://www.hostedredmine.com/issues/884086 , чтобы тебе полегче стало.
78 vi0
 
17.08.20
06:26
(10) "Но часто менять правила форматирования вредно, т.к. потом анализировать разницу между версиями кода будет нереально."
git
-Xignore-all-space
-Xignore-space-change
79 DJ Anthon
 
17.08.20
06:38
пишу в одну строку
80 TormozIT
 
гуру
17.08.20
07:12
(78) Разделитель между запросами пакета, добавление псевдонимов полей и таблиц, другая сортировка выражений в наборе, эквивалетные перестановки соединений таблиц - как будешь xignore'ить?
81 TormozIT
 
гуру
17.08.20
07:19
(80) Строго говоря это я для правил генерации текста запроса конструктором написал. Поэтому твой способ конечно подойдет, когда появится именно чисто форматер текста запроса. Пока же у нас есть только "грязное" форматирование - через перегенерацию текста конструктором.
82 vi0
 
17.08.20
07:25
(80) ну я бы не назвал форматированием то что ты перечислил
я написал к тому, что можно обойти и разное форматирование
83 vi0
 
17.08.20
07:28
(82) в общем то я конечно согласен с тобой, что частые изменения ни к чему
84 ILM
 
гуру
17.08.20
08:17
(0) Конечно бывают. В качестве комментариев можно использовать синонимы названия таблиц, например ВТ_ЗатратыПрочие или ВТ_СтрОтчета_231. А потом становится понятно, откуда данные берете.
85 vi0
 
17.08.20
13:18
(84) режет глаз когда пишут такие приставки ВТ_
читабельность ухудшается, да и понятно что это ВТ, там без вариантов
86 kumena
 
17.08.20
15:45
> режет глаз когда пишут такие приставки ВТ_

мне тоже, не понятно, зачем делать префикс ВТ если там и так ВТ, и ничего другого быть не может.


> ВТ_СтрОтчета_231

из пошленького анекдота:

Ээх, доктор, это все, что осталось от ``Непобедимые летчики воинской
части №5 города Санкт-Петербурга никогда не забудут своих лучших
товарищей - славных моряков из далекого Севастополя``.