Разработка и оптимизация запросов в 1С:Предприятие 8.3. Модуль 2. Синтаксис текста запроса
На данной странице задавайте вопросы по материалам и практическим заданиям второго модуля курса «Разработка и оптимизация запросов в 1С:Предприятие 8.3».
Практические задания
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии / обсуждение (1 016):
Комментарии закрыты

Доброго дня!
Ещё один вопрос назрел.
Для ускорения формирования отчёта необходимо использовать Представление(), в то же время для получения расшифровок по выведенным ячейкам необходимо в расшифровку передать ссылку на объект.
Получается в запросе нам необходимо получать как саму Ссылку так и Представление ссылки, однако, какой тогда смысл в получении представлении Ссылки если и по самой Ссылке на Объект нам будет выведено её представление при выводе отчёта?
Подобные примеры постоянно попадаются в текстах запросов в типовых. Например вот начало одного из них:
ТекстЗапроса = »
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ИсточникДанных.Подразделение КАК Подразделение,
| ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение),
| ИсточникДанных.СтатьяЗатрат КАК СтатьяЗатрат,
| ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СтатьяЗатрат),
…
(текст комментария доступен только участникам Мастер-группы)
Доброго дня!
В процедурах Получения Представления предложено использовать дополнительное поле «ЭтоГруппа». Я, когда сам делал, доп. полей не использовал, а просто проверял на заполненность поля «Артикул». Расскажите пожалуйста, что в конечном итоге будет быстрее работать?
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ЗначениеЗаполнено(Данные.Артикул) Тогда
Представление = Данные.Артикул + » — » + Данные.Наименование;
Иначе
Представление = Данные.Наименование;
КонецЕсли;
КонецПроцедуры
…
(текст комментария доступен только участникам Мастер-группы)
ВЫБРАТЬ
ПоступлениеТоваров.Номер,
ПоступлениеТоваров.Дата,
ПоступлениеТоваров.Контрагент,
ВЫБОР МЕСЯЦ(ПоступлениеТоваров.Дата)
КОГДА 1
ТОГДА «ЯнВарь»
ИНАЧЕ «Другой»
КОНЕЦ КАК Месяц
ИЗ
Документ.ПоступлениеТоваров КАК ПоступлениеТоваров
Вопрос — как их подтянуть?
…
(текст комментария доступен только участникам Мастер-группы)
Василий, извините, не добавлялся комментарий, вопрос не скопировался. Вопрос возник при выполнении 15 задания, где требовалось установить два параметра ДатаНачала и ДатаОкончания и отобрать док.Поступления, попадающие в этот интервал. Я не знаю как это сделать, а в просмотренном видео-ответе, на данный вопрос не отвечается.
…
(текст комментария доступен только участникам Мастер-группы)
Василий, большое спасибо за ответы.
…
(текст комментария доступен только участникам Мастер-группы)
А еще интереснее сделать отбор интервала по целым дням:
ГДЕ
ПоступлениеТоваров.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
Отбор по целым дням, в отличие от секунд, более привычен для восприятия.
…
(текст комментария доступен только участникам Мастер-группы)
Все задания проверял на базе данных DB2. Нашел и исправил некоторые ошибки в Консоли запросов ( в частности при получении плана запроса). Исправленную версию прилагаю — возможно будет кому-либо полезна.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте. Всех с наступившим!!!Заканчиваю смотреть 2 модуль курса. О-очень интересный и полезный курс.Вопрос, а вернее пожелание по теме «Объектная модель запросов». Если Вам не сложно — можно поподробнее именно по этой части? В частности хотелось бы увидеть помимо того, что механизм наконец то появился на самом деле и что то действительно работает, более углубленные сведения. В частности, было бы неплохо «вживую» пробежаться по ветке СхемаЗапроса в синтакс-помощнике( там как обычно все скудно и кратко).Это что касается теории. Ну и конечно Ваша «изюминка»- это демонстрация на практическом примере.Ну например «перевод» конкретного динамического запроса в объектную модель.Возможно подскажете какие либо другие «фишки», для облегчения понимания данной темы.Думаю, что более подробное освещение этого вопроса было бы интересно многим.
Всего наилучшего, Игорь.
…
(текст комментария доступен только участникам Мастер-группы)
Василий, извините, что не по теме, но обращаюсь к Вам, поскольку техподдержка молчит. Пытаюсь получить с утра регистрационный ключ, но везде тишина, и на форуме, и по телефонам…
Здравствуйте, Даниил.
Приносим свои извинения за задержку с выдачей регистрационного ключа. На выходных поступает большое количество заявок на получение данных ключей, к сожалению, все заявки во время обрабатывать не успеваем — на дежурстве только один сотрудник.
P.S. Регистрационный ключ для просмотра курса был выслан Вам сегодня около 16:00 по МСК.
Спасибо за ключ, извините что написал не туда. Был немного озадачен отсутствием ответного отклика на форуме и тем, что телефон на 8-800, указанный в письме, вообще не работал («номер не используется»)…
Здравствуйте, Даниил!
По данному вопросу мы разбираемся с нашим провайдером.
Возможно, произошел сбой.
Спасибо, что проинформировали :)
Добрый день!
По поводу схемы запроса и примера в практическом задании, у меня сложилось такое впечатление, что схему запроса лучше применять не очень часто, а только в каких-то специфических ситуациях, чтобы можно было не склеивать текст запроса из разных частей и оставить возможность вызова конструктора. Хотя и по поводу склеивания — на простых запросах это выглядит более читабельно, чем новый объект. Мне кажется, что применение нового объекта сильно усложняет чтение кода, особенно другими разработчиками. Когда мы пишем сами — несложно посмотреть по Shift-F9, какой объект от какого объекта нужно взять. Но поскольку там очень большая вложенность, то это довольно плохо визуально воспринимается читающим код. Такое ощущение, что либо нужна привычка постоянной работы с этим объектом, либо лучше придерживаться старого метода. Но это лично для себя, просто мысли.
…
(текст комментария доступен только участникам Мастер-группы)
Согласна, при небольших изменениях текста запроса такой метод достаточно понятен. Надеюсь, в новых версиях типовых конфигураций запросы не будут создаваться таким способом с нуля и этим не будут злоупотреблять:) А для изменения текста запроса в некоторых местах может быть довольно удобно.
Добрый день,
не могу понять какое значение параметра &Тип вставлять в консоль запросов при передаче типа через параметр.
Запрос:
Возможна также передача значения типа Тип как параметра запроса:
ВЫБРАТЬ ТИПЗНАЧЕНИЯ(ТоварныеЗапасы.Регистратор) ИЗ РегистрНакопления.ТоварныеЗапасы КАК ТоварныеЗапасы ГДЕ ТИПЗНАЧЕНИЯ(ТоварныеЗапасы.Регистратор) = &Тип
при автозаполнении заполняет следующим образом:
Имя параметра — тип,
Тип — Тип
Значение — не определено
спасибо
…
(текст комментария доступен только участникам Мастер-группы)
Есть запрос который выдает ошибку превышение количество таблиц в sql 256.
При этом составных типов данных нет, таблица в из одна.
вот запрос https://www.evernote.com/shard/s14/nl/1642498/e8ac6a06-721a-4287-a48c-99c72af7fa18
Конфигурация обычная приложение.
В какой консоле можно посмотреть план запроса в sql в обычном приложении?
…
(текст комментария доступен только участникам Мастер-группы)
http://www.evernote.com/l/AA7orGoGchpCh6SMmccq9_oY1KHVOFQsm7U/
Вот текст запроса и во вложении и по ссылке.
в файловой базе запрос работает без ошибок
…
(текст комментария доступен только участникам Мастер-группы)
Можно подробнее: как использовать Консоль запроса (ИТС) в обычном приложении? Добавил в конфигурацию(в обычном режиме), но при запуске ничего не происходит.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Получилось запустить Консоль запросов для 8.2.
А вот для 8.3 выдает ошибку
{Обработка.ИнструментыРазработчикаКонсольЗапросов.Форма.Форма.Форма(33,2)}: Переменная не определена (ЭтотОбъект)
ЭтотОбъект.Заголовок = ЗаголовокФормы;
{Обработка.ИнструментыРазработчикаКонсольЗапросов.Форма.Форма.Форма(1054,90)}: Переменная не определена (ЭтотОбъект)
ТекущийЗапрос.АдресРезультатовЗапроса = ПоместитьВоВременноеХранилище(Результат, ЭтотОбъект.УникальныйИдентификатор);
P.S.В конфигурации стоит режим совместимости 8.3.1
Ошибка при открытии Консоли для 8.3
…
(текст комментария доступен только участникам Мастер-группы)
Как в запросе проверить заполнено ли значение реквизита составного типа данных?
…
(текст комментария доступен только участникам Мастер-группы)
при нажатии флага «показать план выполнения запроса» выдает ошибка создания конфигурационного файла C:\….\conf проверьте права доступа
Запускаю 1с от имени администратора
{Форма.Форма.Форма(315)}: Поле объекта не обнаружено (ПоказатьПланВыполненияЗапроса)
Элементы.ПоказатьПланВыполненияЗапроса.Доступность = Ложь;
платформа 1С:Предприятие 8.3 (8.3.5.1383)
конфигурация Профессиональная разработка запросов в 1С:Предприятие 8 (1.1)
обработку скачал с итс
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо!
На форме Элемент формы ПоказатьПланВыполненияЗапроса и событие при нажатии ПоказатьПланВыполненияЗапроса.
Все заработало!
…
(текст комментария доступен только участникам Мастер-группы)
Как работает функция «КонецДня()»? Она возвращает дату и время 23-59-59, или она приводит дату к концу последней секунды дня?
…
(текст комментария доступен только участникам Мастер-группы)
Ок. И ещё вопрос, может чуть-чуть не по теме. Подскажите, в скд есть такая штука как стандартный период. СтандартныйПериод.ДатаОкончания тоже приводит дату к концу дня, при этом он включает всю последнюю секунду, или так же приводит к дату к началу последней секунды дня?
…
(текст комментария доступен только участникам Мастер-группы)
как работает условие «Дата Между &Дата1 &Дата2»?
Точнее, обе границы включаются в условие поиска, или верхняя граница не включена? И не приводит ли система верхнюю границу к концу дня?
…
(текст комментария доступен только участникам Мастер-группы)
А время обнуляеться или будет то которое в параметрах передаеться?
…
(текст комментария доступен только участникам Мастер-группы)
Никогда раньше не задумывался, как работает индексирование, видимо пришло время :)
Рассмотрим простой пример — выборка товаров с индексированием по ссылке.
1) Я правильно понимаю, что индексирование — это банальное упорядочивание (сортировка) по выбранному полю? Или в 1с создаётся какая-то своя таблица индексов? Тогда, при упорядочивании, судя по всему, при поиске нужного элемента, будет использоваться не линейный поиск полным перебором, а какой-нибудь из логарифмических (вроде быстрее чем за логарифм искать ещё не научились), отсюда и выигрыш в производительности.
2) Если мы хотим соединить две таблицы, тогда выгоднее всего (на достаточно больших объёмах данных) получить обе таблицы, как виртуальные и проиндексировать по соединяемым полям?
3) как работает индексирование по нескольким полям? И как потом выполняется поиск по индексированному полю, которое не первое в списке. Т.е. если я индексирую по номенклатуре и контрагенту (первое поле — номенклатура), а соединяю таблицы по полю контрагент, как в этом случае будет работать поиск?
4) Если я хочу сделать левое соединение двух таблиц (например, по полю ссылка-владелец), логичнее предположить, что индексировать оптимальнее всего только вторую таблицу (не главную), т.к. именно в ней будут искаться поля, соответствующие условию. Таким образом, я не трачу время на индексирование главной таблицы, и при этом поиск у меня будет выполняться оптимально, т.к. таблица, в которой ищутся элементы проиндексирована. Я правильно понимаю, что я добьюсь максимального выигрыша производительности в данном примере (на достаточно большом объеме данных)?
…
(текст комментария доступен только участникам Мастер-группы)
1) Типов индексов в ms sql по ссылке перечислено много. Какой конкретно используется в запросах в 1с?
2) А есть где-нибудь такое место, где собраны все эти рекомендации фирмы «1с»? :)
3) Т.е. всё-таки есть ограничение по индексам, получается, что нельзя создать больше одной таблицы индексов (по одному или нескольким полям) для одной ВТ. Отсюда вытекает рекомендация, что если одну таблицу нужно соединить с двумя другими по разным полям, то нужно сначала проиндексировать исходную таблицу по одному полю и соединить со второй таблицей, то что получилось проиндексировать по другому полю и соединить с третьей таблицей и это будет работать быстрее, чем если бы таблицу одновременно соединяли с двумя другими. Так?
4) Как в простейшем случае выполняется левое соединение? Я думаю, берутся по порядку все записи из главной таблицы и ищется соответствие во второй таблице по соединяемому полю. Т.е. получается, что индексировать по сути нужно только вторую таблицу, чтобы максимально быстро выполнялся поиск. А на индексирование первой таблицы в данном случае будет тратиться лишнее время и память. Или система делает соединение как-то по хитрому?
…
(текст комментария доступен только участникам Мастер-группы)
4. Про соединение слиянием сказано, что «Соединение слиянием требует сортировки обоих наборов входных данных по столбцам слияния, которые определены предложениями равенства (ON) предиката объединения.» Т.е. получается, что нет большого смысла индексировать поле, если объединение выполняется более хитрым способом, чем проверка на равенство? Т.е. если я буду соединять таблицу саму с собой по условию, например, А.Дата < B.Дата, то мне нет смысла индексировать поле "дата"?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Люблю первый поток, тренер ещё не устал от глупых вопросов и есть ещё силы давать полные и развернутые ответы :)
…
(текст комментария доступен только участникам Мастер-группы)
Как определить принадлежность к группе «покупатели» в иерархическом справочнике, если элемент справочника находиться в подгруппе «Магазины»?
…
(текст комментария доступен только участникам Мастер-группы)
Такой запрос выдаст весь список элементов входящих в группу «Покупатели». А я имел ввиду результат из одного элемента.
Или только через временную таблицу сделать проверку на вхождение нужного элемента в этот список?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Вопрос по практическому занятию №13 модуля №2.
При использовании группировки по полям «Контрагент» и «Дата» получаем тот же результат.
В данной ситуации какое преимущество использования «Различные»?
…
(текст комментария доступен только участникам Мастер-группы)
1. Практическое задание №9 в базе всего 2 контрагента которые покупали холодельник, слово РАЗЛИЧНЫЕ в запросе ни на что не влияет, т.е. в базе мало данных.
2. Практическое задание №12. Задание на знание предопределенные данные, — хотя для решения предопределенные данные не нужны.
3. Есть консоль запросов под тонкий клиент?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день, на странице 82 говорится об ограничении sql сервера в 256 таблиц. в 12 сервере это ограничение не увеличивали ?
…
(текст комментария доступен только участникам Мастер-группы)
В какую конфигурацию загружать базу. Пишет не верный формат для загрузки? Query-Homework-Template.dt
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Понятно у меня платформа 8.2
Добрый день! Попытался загрузить шаблонную конфигурацию используя платформу 8.3.5.1383. Выдается ошибка:
Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Ошибка формата потока
Подскажите пожалуйста, в чем может быть причина и помешает ли это дальнейшей работе?
…
(текст комментария доступен только участникам Мастер-группы)
Обратил внимание на размер dt-файла, оказалось, что он меньше на несколько килобайт. Повторно скачанная конфигурация загрузилась нормально. Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, пытаюсь посмотреть план выполнения запроса.
При нажатии на соответствующий флажок возникает ошибка:
«Ошибка создания конфигурационного файла С:\…\1cv8\conf Проверьте права доступа»
Релиз платформы 8.3.5.1231. ОС — windows 8.1
В чем может быть ошибка?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо, помогло.
…
(текст комментария доступен только участникам Мастер-группы)
Доброе время суток! В практических заданиях 16-18 текст не соответствует заданию. в задании 16 — «В данном практическом задании необходимо получить запросом артикулы всех товаров…» — из общего описания; из описания в практике «Необходимо реализовать отчет Продажи по месяцам в виде кросс-таблицы без использования СКД….». Файлы от 19.12.14
Добрый день!
Скачайте задания повторно. Файлы уже исправлены.
Есть ВТ втПродуктНоменклатура. Эта ВТ, в запросе, используется несколько раз. Первый раз соединение по Продукту, второй раз по Номенклатуре.
Выбрать
Продукт Продукт,
Номенклатура Номенклатура
Поместить втПродуктНоменклатура
Из
&втПродуктНоменклатура
Мне кажется нужно создать две дополнительные вт и одну проиндексировать по Продукту, а вторую по Номенклатуре.
Будет выглядеть так:
Выбрать
Продукт Продукт,
Номенклатура Номенклатура
Поместить втПродуктНоменклатураОсновная
Из
&втПродуктНоменклатура
;
Выбрать
Продукт Продукт,
Номенклатура Номенклатура
Поместить втПродуктНоменклатура
Из
втПродуктНоменклатураОсновная
Индексировать По
Продукт
;
Выбрать
Продукт Продукт,
Номенклатура Номенклатура
Поместить втНоменклатураПродукт
Из
втПродуктНоменклатураОсновная
Индексировать По
Номенклатура
…
(текст комментария доступен только участникам Мастер-группы)
Получается что то порядок при индексации не играет роли. Верно?
…
(текст комментария доступен только участникам Мастер-группы)
Извините, но я имел ввиду немного другое.
Нет разницы между
«Индексировать ПО Номенклатура, Продукт»
И
«Индексировать ПО Продукт, Номенклатура».
В обоих случаях будет создано два индекса «Номенклатура» и «Продукт». И связи между индексацией нет.
В методичке был пример по областям, городам и адресам. Я понял так: порядок индексации играет роль. И нужно индексировать в том порядке, в котором поля будут связываться дальше.
На примере выглядит так (разница только в полях соединения):
Вариант1:
Индексировать По
Т1.Продукт, Т1.Номенклатура
;
Индексировать По
Т2.Продукт, Т2.Номенклатура
;
Т1 КАК Т1
Левое Соединение Т2 как Т2
По Номенклатура1 = Номенклатура1
И Продукт1 = Продукт1
Вариант2:
Индексировать По
Т1.Продукт, Т1.Номенклатура
;
Индексировать По
Т2.Продукт, Т2.Номенклатура
;
Т1 КАК Т1
Левое Соединение Т2 как Т2
По Продукт1 = Продукт1
И Номенклатура1 = Номенклатура1
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! В 1С есть объект ПостроительЗапросов, теперь добавился объект СхемаЗапроса. В чем разница?
…
(текст комментария доступен только участникам Мастер-группы)
Решение 15-ого практического задания не корректно условиям задания. Преподаватель умолчал о двух параметрах даты.
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Наверно стоит уточнить до:
Дата МЕЖДУ НачалоПериода(&ДатаНачала, День) И КонецПериода(&ДатаОкончания, День)
Спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
Вопрос по оптимизации запроса:
Выбрать
Продукт,
Номенклатура
Поместить втПродуктНоменклатура
Из &втПродуктНоменклатура
;
Выбрать
втПродуктНоменклатура.Продукт Продукт,
ПродажиПоДням.Количество Количество
Из
РегистрНакопления.ПродажиПоДням.Обороты(
&НачалоПериода,
&КонецПериода,
,
Номенклатура В
(ВЫБРАТЬ
втПродуктНоменклатура.Номенклатура
ИЗ
втПродуктНоменклатура КАК втПродуктНоменклатура)) КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ втПродуктНоменклатура КАК втПродуктНоменклатура
ПО Продажи.Номенклатура = втПродуктНоменклатура.Номенклатура
1. Отбор во временной таблице нужен.
2. Нужна индексация по полю Номенклатура.
верно?
Почему возник вопрос. Сотрудник говорит что данные о продажах нужно с отбором проиндексировать и вынести в временную таблицу. После чего её связывать с втПродуктНоменклатура.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Действительно быстрее по Вашему совету.
Даже на не больших реальных данных прирост скорости 0.200 секунд.
До оптимизации выполнялось 0.260 секунд. После 0.06 секунд.
Ниже откорректированный текст запроса для форума.
Выбрать
Продукт Продукт,
Номенклатура Номенклатура
Поместить втПродуктНоменклатура
Из
&втПродуктНоменклатура
;
Выбрать
ПродажиПоДням.Номенклатура Номенклатура,
ПродажиПоДням.Количество Количество
Поместить втПродажи
Из
РегистрНакопления.ПродажиПоДням.Обороты(
&НачалоПериода,
&КонецПериода,
,
Номенклатура В
(ВЫБРАТЬ
втПродуктНоменклатура.Номенклатура
ИЗ
втПродуктНоменклатура КАК втПродуктНоменклатура)) КАК Продажи
;
Выбрать
Продукт,
сумма(Количество)
Из
втПродажи КАК втПродажи
ЛЕВОЕ СОЕДИНЕНИЕ втПродуктНоменклатура КАК втПродуктНоменклатура
ПО втПродажи.Номенклатура = втПродуктНоменклатура.Номенклатура
Итог:
1. Действительно работает быстрее. Даже на маленьких данных.
2. На маленьких данных прирост индексации не сильно ощущался. На больших объемах заметно быстрее.
3. Получается все выборки из БД лучше помещать в ВТ. И потом уже соединять. Да запрос будет большой, но что бы места меньше занимал можно использовать #Область.
Спасибо!
Следующий вопрос задам отдельно но он выплыл с этого :)
Практическое задание №17.
Почему для выполнения задания берется именно общая таблица регистра ТоварыНаСкладах? Почему нельзя работать с виртуальной ТоварыНаСкладахОбороты с периодичностью = Регистратор? И еще, почему-то по описанной мною схеме невозможно через конструктор запроса разименовать регистратора до даты, он просто не дает выхватить это поле, хотя руками все прописывается. Почему так?
Практическое задание #18
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Представление = Данные.Артикул + » — «+Данные.Наименование;
КонецПроцедуры
При таком написании процедуры при открытии Справочника «Номенклатура» вылезает ошибка по ошибке преобразования к числу. Почему в запросе при формировании представления нет ошибок и почему текст процедуры в видеоуроке написан с ошибкой? Ведь надо же преобразовать артикул к строке.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Вопросов больше нет.
Страница 59:
Чтобы найти контрагентов, у которых поле ДополнительнаяИнформация содержит символ подчеркивания («_»), необходимо составить следующий запрос: ВЫБРАТЬ Контрагенты.Наименование, Контрагенты.Город ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ДополнительнаяИнформация ПОДОБНО «%\_%» СПЕЦСИМВОЛ «\»
Поясните, пожалуйста, смысл использования конструкции СПЕЦСИМВОЛ. Если нам необходимо установить условие по наличию «_» в реквизите, то почему мы пишем ПОДОБНО «%\_%», а не просто ПОДОБНО «%_%»? Как здесь используется СПЕЦСИМВОЛ?
Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Вопрос по очередности условий в секции ГДЕ.
Если одно из простых условий дает значение ЛОЖЬ, проверяются ли оставшиеся условия, т.е. важен ли порядок условий? Если порядок условий имеет значение, почему в конструкторе не предусмотрена возможность перестановки простых условий, которые соединяются логическим И, чтобы условия с наиболее вероятным значением ЛОЖЬ проверялись первыми.
Спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!Вопрос по заданию 13. Можно ли в запросе получить Дату без времени? В решении по заданию мы получаем дату с нулевым временем 12.12.2014 00.00.00 , а как получить просто 12.12.2014 ?
…
(текст комментария доступен только участникам Мастер-группы)
Я правильно поняла, что как результат запроса получить дату без времени никак нельзя? Нельзя выразить дату как строку и применить функцию ПОДСТРОКА(). Отбросить время можно только при обработке выборки из результата запроса или в СКД.
…
(текст комментария доступен только участникам Мастер-группы)
1. На странице 91 (и 102 и 125) некорректная ссылка на мастер группу. Поидее должно сюда перебросить, а оно на курс по БУ.
2. Прочитав модуль 2 не увидел еще одной особенности «ВЫРАЗИТЬ(11.111111 КАК Число(15, 2))».
В данном случае будет получена исключительная ситуация (на ms sql так точно :) ).
3. И было бы неплохо иметь закладки в PDF’ах. Как минимум на модули.
Идем изучение дальше. Видео еще не смотрел так как еще не пришел доступ на плеер.
А в общем все на высшем уровне. Спасибо.
Добрый день!
1. Ссылки поправили, перекачайте файл.
2. На этот вопрос ответит тренер.
3. Быстрый переход по оглавлению не спасает?
Ключ для просмотра видео Вам уже выдан, приступайте :)
Попрошу Вас разделять вопросы организационные, технические и вопросы по курсу на разные комментарии.
Поскольку на них отвечают разные специалисты :)
3. Спасает =). Но было бы удобней видеть закладки а не переходить вверх и там уже искать. Это больше как пожелание а не проблема.
Проблем с чтением нет. Как всегда на высшем уровне.
«Ключ для просмотра видео Вам уже выдан, приступайте :)»
Большое спасибо. Приступил :)
«Попрошу Вас разделять вопросы организационные, технические и вопросы по курсу на разные комментарии.»
Хорошо. Не хотел заспамивать комментами. Но если так будет лучше тогда хорошо ;)
Ок, пожелание записал.
Успешного обучения! :)
…
(текст комментария доступен только участникам Мастер-группы)
Точно. Имел ввиду второй вариант. Это он не описан в методичке.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте.
Подскажите, а кроме как выборки табличной части, можно как нибудь еще получить в выборку поле типа «Результат запроса»?
P.S. Описанный в видео «Использование вложенных таблиц в запросе».
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
На стр.37 пособия о разделе «Синтаксис языка запросов» сказано так: «Обратите внимание, что данный раздел присутствует только в справке, в Синтакс-помощнике такого раздела нет.» Да уж обратила, потому что сначала взялась искать именно в Синтакс-помощнике. А не можете ли пояснить, чем обусловлена такая разница. Это ведь касается не только этого раздела. Будьте добры.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте. В каком случае план выполнения запроса отображается в виде таблицы? Как у Вас в последнем видеоуроке данного модуля.
…
(текст комментария доступен только участникам Мастер-группы)
На странице 64 Хотя речь идёт о практическом задании № 9 в пояснении сказано «В третьем практическом задании из документов «Реализация товаров» необходимо выбрать всех клиентов, приобретавших заданный пользователем товар.»
Тут опечатка? Нужно читать «В девятом практическом задании из документов «Реализация товаров» необходимо выбрать всех клиентов, приобретавших заданный пользователем товар.» или я не верно понял?
…
(текст комментария доступен только участникам Мастер-группы)
Я так понимаю, что методы «ОбработкаПолученияПолейПредставления» и «ОбработкаПолученияПредставления» не вызываются при формировании оборотно-сальдовой ведомости? Интересовало, в частности, представление партий на счетах товаров (хотел добавить НомерВходящегоДокумента).
…
(текст комментария доступен только участникам Мастер-группы)
Задание N18. Обнаружился глюк платформы (8.3.5.1231), делал свое представление для справочника Номенклатура, поля: ЭтоГруппа, Артикул, Наименование. Для виртуального поля Представление ЭтоГруппа инвертируется (для элементов Истина, для группы Ложь). Если в запросе указать только поле Ссылка, то обработчик получения представления отрабатывает штатно, но это не оптимально.
…
(текст комментария доступен только участникам Мастер-группы)
СтандартнаяОбработка = Ложь;
Поля.Добавить("ЭтоГруппа");
Поля.Добавить("Артикул");
Поля.Добавить("Наименование");
Поля.Добавить("Ссылка");
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Если Данные.Свойство("Артикул") И Данные.Свойство("Наименование")
И Данные.Свойство("ЭтоГруппа") И НЕ Данные.ЭтоГруппа Тогда
СтандартнаяОбработка = Ложь;
Если НЕ ПустаяСтрока(Данные.Артикул) Тогда
Представление = ""+Данные.Артикул+":";
КонецЕсли;
Представление = Представление+Данные.Наименование;
КонецЕсли;
КонецПроцедуры
…
(текст комментария доступен только участникам Мастер-группы)
Глюк платформы с полем ЭтоГруппа все таки есть.
На платформе 8.3.5.1383
Переопределил представление номенклатуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить(«Артикул»);
Поля.Добавить(«Наименование»);
Поля.Добавить(«ЭтоГруппа»);
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Данные.ЭтоГруппа Тогда
Представление = Данные.Наименование;
Иначе
Представление = Данные.Наименование + » Артикул: » + Данные.Артикул;
КонецЕсли;
КонецПроцедуры
При выводе в запросе ссылки тогда представление корректно отрабатывается. А если выбрать в запросе виртуальное поле «Представление» тогда выводится только наименование — по причине что Это группа всегда равна Истине (даже у элементов справочника).
Но при выводе ссылки или с помощью функции Представление или ПредставлениеСсылки все отрабатывается корректно.
…
(текст комментария доступен только участникам Мастер-группы)
…
(текст комментария доступен только участникам Мастер-группы)
…
(текст комментария доступен только участникам Мастер-группы)
…
(текст комментария доступен только участникам Мастер-группы)
Я подгрузил вашу информационную базу (вроде ничего не менял).
Режим совместимости — Не использовать
Режим совместимости интерфейса — 8.2
…
(текст комментария доступен только участникам Мастер-группы)
Если в запросе выбрать не ссылку, а Представление.
Представление
ИЗ Справочник.Товары
Добрый вечер!
Объясните, пожалуйста, алгоритм вычисления разности дат в запросе.
Например в запросе:
ВЫБРАТЬ РАЗНОСТЬДАТ(&Дата1, &Дата2, МЕСЯЦ) КАК Поле1
При значении параметров
Дата1 = 01.01.2014 00:00:00 Дата2 = 31.01.2014 23:59:59
Результат 0 Мес
При значении параметров
Дата1 = 31.01.2014 23:59:59 Дата2 = 01.02.2014 00:00:00
Результат 1 Мес
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте.
Вопрос по 50 стр.
Автоупорядочивание работает по следующим принципам:
1. Если в запросе было указано предложение УПОРЯДОЧИТЬ ПО, то каждая ссылка на таблицу, находящаяся в этом предложении, будет заменена полями, по которым по умолчанию сортируется таблица (для справочников это код или наименование).
У меня почему-то это не сработало, у меня сначала отсортировались группы, а затем элементы справочника. Или далее..
Если поле для упорядочивания ссылается на иерархический справочник, то будет применена иерархическая сортировка по этому справочнику.
Это и означает что сначала отсортируются группы а затем элементы.
P.S. Формировал запрос к справочнику номенклатуры вашей базы.
Примечательно что: согласно п.1 и п.4 на стр. 50
Запросы:
1) ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
АВТОУПОРЯДОЧИВАНИЕ
И
2) ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
УПОРЯДОЧИТЬ ПО
Ссылка
АВТОУПОРЯДОЧИВАНИЕ
Должны выдавать одинаковые результаты. Но результаты увы, не одинаковые. В первом случае у меня элементы отсортировались иерархически (т.е. группа далее элементы в ней) во втором у меня вывелись отсортированные группы а затем отсортированные элементы справочника.
Примечание: Платформа 8.3.5.1248
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте.
Интересный конечно запрос получился.
P.S. Если вдруг вы действительно будите писать разработчикам, напишите пожалуйста что на платформе 8.3 платформа не всегда видит внесение изменений в СКД и при перезапуске отладки не сохраняет изменения которые я внес. или напишите плиз куда писать. За ранее благодарен.
…
(текст комментария доступен только участникам Мастер-группы)
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Страница 50, методического материала:
«4. Если в запросе отсутствуют предложения УПОРЯДОЧИТЬ ПО, ИТОГИ и СГРУППИРОВАТЬ ПО, результат будет упорядочен по полям сортировки по умолчанию для таблиц, из которых выбираются данные, в порядке их появления в запросе.»
> результат будет упорядочен по полям сортировки по умолчанию для таблиц, из которых выбираются данные, в порядке их появления в запросе.»
Поясните, пожалуйста, какие это поля сортировки по умолчанию для таблиц и что значит в «порядке их появления в запросе»?
…
(текст комментария доступен только участникам Мастер-группы)
> Имеются в виду поля, по которым по умолчанию сортируется таблица (для справочников это код или наименование в зависимости от настроек в конфигураторе, а для документов – дата).
Т.е. это по своей сути равно АВТОУПОРЯДОЧИВАНИЮ?
…
(текст комментария доступен только участникам Мастер-группы)
Я вас понял. Спасибо!
Добрый день!
В практическом занятии №5 при использовании таблицы оборотов время выполнения запроса 0,133. При непосредственном обращении к регистру — 0,001. Какой смысл использования виртуальной таблицы оборотов в такой задаче?
…
(текст комментария доступен только участникам Мастер-группы)
Подскажите, пожалуйста, в последнем 18-м задании 2-го модуля у групп Представление=Null, и, судя по отладчику, в ОбработкаПолученияПредставления() для групп мы не попадаем? Как -то можно для групп оставить Представление как раньше, без артикула?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день, в задании 17 сделал отбор с помощью «ВЫРАЗИТЬ»:
ВЫБРАТЬ
ВЫРАЗИТЬ(ТоварыНаСкладах.Регистратор КАК Документ.ПоступлениеТоваров).Дата КАК Дата
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
В результат выдает строки не только с датами, но множество пустых строк. Не понимаю откуда они берутся?
…
(текст комментария доступен только участникам Мастер-группы)
Ну да, пустые строки это все остальные документы. Получается необходимо ещё и условие:
ГДЕ ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваров
для корректного отображения. Спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
А как более оптимально, условие в секции «где», или в полях выбора писать
Выбор Когда ТоварыНаСкладах.Регистратор Ссылка Документ.ПоступлениеТоваров Тогда
Выразить(ТоварыНаСкладах.Регистратор КАК Документ.ПоступлениеТоваров)
Конец
?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день. Платформа 8.3.5. Консоль запросов скачана с сайта ИТС. При включении флага «Показывать план выполнения запроса» выдает ошибку «Поле объекта не обнаружено (ПоказатьПланВыполненияЗапроса)? Подскажите пожалуйста, что может быть?
Вообще с сайта скачивается архив с двумя обработками. Так вот, та что «ИнструментыРазработчикаКонсольЗапросов83.epf» работает.
…
(текст комментария доступен только участникам Мастер-группы)
А подскажите, есть разница (кроме этой), какую обработку использовать?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Корректно ли будет в задании 17 модуля 2 использовать вместо физической таблицы ТоварыНаСкладах — виртуальную с оборотами?
…
(текст комментария доступен только участникам Мастер-группы)
Но если ресурс нулевой, смысла в данном движении и нет?
…
(текст комментария доступен только участникам Мастер-группы)
В бухгалтерии проверил подобный метод, что то не сработало.
ВЫБРАТЬ
КонтрагентыКонтактнаяИнформация.Ссылка
ИЗ
Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
ГДЕ
НЕ КонтрагентыКонтактнаяИнформация.НомерТелефона ПОДОБНО «+7(___)___-__-__»
И КонтрагентыКонтактнаяИнформация.Вид = &ВидКонтактнойИнформации
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
В 8 задании по-моему решение не всегда будет корректно отрабатывать: например, если менеджер ошибся при вводе телефона и вместо цифры написал букву, но номер соответствует стандарту, то запрос, предложенный в решении, посчитает данный номер корректным и не выведет в результат запроса. На скриншоте выложил свой вариант решения.
…
(текст комментария доступен только участникам Мастер-группы)
Вместо [0123456789] лучше писать [0-9]
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Вызвала конструктор запросов из конфигуратора, нажиамаю (по мотивам урока Query-2-Syntax-3) кнопку Запрос. Виден текст запроса в отдельном окне и все, нет возможности (соотв. кнопок) для его выполнения. Доступна только одна кнопка для редактирования текста.Версия платформы 8.3.5.1248
…
(текст комментария доступен только участникам Мастер-группы)
Например, в задании №16 текст — от задания №26 (см. скриншоты). А в видеорешении — совсем другой текст.
Извините, создал новое сообщение, а не ответил на старое. А исправить нельзя :(
Добрый день!
Да, спасибо, в течение часа исправим и выложим обновленные архивы на сайт.
Здравствуйте! Первое впечатление от курса отличное.Здорово подобран и организован изучаемый материал,темы в видеоуроках хорошо объясняются с нормальным темпом изложения.Теперь по существу. При выполнении запроса, например, из обработки, вызываются события объекта СправочникМенеджер.Товары:
«ОбработкаПолученияПолейПредставления» и «ОбработкаПолученияПредставления», например при запросе к
справочнику «Товары» демо базы упр приложения. Получается, что при выполнении кода: Запрос.Выполнить() происходит обращение к типу «СправочникМенеджер.Товары» и при этом полученное представление ссылки элемента справочника «Товары» кэшируется для сеанса, ибо повторный запрос не приводит к вызову этих событий. Как-то раньше не задумывался над таким поведением объекта «Запрос». Интересно, а еще что-то не очевидное при выполнении метода «Выполнить» объекта «Запрос» происходит? И второй вопрос — выгрузки Query-Homework-Template.dt к практическим заданиям одинаковые? Не надо каждый раз создавать новую базу для каждого модуля?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
На сайте http://its.1c.ru/ в разделе
Технологическая поддержка прикладных решений —
Методическая поддержка 1С:Предприятия 8 — в левом окне нет ссылки на раздел для разработчиков (там только Прикладные решения для хоз. организаций и Универсальные приклодные решения).
Обработка конечно есть в материалах курса, просто интересно, как в данный раздел попасть можно)
…
(текст комментария доступен только участникам Мастер-группы)
Консоль скачать не дает «Доступ к данному материалу ограничен».
Для прохождения курса тоже нужен платный доступ на ИТС ?
( как «радует», что работая в купленной стандартной конфигурации, 1С постоянно посылает в справочные материалы на закрытой части сайта ИТС )
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! Тест драйв получен, активирован, осуществлен вход. Скачивание обработки по-прежнему невозможно. Найти в Интернете обработку именно с флагом «Показать план запроса» не удалось
Проблема решена
Каким образом?
Здравствуйте!
В pdf файлах с практическими заданиями 16, 17, 18 текст заданий неправильный (взят из других заданий).
Добрый день!
Только что проверил — тексты заданий в архиве правильные.
Уточните, почему Вы считаете, что текст заданий не корректный?
Здравствуйте! (В самом прямом смысле этого слова, мне очень нравятся Ваши курсы)
Еще вчера на этой самой странице было сказано, что некоторые практические задания 2 модуля необходимо выполнять полностью самостоятельно и выкладывать здесь их решения. Я их выполнил, но страница полностью изменилась и теперь те задания тоже разобраны в методичке. о_О
Добрый день!
Да, мы немного поменяли концепцию прохождения курса — решили отказаться от обязательных домашних заданий.
Это связано с тем, что в курсе уже очень большое количество участников — многие участвуют впервые.
И мы столкнулись с тем, что люди не понимают, что такое обязательные задания и зачем вообще по ним нужно отчитываться.
Поэтому мы все максимально упростили — все задания и решения доступны сразу, отчетов не требуется, график обучения свободный :)