Related Posts
- Получение логина и пароля техподдержки 1С из базы
- Класс для вывода отчета в Excel
- Счет-фактура для УПП
- Библиотека классов для создания внешней компоненты 1С на C#
- Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
- Прайс-лист с артикулом в отдельной колонке
(0) Статью двухлетней или трёхлетней давности от Чистова не читал? Там намного подробней расписано.
(1) чукча не читатель, чучка писатель…
Автор попутал б-жий дар с яичницей. Описано так, как будто пакетные запросы — что-то недосягаемое и нереально крутое… Это обыденность, простой механизм наряду с прочими механизмами платформы.
написано же — для «чайников»
Если уж пейсатель (и оператор кстати тоже, гыгы), то тогда лучше для чайников сделать 2 изменения.
1. В заглавие добавить что-то типа «как написать свой первый пакетный запрос»
2. Найти статью Чистова и дать на неё ссылку.
Согласен с (5) лучше найти ссылку на статью Чистова
Ну прямо все заладили с Чистовым, ну так дайте ссылку на эту статью, я например не читал.
Набросились такие на человека, по моему для чайников в самый раз 🙂
Неееее для чайников не потянет — мудрено написано… Картинок мало… И запрос не из ЗУПа (на 10 листов формата А4)… Переписать!
(6)(5) у чистово сложнее и искать надо, а тут под рукой, на ИС.
(4) вот именно, быстрый старт, так сказать.
(8) о чем и речь. Пусть выскажутся чайники.
(9) статья для чайников, а не для дураков.
Скажу так: шел мимо, знал что есть пакетные запросы, но никогда не пользовал, как-то не было нужды. А тут подробно написано как, что и когда, и самое главное пример из жизни для чего. Теперь приблизительно понятно для чего это может пригодиться. Автору спасибо.
А ссылку на Чистова дайте уж пожалуйста. И вообще странный народ, какой смысл писать фразу про Чистова, если вы не даёте ссылку? Если знаете нечто по существу, так дайте развернутый ответ.
Вот это, я так понимаю:http://www.nashe1c.ru/materials-view.jsp?id=47#oultine_7
Чтение действительно облегчает, но, я так поняла, выигрыша в оптимизации нет?
(13) почему это нет? Простые запросы можно быстрее выполнить, чем один сложный… Редко когда нужно оптимизировать… 😉
(12) у Чистова тоже не густо.
Немного в защиту автора: из общения с некотороми человеками, скажем так, возникает проблема,что читать что-то официальное, специально написанное, они не хотят. Вы за них прочитайте и выберете для них главное (с их точки зрения) и не важно, что это это уже написано, и скорее всего проще, доступнее.
Будем надеяться, что у автора не пропадет желание что-то ещё писать и делать.
При составлении инструкции всем угодить нельзя, очень редко бывает, чтобы угодить хотябы половине…
(15) официальные инструкции слишком официальны! 😉
(14) Как раз у Чистова изложено понятно, что это такое и для чего нужно.
(13) В некоторых случаях выигрыш есть, Чистов об этих случаях и рассказывает.
(17)В ссылке из (12) выигрыш только в НЕ создании лишнего объекта запрос и менеджера ВТ.
Еще есть обтекаемая фраза «естественно что система при каждом вложенном запросе заново обращается к базе данных для получения данных.» — а при использовании вместо вложенного запроса пакетный не обращается? Т.е. запросы выполняется последовательно и все соединения потом отрабатываются с готовыми выборками?
Является ли 1с-ное «поместить… ;» в данном случае аналогом скульного with … as?
(17) ну пусть Чистов изложит свое видение на Инфостарте. Я изложил свое.
По-моему не писала еще пакетные запросы, делаю вложенные, иногда получаются достаточно сложные для чтения и правки, особенно, если приходится к ним возвращаться спустя какое-то время. Так что в таких случаях пакетные наверное удобны… Теперь, если понадобится сложный запрос, попробую сделать пакетный. Так что спасибо автору, что напомнил про такую возможность))
Лунс, не нервничай, я имел ввиду «Защиту от дурака». Вполне литературный термин…
Можно поправить на глупцов.
по моему у Чистова понятней (http://www.nashe1c.ru/materials-view.jsp?id=47#oultine_7 )
Стоит добавить: пакетные запросы удобны если надо делать запрос к таблице значений или еще не записанному документу
Запрос.Текст =
«Выбрать ТабЧастьТовары.Номенклатура,ТабЧастьТовары.Количество
|Поместить ТабЧасть из &ТабЧать как ТабЧастьТовары;
|Выбрать * из ТабЧасть»;
Запрос.УстановитьПараметр(«ТабЧать»,Док.Товары);
(тоже боян)
(23) сколько людей — столько мнений!
«Запрос писался для системы компоновки, т.е. никаких таблиц значений или временных таблиц применять нельзя в принципе»
Это почему?
Я тоже вброшу
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=571359
(0) >>>> Запрос писался для системы компоновки, т.е. никаких таблиц значений или временных таблиц применять нельзя в принципе
Прямо так и нельзя в принципе? В принципе таблицу значений в СКД передать можно.
в принципе понятно
(26) Поручик, если вам это необходимо, то может быть нужно подумать о том, чтобы поменять логику построения?
Пакетные запросы позволили мне сэкономить почти на порядок времени при выполнении огромного запроса с кучей вложенных подзапросов всего лишь грамотным их разнесением. Также можно обращаться в разных пакетах к однажды выполненному запросу, а не выполнять его многократно.
Ну и если данное руководство кому-то поможет, то почему нет? Вдруг кто-то да научится, почитает статью Чистова и начнёт правильно писать, чтобы потом другому человеку не переписывать данный кусок при принятии конфигурации на поддержку?
(26) когда писал, еще не знал. таблицу значений в СКД передать можно, но менеджера временных таблиц в СКД нет.
(29) Впечатление такое, что тебя в погребе держали года три, и вот внезапно мятежный дух восстал из ада.
(30) неа. просто копипащу со своего сайта… Тут обратная связь имеется, прикольно. Да и рейтинг растет как на доржжах.
Лучше переименовать статью во «Временные таблицы для чайников», потому что пакетные запросы это немного другое. Суть пакетных запросов в том, что можно сделать несколько запросов, не обязательно помещенных во временную таблицу, можно их получить как Запрос.ВыполнитьПакет().
(32) Буквоедством страдаете? Могли бы сказать без буквоедства, что пакетные запросы не всегда используют временные таблицы, а в данной статье упор в основном сделан на них. 😉
Ув. fixin, высказываюсь как чайник. Объяснение зачем — понятно, так действительно проще для восприятия. Но пример запроса вгоняет в полнейший ступор. В частности, вот это:
вместо <список источников> два объединенных запроса опять же без источников. Может это чисто абстрактный пример, но мой мозг разорван в клочья и не воспринимает дальнейшую информацию. Если бы вы привели полностью весь код запроса — было бы понятнее для чайника ,имхо.
И еще два вопроса по существу, ответа на которые, кстати в желтых книгах тоже нет:
1. при использовании пакетных запросов реально можно не создавать менеджер временных таблиц?
2. если юзать пакетный запрос без временных таблиц, то как обращаться к результатам предыдущего запроса?
вложенный запрос просто выдает таблицу из одной колонки Зн в которой в первой строке А, во второй строке Б.
1. Да, можно не создавать менеджера, если вам не надо потом получать данные из промежуточных временных таблиц, а достаточно результата
2. А смысл? Результаты промежуточных запросов никуда не сохраняются и к ним доступ не получить. Так что временные таблицы!
(35)
[QUOTE=fixin]вложенный запрос просто выдает таблицу из одной колонки Зн в которой в первой строке А, во второй строке Б. [/IS-QUOTE] нигде не встречал ранее, запомню.
по вопросу 2 — я имел ввиду следующий запрос в пакете. или о чем вы здесь говорите (33):
(36) перефразируй вопрос, не понял
для передачи результатов между запросами внутри пакета всегда используются временные таблицы? или можно без них.
они как я понял могут тормозить работу запроса.
(38) без них не получится. 😉 но ВТ можно использовать без создания менедежера временных таблиц, да хоть в СКД
Кстати, статья Чистова в тему:http://pro1c.org.ua/index.php?showtopic=3052
И заметки самому себе:
мне помогло!!!
Закинул в консоль, просмотрел вложенные запросы, временные таблицы, попробовал свой маленький пример сделать и получилось.
Большое спасибо автору, не пожалел времени и потрудился для меня и таких как я, учтите, что ему это уже не нужно было!
Почему нельзя, можно, советую Хрусталеву почитать.
+(42) Статья кстати толковая, спасибо.
Бывает, что не хватает самой малости, чтобы понять какую-нибудь в принципе простую вещь.
После чего ты никак не можешь понять, почему ты не понимал этого раньше.
Спасибо тем, кто еще помнит, что мешало разобраться с темой, и тратят свое личное время на то, чтобы помочь другим преодолеть этот шаг.
В то же время господа-профессионалы любят стебаться над чужими статьями, сами при этом ничего не пишут, или пишут на таком марсианском языке, что новичкам и чайникам проще искать решение в другом месте, чем выпрашивать совет мелкими крошками, как милостыню.
От меня лично — большое спасибо, вроде не чайник, но ранее не пересекался с темой, натолкнула на новые мысли.
(44) getnight, просто поддержу Ваши мысли….
хотя кмк автору следовало бы более подробнее расписать для «чайников» смысл запроса…
читателю сначала надо врубиться в суть примера, и только потом понять «простоту» пакетного запроса
(45) я гений 1С, не всегда могу разжевать для посредственностей, но стараюсь. 😉
(46) Фиксин как всегда жжот (:
(1) Поручик, (2) — У Чистова-то может и написано было, но ссылки из (12) Godman уже недоступна. Так что иногда полезно копипастить или переизлагать инфу на разных ресурсах.
Для стандартной УТ, Бух и т.д. можно посмотреть в отладчике содержимое временной таблицы в пакетном запросе вот так:
ОбщегоНазначенияУТ.ПоказатьВременнуюТаблицу(<Запрос>, <Наименование вн. таблицы>)