Разработка и оптимизация запросов в 1С:Предприятие 8.3. Модуль 2. Синтаксис текста запроса

На данной странице задавайте вопросы по материалам и практическим заданиям второго модуля курса «Разработка и оптимизация запросов в 1С:Предприятие 8.3».

Практические задания

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Комментарии / обсуждение (1 016):

  1. Алекс Панскихъ

    Добрый день! Вот можно получить тип значения конкретной ссылки через функцию ТИПЗНАЧЕНИЯ(), но, по аналогии, нельзя ли как-то получить класс конкретной ссылки, например понять, что перед нами – документ или справочник?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  2. Алекс Панскихъ

    Добрый день! Обязательно ли при приведении значений составного типа к определенному типу использовать функцию ВЫРАЗИТЬ() для каждого вытаскиваемого поля? Разве не достаточно однажды указать отбор по типу в секции ГДЕ? Разве употребление в примере скриншота не задваивает отбор? Зачем нам использовать здесь ВЫРАЗИТЬ(), если мы и так уже обозначили интересующую нас таблицу при помощи операции ССЫЛКА?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

    • Алекс Панскихъ

      Ой, я через план выполнения запроса выяснил, что отбора при помощи конструкции ССЫЛКА в секции ГДЕ недостаточно, и надо прокручивать все вытаскиваемые поля через ВЫРАЗИТЬ(), вопрос снимаю!

      p.s. А Вы уже ответили, сейчас почитаю! Спасибо!

      • Василий Ханевич


        (текст комментария доступен только участникам Мастер-группы)

  3. Алекс Панскихъ

    Добрый день!
    Допустимо ли решить Задание №3 “Определение количества записей в таблице базы данных” следующим образом (не так, как у преподавателя) и существуют ли проблемы с моим способом, при том, что результат получается тот-же?
    ———
    ВЫБРАТЬ
    СУММА(1) КАК КоличествоЗаписей
    ИЗ
    РегистрНакопления.Продажи КАК Продажи
    ———

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  4. Андрей Яковлев

    Во время выполнения практического задания 10 столкнулся с такой ошибкой “Нельзя сравнивать поля неограниченной длины и поля несовместимых типов”

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Андрей Яковлев

        База демо управляемое приложение с сайта 1с
        запрос
        ВЫБРАТЬ
        Контрагенты.Наименование КАК Наименование,
        Контрагенты.Город
        ИЗ
        Справочник.Контрагенты КАК Контрагенты
        ГДЕ
        Контрагенты.Город = &Город

        при использовании “подобно” вместо “=” запрос работает корректно. всегда ли используя “подобно” запрос будет корректно отрабатываться или просто я попал на частные случаи?

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  5. tsefey

    Добрый день! При просмотре видео 14 при построении запроса с параметром Родитель при выборе значения параметра “Покупатели” не дает выбрать папку, только элементы. У преподавателя дает.
    ВЫБРАТЬ
    Контрагенты.Код КАК Код,
    Контрагенты.Наименование КАК Наименование
    ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ГДЕ
    Контрагенты.Родитель = &Родитель

    Как с этим справиться? Спасибо!

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  6. Павел Черкасский

    Доброго времени суток!

    В разделе о функции ПРЕДСТАВЛЕНИЕ() указано:
    При использовании функции ПРЕДСТАВЛЕНИЕ() значение представления может получаться одним или несколькими дополнительными запросами к базе данных.
    В основном запросе из базы данных будут извлекаться только ссылки. Это позволяет оптимальнее получать представление для реквизитов, в состав которых входят ссылки на большое количество таблиц (например, тип СправочникСсылка или ЛюбаяСсылка).

    Правильно понимаю, что речь идет о том, что при составном типе реквизита, где, например, могут быть ссылки на документы и справочники одновременно, оптимизация достигается за счет следующего:
    В основном запросе к значению ссылки определяется тип (справочник или документ), далее на основе результатов первого запроса система делает запрос к полям уже полученного типа (справочника или документа), определенным в КЗ как Основное представление?

    Второй вопрос:

    Лучшая производительность достигается за счет того, что в запрос не будут помещаться неявные соединения для получения представления реквизита.

    Неявные соединения – это когда не определен тип таблицы? И запрос осуществляется сразу ко всем возможным?

    Третий вопрос:

    Возможно ли всегда использовать функцию ПРЕДСТАВЛЕНИЕ() вместо поля Представление, если говорить о ссылочных типах?

    Спасибо.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  7. Алексей

    База файлова, MSSQL и PSQL – один и тот же запрос может иметь разный план?
    и нужно на конкретной структуре хранения базы его отлаживать?

    Когда рекомендуете анализировать план запроса – по запросу пользователя,
    что долго делается? или каждый раз при разработке запроса?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  8. Алексей

    Как анализировать план запроса, который выдает консоль запросов?
    На что обращать внимание и как понять какой план оптимальнее?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  9. Dadimich

    Добрый вечер!
    При освоении курса столкнулся с тем, что используя Linux у меня нет возможности
    смотреть план запросов в последних практических заданиях.
    Что порекомендуете для вывода плана запросов в Linux?
    За ранее спасибо за любой ответ.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  10. Энвер

    Вопрос по практическому заданию №12.
    Почему в запросах обращение к объектам осуществляется в единственном числе?
    Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(ПеречислениЕ.ВидыНоменклатуры.Услуга)
    Если бы мы писали код в модуле объекта, то было бы ПеречислениЯ.ВидыНоменклатуры.Услуга, СправочникИ.Номенклатура
    а в запросах: Справочник.Номенклатура, ПеречислениЕ.ВидыНоменклатуры.Услуга.
    Это просто нужно запомнить или есть какое-то правило?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  11. Энвер

    Вопрос по практическому заданию № 8
    Вариант 1: НЕ Контрагенты.Телефон ПОДОБНО “+7(___)___-__-__”
    Вариант 2: Контрагенты.Телефон НЕ ПОДОБНО “+7(___)___-__-__”
    Имеет ли значение указывать НЕ в начале условия, а не в середине непосредственно перед ПОДОБНО?
    Просто НЕ ПОДОБНО лучше воспринимается и оба варианта возвращают одинаковый результат.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  12. Enver2020

    Вопрос по практическому заданию № 2

    Задача решается двумя способами:
    1) СГРУППИРОВАТЬ ПО ПоступлениеТоваровТовары.Номенклатура, МАКСИМУМ(ПоступлениеТоваровТовары.Цена) КАК Цена

    2) ВЫБРАТЬ ПЕРВЫЕ 1, УПОРЯДОЧИТЬ ПО Цена УБЫВ
    При самостоятельном решении, я почему-то выбрал второй вариант.

    Есть ли принципиальная разница в способах решения?
    Какой способ и в каких случаях предпочтительнее?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  13. Илья Хрулев

    Здравствуйте.
    Скажите, пожалуйста, почему у меня на вкладке “Условия” в конструкторе запросов есть только одна колонка – “условие” и нет колонок “номер” и “произвольное”? Хотя консоль я скачал с сайта ИТС. Скажите как это исправить?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  14. ibolshakov

    Если в качестве самого себя необходимо записать один из перечисленных символов, то
    ему должен предшествовать спецсимвол. Сам спецсимвол (любой подходящий символ)
    определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

    “один из перечисленных” к чему имеет отношение ? Я так понял любые символы, не являющиеся буквами и знаками препинания .

    • ibolshakov

      еще лучше пример найти товары где есть 20%

      Номенклатура.Наименование ПОДОБНО “%20#%%” СПЕЦСИМВОЛ “#”

      • Василий Ханевич


        (текст комментария доступен только участникам Мастер-группы)

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • ibolshakov

        если уж прям реально проверять что могут внести пользователи, то надо вместо _ писать каждый раз [0-9] так как там могут быть кроме циифр какие угодно символы
        Во всяком случае запрос Контрагенты.Телефон ПОДОБНО “+7(___)___-__-__”
        пропустит номер +7(99+)11–45-з7

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  15. ibolshakov

    Здравствуйте.
    Для чего нужно автоупорядочивание ссылок если быстрее упорядочить по вручную заданному реквизиту ?

    вариант 1

    ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка
    ИЗ
    Справочник.Номенклатура КАК Номенклатура

    УПОРЯДОЧИТЬ ПО
    Ссылка
    АВТОУПОРЯДОЧИВАНИЕ

    Длительность формирования результата – 2 341 мс

    вариант 2
    ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Наименование КАК Наименование
    ИЗ
    Справочник.Номенклатура КАК Номенклатура

    УПОРЯДОЧИТЬ ПО
    Наименование

    Длительность формирования результата – 936 мс

    еще больше непонятно с представлением
    попробовал 3 варианта по очереди – представление, ссылка и функция “представление”
    1000 записей в таблице.

    ВЫБРАТЬ
    // Номенклатура.Представление
    // Номенклатура.Ссылка
    ПРЕДСТАВЛЕНИЕ(Номенклатура.Ссылка) КАК Ссылка1
    ИЗ
    Справочник.Номенклатура КАК Номенклатура

    ссылка работает 470 мислисек, представление 764 а функция аж 1400

    Вопрос: зачем заморачиваться с представлением если он работает дольше ? а тем более со странной функцией которая еще дольше. Только из за составных типов ?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  16. ibolshakov

    Здравствуйте.
    В чем разница между

    ВЫБРАТЬ
    Товары.Ссылка КАК Ссылка
    ИЗ
    Справочник.Товары КАК Товары
    УПОРЯДОЧИТЬ ПО
    Ссылка
    АВТОУПОРЯДОЧИВАНИЕ

    и

    ВЫБРАТЬ
    Товары.Ссылка КАК Ссылка
    ИЗ
    Справочник.Товары КАК Товары
    УПОРЯДОЧИТЬ ПО
    Ссылка.Наименование

    Второй способ вроде бы проще и явно обозначает по чему надо упорядочить ?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  17. ibolshakov

    Прохожу курс по запросам. Накладочка. Сначала в вилео автор пишет что нужно скачать с ИТ консоль запросов (управляемую)

    делаю все по инструкции, но потом я в видео вижу что используется некая другая консоль, более удобная.

    и во многих местах я вижу что у автора другая консоль. Это не принципиально, но вносит некий диссонанс в обучение, может скажете где взять такую. консоль как у автора ? И почему бы ее изначально не включить в конфу…
    + в моей консоли нет кнопки “заполнить параметры” – они заполняются только после 1 го запуска.
    в конце концов моя неправильна консоль перестала работать на практическом задании 3 – как только пытаюсь вывести запрос к любому регистру накоплений, мне выдается сообщение: неизвестный идентификатор формы

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  18. stepiva09@mail.ru

    Добрый день! Вопрос по примеру №3 стр.80 теоретического материала. Повторила этот пример. В первом случае, где указан конкретный тип ссылки на документ запрос работает. Во втором случае, где устанавливается параметр, этот параметр заполняется значением Не определено и нет возможности для выбора значения параметра. Скрин прилагаю

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  19. Алексей

    Здравствуйте!
    СхемаЗапроса используется в типовых конфигурациях?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  20. Doremi_2020

    Задание 34. В обычном приложении ЗначениеВРеквизитФормы не нахожу, и ЗначениеВДанныеФормы(ДеревоЗначений,”Таблица”); выдаёт ошибку
    Ошибки при вызове метода контекста (ЗначениеВДанныеФормы)

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Doremi_2020

        а как в обычных формах загрузить данные в табличную часть формы?

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

          • Doremi_2020

            1. Правильно понимаю, что источник – строки выборки?
            2. А как же загрузить дерево значений?

            • Василий Ханевич


              (текст комментария доступен только участникам Мастер-группы)

              • Doremi_2020

                Никак не получается вывести результаты.
                При попытки выгрузить в форму: {Обработка.Задание34.Форма.Форма.Форма(42,2)}: Переменная не определена (ЭлементыФормы)

                При попытки вывести сообщением:
                {Обработка.Задание34.Форма.Форма.Форма(45,27)}: Переменная не определена (РезультатЗапроса)
                ВыборкаДетальныеЗаписи = <>РезультатЗапроса.Выбрать(); (Проверка: Толстый клиент (обычное приложение))

                Проблема не может быть в том, что в обычном приложении создала обработку с управляемой формой?

                • Василий Ханевич


                  (текст комментария доступен только участникам Мастер-группы)

  21. Doremi_2020

    Добрый день!
    Задание 34.
    1. Почему на форме создаём дерево значений, а не таблицу значений? Если не нужна иерархическая структура, могу использовать таблицу значений?
    2. Правильно понимаю, что если бы не надо было распечатывать информацию по тем контрагентам, по которым нет продаж и долга, то справочник Контрагенты подключать не надо было?
    3. В обычном приложении ЗначениеВРеквизитФормы не нахожу, и ЗначениеВДанныеФормы(ДеревоЗначений,”Таблица”); выдаёт ошибку
    Ошибки при вызове метода контекста (ЗначениеВДанныеФормы)

    Задание 35. Напомните, пожалуйста, где-то говорилось о COM-соединении или нет? Не понимаю, как выполнить задание, не заглядывая в решение.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  22. Doremi_2020

    Подскажите, пожалуйста, в обычном приложении не открывается консоль запросов, скачанная с ИТС. Для обычного и управляемого приложения должны быть разные консоли?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Doremi_2020

        Флаг “Использовать управляемые формы в обычном приложении” в свойствах Конфигурации установлен.
        Сообщение об ошибке в скрине.

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

          • Doremi_2020

            извините, а как это делается?
            У меня 1С:Предприятие 8.3 (8.3.9.2170)
            “Управление торговым предприятием для Украины”, редакция 1.2.
            Разработка конфигурации: “ABBYY Ukraine”, 2007-2017 (1.2.42.2)

            • Василий Ханевич


              (текст комментария доступен только участникам Мастер-группы)

              • Doremi_2020

                Добрый вечер! В обработках консоль отчётов есть, но что мне это даёт?
                Предлагаемые изменения внесла (работала в копии), консоль запросов вообще не открылась без каких-либо сообщений.
                По предложенной ссылке скачала консоль запросов, не запускается, выдаваемые ошибки в скриншоте.
                Что можно ещё предпринять? Слишком удобный инструмент – консоль запросов, не хотелось бы терять возможность его использовать.

                • Василий Ханевич


                  (текст комментария доступен только участникам Мастер-группы)

                  • Doremi_2020

                    Василий, добрый день, ура! по этой ссылке консоль запросов открылась. Она, конечно, намного проще, чем та, которая используется в курсе, но уже кое что.
                    По поводу ссылки http://devtool1c.ucoz.ru/index/konsol_zaprosov/0-18, ничего там не поняла.
                    И поясните, пожалуйста, как в консоли отчётов (прикрепила) можно создать запрос. Ничего подобного не нашла. В моём понимании, это 2 абсолютно разных обработки.

  23. dimon1210

    Добрый день.
    Правильно лия я понял, что если в конфигурации не используется RLS, то использование в запросах галочки “РАЗРЕШЕННЫЕ” не имеет смысла?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  24. pasha71042

    Здравствуйте!
    Встретился вот такой запрос в типовой конфигурации УНФ

    ВЫБРАТЬ
        ВременнаяТаблицаЦеновыеГруппы.НомерСтроки КАК НомерСтроки,
        ВременнаяТаблицаЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа
    ПОМЕСТИТЬ ВременнаяТаблицаЦеновыеГруппы
    ИЗ
        &ТаблицаЦеновыхГрупп КАК ВременнаяТаблицаЦеновыеГруппы
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        МАКСИМУМ(ВременнаяТаблицаЦеновыеГруппы.НомерСтроки) КАК НомерСтрокиМаксимум,
        МИНИМУМ(ВременнаяТаблицаЦеновыеГруппы.НомерСтроки) КАК НомерСтрокиМинимум,
        ВременнаяТаблицаЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа
    ИЗ
        ВременнаяТаблицаЦеновыеГруппы КАК ВременнаяТаблицаЦеновыеГруппы
    ГДЕ
        ВременнаяТаблицаЦеновыеГруппы.ЦеноваяГруппа <> ЗНАЧЕНИЕ(Справочник.ЦеновыеГруппы.ПустаяСсылка)

    СГРУППИРОВАТЬ ПО
        ВременнаяТаблицаЦеновыеГруппы.ЦеноваяГруппа

    ИМЕЮЩИЕ
        КОЛИЧЕСТВО(*) > 1

    УПОРЯДОЧИТЬ ПО
        НомерСтрокиМинимум

    Условие КОЛИЧЕСТВО(*) > 1 применяется к результату группировки. То есть проверяется количество всех записей по этой группировке и если оно >1 то выводятся все записи в результат или как-то по другому работает?Не очень понятно.
    Спасибо

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  25. Doremi_2020

    Добрый день! Написала 2 запроса, различие между ними: в одном есть АВТОУПОРЯДОЧИВАНИЕ, в другом нет.
    Вижу, что очерёдность вывода информации поменялась, но закономерности не увидела.
    Поясните, пожалуйста, какая логика очерёдности вывода в том и другом случае.

    &НаСервереБезКонтекста
    Процедура СформироватьСАвтоупорядНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РеализацияТоваровТовары.Ссылка.Контрагент КАК Контрагент,
    | РеализацияТоваровТовары.Номенклатура КАК Номенклатура,
    | РеализацияТоваровТовары.Сумма КАК Сумма
    |ИЗ
    | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
    |
    |УПОРЯДОЧИТЬ ПО
    | Номенклатура,
    | Контрагент
    |АВТОУПОРЯДОЧИВАНИЕ";

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Сообщить("ТМЦ "+ВыборкаДетальныеЗаписи.Номенклатура+"; покупатель "+ВыборкаДетальныеЗаписи.Контрагент+"; Сумма "+ВыборкаДетальныеЗаписи.Сумма);

    КонецЦикла;
    КонецПроцедуры

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Doremi_2020

        А если представление справочника Номенклатура прописано процедурами ОбработкаПолученияПолейПредставления и ОбработкаПолученияПредставления, и представление состоит из артикула + наименование, то сортировка фактически будет по артикулу?

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  26. Doremi_2020

    Вопрос к заданию 18. Повторила действия преподавателя, описав процедуры ОбработкаПолученияПолейПредставления и ОбработкаПолученияПредставления. Обработка сработала, но при попытке после этого открыть справочник номенклатура программа выдала ошибку: «Преобразование значения к типу Число не может быть выполнено». О каком преобразовании речь, мы же в этих функциях с числами ничего не делали, артикул и наименование – строки?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Doremi_2020

        Т.е. программа всегда пытается значение типа NULL преобразовать к типу Число?

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

          • Doremi_2020

            Спасибо, при добавлении в начале представления “” ошибка ушла, справочник начал открываться.

            • Василий Ханевич


              (текст комментария доступен только участникам Мастер-группы)

  27. Doremi_2020

    Вопрос к заданию 17. 6. Почему для выборки даты взята дата регистратора, а не Период самого регистра? Разве это не одно и тоже?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  28. Doremi_2020

    Синтаксис-помощник по поиску Тип() выдал 14261 вариант, справка 16069. Как пользоваться этими инструментами? В справке больше описано или в справке и синтаксис-помощнике описаны разные варианты использования функций?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  29. Doremi_2020

    Добрый вечер!
    Правильно ли поняла, что функции ТИП() и ТИПЗНАЧЕНИЯ() для примитивных типов данных сработают одинаково, а ТИПЗНАЧЕНИЯ() имеет более широкое применение? И результат обоих функций одинаковый?
    В примере используется выражение:
    ГДЕ
    ТИПЗНАЧЕНИЯ(ТоварныеЗапасы.Регистратор) = ТИП(Документ.РасходТовара)

    ТоварныеЗапасы.Регистратор – это же ссылка на документ, а поняла так, что ссылка – примитивный тип, тогда почему не использовать ТИП(ТоварныеЗапасы.Регистратор)?

    Правильно ли читаю выражение ГДЕ ТИПЗНАЧЕНИЯ(ТоварныеЗапасы.Регистратор) = ТИП(Документ.РасходТовара): в регистре ТоварныеЗапасы отобрать только записи, сделанные документом РасходТовара?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  30. Doremi_2020

    Добрый день, вопрос по практическому заданию 7.
    Если в консоли запросов выполняю задание, то текст получается такой:
    ВЫБРАТЬ
    Номенклатура.Наименование КАК Наименование
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    Номенклатура.Наименование ПОДОБНО “%\%%” СПЕЦСИМВОЛ “\”

    А если в обработке, то конструктор создаёт двойные кавычки:
    Запрос.Текст =
    “ВЫБРАТЬ
    | Номенклатура.Наименование КАК Наименование
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Наименование ПОДОБНО “”%\%%”” СПЕЦСИМВОЛ “”\”””;

    Это так и надо?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  31. Doremi_2020

    Добрый день, запускаю курс через 1С, при этом поле описания уроков пустое для всех пунктов. Подскажите, пожалуйста, что сделано не так.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Doremi_2020

        В курсе “Быстрый старт” под каждым уроком было описание, ожидала и здесь увидеть такие же описания под каждым уроком, но, по всей видимости, все описания только в pdf-файле. Поняла, спасибо.

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  32. Doremi_2020

    Добрый день!
    В Консоли запросов, находящейся в разделе 030 Дополнительные методические материалы вижу только окно запроса и кнопка Конструктор, не нахожу окон Параметры, Результат запроса, кнопки Выполнить запрос и шапки. Скрины окна и формы консоли прилагаю.
    Это рабочая консоль?
    Консоль запросов, скачанная из ИТС, выдаёт ошибку: «Использование модальных окон в данном режиме запрещено». И у консоли общий вид другой.
    Сама база из каталога Модельная база для решения практических заданий, настройки не менялись, запускаюсь под толстым клиентом, как и рекомендовалось.
    Помогите, пожалуйста, с установкой такой же консоли, как и преподавателя.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Doremi_2020

        Волшебным образом после того, как написала Вам, с ИТС скачала консоль, всё запустилось, все окна есть. Благодарю.

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

          • Doremi_2020

            Нет, всё-таки идёт какой-то сбой. При нажатии кнопки Выполнить выдаёт сообщение: Метод объекта не обнаружен (Скрыть). Но запрос выполняет.
            Нашла в комментариях описание сообщения “Метод объекта не обнаружен “, но для другого случая.

            • Василий Ханевич


              (текст комментария доступен только участникам Мастер-группы)

              • Doremi_2020

                Ошибка возникает в Процедура ЗапуститьВыполнениеЗапроса(ВыводитьВременныеТаблицы)
                в предпоследней строке:
                Элементы.ГруппаПараметры.Скрыть();
                Как это в этом разобраться и исправить, даже не догадываюсь, извините…

                • Василий Ханевич


                  (текст комментария доступен только участникам Мастер-группы)

                  • Doremi_2020

                    Закомментировала эту строку, консоль дала такое же сообщение
                    Метод объекта не обнаружен (Показать)
                    на следующую строку
                    Элементы.ГруппаРезультатЗапроса.Показать();

                    Закомментировала и эту строку, сообщения об ошибке прекратились, запрос выполняет, но скажутся ли эти изменения на результате, не понимаю.

                    • Василий Ханевич


                      (текст комментария доступен только участникам Мастер-группы)

          • Doremi_2020

            В консоли запросов на поле Условие нет колонок: номер, произвольное выражение, условие, вид сравнения и значение. Есть только единая строка. Как получить режим с колонками?

            • Василий Ханевич


              (текст комментария доступен только участникам Мастер-группы)

  33. pasha71042

    Здравствуйте!
    Как с помощью запроса найти пустую табличную часть?
    Предлагаю два варианта на примере документа реализации. Какой “правильнее”? Или подскажете способ лучше?
    Спасибо
    №1

    ВЫБРАТЬ
        РеализацияТоваров.Ссылка КАК Ссылка
    ИЗ
        Документ.РеализацияТоваров КАК РеализацияТоваров
    ГДЕ
        НЕ РеализацияТоваров.Товары.Ссылка = РеализацияТоваров.Ссылка

    №2

    ВЫБРАТЬ
        РеализацияТоваров.Ссылка КАК Ссылка
    ИЗ
        Документ.РеализацияТоваров КАК РеализацияТоваров
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
            ПО (РеализацияТоваров.Ссылка = РеализацияТоваровТовары.Ссылка)
    ГДЕ
        РеализацияТоваровТовары.НомерСтроки ЕСТЬ NULL
    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  34. pasha71042

    Здравствуйте!
    Какой сейчас принят “стандарт” разработки для изменения запроса по условию?
    Я имею ввиду использование СхемыЗапроса или СтрЗаменить и конкатенации “кусков” текста запроса.
    Или может быть используются все приёмы?
    Заранее спасибо за ответ!

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  35. pasha71042

    Здравствуйте!
    В решении задания №3 “Определение количества записей в таблице базы данных” Вы написали следующий запрос:
    ВЫБРАТЬ
    Количество(*)
    ИЗ
    РегистрНакопления.Продажи

    Правильно ли я понимаю, что на месте знака * может быть любое другое значение, например, число или строка? Или это имеет отношение к тому, что * – это специальный символ для вывода всех полей.
    Например я пробовал запрос ниже, он тоже работает:
    ВЫБРАТЬ
    Количество(“абвгд”)
    ИЗ
    РегистрНакопления.Продажи

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  36. Vaskoff

    Добрый день!
    Задание 6
    Я решил задачу так:
    ВЫБРАТЬ
    Закупки.Регистратор КАК Регистратор,
    Закупки.Номенклатура КАК Номенклатура,
    Закупки.Сумма / Закупки.Количество КАК цена
    ИЗ
    РегистрНакопления.Закупки КАК Закупки
    ГДЕ
    Закупки.Сумма / Закупки.Количество > &Цена

    В решении Использовался в качестве источника документ, у меня регистр. Какой вариант более предпочтительнее?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  37. turich

    здравствуйте, начал второй модуль, постоянно сталкиваюсь системными ошибками консоли, консоль качал с официального сайта 1с, ядро 8.3.16.1063, делаю простейший запрос к регистру остатков, на вкладке Итоги делаю итоги по складу и номенклатуре, итоговое поле Количество, при выполнении запроса выдает ошибку Метод объекта не обнаружен (Количество). может есть какая то более актуальная консоль или в конфигураторе надо совместимость устанавливать? с самописными конфигурациями ранее подобных ошибок не вылезало.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  38. Дмитрий Кузьмин

    День добрый!
    При установке установить флаг “Показывать план выполнения запроса” получаю ошибку (привел на скрине). Свойство “Только чтение” стоит на всей папке program files. как запустить данную опцию. 10-я Винда.

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • Дмитрий Кузьмин

        Запуск 1С под администратором помог, спасибо.

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  39. almari@bk.ru

    Добрый день. Практическое задание №15.
    В решении преподавателя совсем забыли про отбор по периоду документа. Но дело не в этом, наверняка уже кучу раз прокомментировали этот момент. Мне было интересно, что использует преподаватель: оператор МЕЖДУ или две строки условия со знаками >= и <=. Какой способ задания условия предпочтительней?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  40. almari@bk.ru

    Добрый день. Практическое задание №12.
    В процессе демонстрации решения задачи преподаватель в конфигураторе выбрал реквизит “ВидНоменклатуры” справочника “Номенклатура” и с помощью контекстного меню выбрал “Поиск ссылок в объекте”. Я об этой возможности ничего не знал, и подозреваю, что не только об этой. Есть ли отдельный курс, где подробно рассказывается о возможностях, хитростях, фишечках и плюшечках при работе с конфигуратором?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

      • almari@bk.ru

        Спасибо. А что можете посоветовать для того, чтобы убрать эти пробелы в моих знаниях? Где я могу получить соответствующую информацию? Или достаточно просто внимательно и полностью изучить встроенную справку? Извините, что пристаю с вопросами не по теме курса. В любом случае курс “Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки” я пройду. Он уже куплен и ждёт своей очереди после курсов о запросах и о системе компоновки данных.

        • Василий Ханевич


          (текст комментария доступен только участникам Мастер-группы)

  41. almari@bk.ru

    Добрый день. Задание №8 второго модуля.
    На мой вкус гораздо корректнее в запросе поставить условие:
    ГДЕ
    НЕ Контрагенты.Телефон ПОДОБНО “+[0-9]([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]”

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  42. baronoleg

    Подскажите, схемы запроса будут более подробно рассматриваться, чем в уроке 23 2-го модуля?

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

  43. baronoleg

    Практическо задание №9 есть ли разница с точки зрения производительности брать контрагента из реквизита документа или из таб части путём разименования, ведь всё равно используется 2 таблицы?
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    РеализацияТоваровТовары.Ссылка.Контрагент
    ИЗ
    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
    ГДЕ
    РеализацияТоваровТовары.Номенклатура = &Номенклатура
    либо
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    РеализацияТоваров.Контрагент КАК Контрагент
    ИЗ
    Документ.РеализацияТоваров КАК РеализацияТоваров
    ГДЕ
    РеализацияТоваров.Товары.Номенклатура = &Номенклатура

    • Василий Ханевич


      (текст комментария доступен только участникам Мастер-группы)

Комментарии закрыты