Количество дней недели (понедельников/вторников/. ) в заданном диапазоне одним запросом
Первым делом у нас из входящих данных есть только НачалоПериода и КонецПериода . Соответственно нам нужно с чем-то соединять эти данные. В любой типовой конфигурации более рентабельно было бы использовать Регл.Календарь. Но не тут-то было. Конфа совсем не типовая. Поэтому запрос писался для "вакуума".
* Благодаря товарищу ildarovich, нашлось более лаконичное решение, за что отдельное спасибо. С помощью разности дат с периодом "неделя":
В результате мы получили таблицу вида: (параметры: НачалоПериода = 01.03.2016; КонецПериода = 31.03.2016)
ДеньНедели КоличествоДней 1 4 2 5 3 5 4 5 5 4 6 4 7 4
upd. 14.03.2016. Добавил обработку-пример
Скачать файлы Специальные предложения- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
(2) lrs, Можете не сомневаться :Уровень оптимизации - бог =)
А старый запрос потерялся, я его засунул в спойлер, а инфостарт просто взбесился от конструкции div . На предосмотре было все ок, а когда сохранил - он удалил все что было в спойлере + добавил пол страницы инфостарта в мою публикацию =))
Если в двух словах - мой метод - это левое соединение к таблицам дней периодов (две строки - Начало и конец) по условию >= <= и группировка результата, этот метод - расчета относительно дня недели. Изи. На многие вещи посмотрел по другому в принципе.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Просмотры 24920
Загрузки 2
Рейтинг 30
Создание 03.03.16 16:08
Обновление 03.03.16 16:08
№ Публикации 464699
Рубрики Запросы
Конфигурация Не имеет значения
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. такжеВам нравятся запросы в 1С? Промо
Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата. Пора с этим заканчивать!
1 стартмани
03.07.2019 30333 7 m-rv 91
Срез последних N записей, пример на СКД
Пример получения в СКД последних N записей, т.е. например, получить последние 3 записи по каждой категории.
1 стартмани
09.03.2022 865 1 user-z99999 9
Конвертер для преобразования текстов запросов и планов SQL в представления языка 1С
Преобразует текст запроса на языке SQL или план запроса, подставляя представления метаданных конфигурации для удобства последующего анализа.
2 стартмани
07.02.2022 3264 21 ivanov660 5
Форма выбора по произвольному запросу в управляемых формах
Данная обработка предназначена для организации выбора объекта из набора данных по произвольному запросу в управляемых формах.
1 стартмани
16.02.2021 4123 2 blockcode 1
Нечеткий поиск одним запросом Промо
Использование механизма полнотекстового поиска в 1С не всегда оправдано, т.к. построение индекса и поддержание его в актуальном состоянии может значительно нагружать систему. Предлагаемая реализация нечеткого поиска методом N-грамм выполняется одним запросом, что позволяет производить поиск в любой таблице и не требует предварительного построения индекса.
1 стартмани
28.12.2015 36969 76 vasvl123 9
Расширение объекта Запрос
Упрощение / ускорение работы с объектом Запрос в программном коде для программистов.
1 стартмани
13.04.2020 3129 0 serferian 2
Транслятор запросов 1С в SQL
Инструмент для трансляции запросов платформы 1С в SQL, а также их диагностики.
10 стартмани
07.01.2020 31530 254 YPermitin 89
Наглядные примеры соединений в запросе
Демонстрация различных вариантов соединения двух таблиц в запросе.
1 стартмани
11.06.2019 6742 17 m_aster 1
Быстрое определение интервалов в запросе Промо
В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.
1 стартмани
01.10.2015 64308 37 ildarovich 41
Развернуть дерево спецификаций быстро
Подход, позволяющий развернуть составы нескольких изделий минимальным количеством запросов.
10 стартмани
23.10.2018 14580 10 SITR-utyos 7
Применение множественных условий по отсрочке платежа в запросе
Практический пример решения задачи по вычислению срока отсрочки платежа по набору условий, которые определяются пользователем в настройках. Вычисление выполняется при помощи одного запроса. Ход решения задачи расписан поэтапно.
1 стартмани
03.09.2018 8029 1 zhichkin 0
Представления в запросах. ЗУП
О пользе функции ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, ). Где есть запрос-пустышка, например, "Представления_КадровыеДанныеСотрудников. Тестировано в Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.4.171) на платформе 8.3.12.1412. В этой конфигурации я насчитал 66 макетов в различных отчетах, где применяется этот механизм, в которых можно получить до 220 различных данных о сотруднике. Если доработать типовой код, то возможно этот список добавить. В моем примере я нахожу данные: Организация, Сотрудник, ФизЛицо, ФИОПолные, ДатаРождения, МестоРождения, ДокументПредставление, АдресПоПропискеПредставление, АдресМестаПроживанияПредставление, ДатаПриема, Должность, ДатаУвольнения,ТрудовойДоговорДата,ТрудовойДоговорНомер, Подразделение.
1 стартмани
28.05.2018 33008 40 IgorXml 17
Порождающий запрос Промо
Иногда в запросе необходимо получить искусственную таблицу заданного размера, не связанную с данными информационной базы. Эта получаемая «из воздуха» таблица может быть заполнена, например, числами натурального ряда или функционально связанными с ними значениями. Такая таблица может пригодится как временная таблица в запросе для соединения с реальными таблицами. Другой вариант – быстрое получение таблиц значений заданного размера, списков, массивов и прочее. В последних версиях MS-SQL есть возможности непроцедурной генерации таблиц посредством специального «итеративного» описания. Ну а для 1С пригодится следующее решение:
1 стартмани
15.09.2011 73099 153 ildarovich 89
Метод определения и списания партий по ФИФО, реализованный в запросе
Реализован метод ФИФО непосредственно в запросе, т.е. все данные и расчеты формируются в одном пакетном запросе, на входе документ ссылка с заполненной табличной частью, на выходе то, что должно быть уже в проводках.
1 стартмани
03.03.2017 7338 1 sergik_nsk 8
Запрос для получения остатков по дням даже если не было движений
Запрос для получения таблицы остатков на каждый день в пределах выбранного периода, даже если движений в этом периоде не было. Вытаскивается одним запросом, без дополнительной обработки результата.
1 стартмани
23.01.2017 20243 5 Homyak 9
Кросс-таблица из табличной части или запроса
Данная задача встречалась мне несколько раз. Каждый раз в новой интерпретации, но суть примерно одинаковая: "Хочу, чтобы по строкам были товары, по колонкам склады, а на пересечении - количество". Вместо товары-склады, может быть что угодно: дата-контрагент, номенклатура+цвет - размер и т.д.
1 стартмани
09.09.2016 28613 80 json 4
Расчет вероятностей запросом Промо
Предлагается метод расчета вероятностей сложных событий с использованием языка запросов. Метод иллюстрируется примерами решения трех задач: расчет вероятности сдачи теста «1С: Профессионал», расчет вероятности отказа дискового массива RAID-10, расчет вероятности критического превышения сроков выполнения проекта. Все описанные решения можно протестировать с помощью прилагаемого отчета.
1 стартмани
20.09.2014 22220 6 ildarovich 8
Контактная информация в отчетах на основе Универсального отчета встроенными средствами
Лёгкий способ добавить контактную информацию в типовые отчеты (Закупки, Продажи и т.п.) на основе УниверсальногоОтчета (УТ 10, УПП 1.3, КА). Позволяет выводить контактную информацию любого вида без необходимости вручную задавать текст запроса. Достаточно после инициализации настроек добавить код из 11 строк. Подходит для внешних отчетов.
1 стартмани
11.08.2016 7310 10 Cmapnep 6
Разузловка номенклатуры запросом по спецификации
Разузловка номенклатуры предназначена только для наглядного просмотра (имеет возможность нескольких вариантов вывода). Сам процесс разузловки реализован одним запросом к БД, что позволяет выигрывать в скорости дабы не раздражать пользователя. Возможно вам необходим только код запроса, я его опубликовал ниже.
2 стартмани
26.07.2016 6559 30 DrBlack 6
Запросы &НаКлиенте для Управляемого приложения
Разбитый между клиентом и сервером код размывает и усложняет логику прикладного решения. Для запроса из базы данных одной записи предлагаю &НаКлиенте использовать универсальную процедуру "ЗаполнитьИзЗапроса".
1 стартмани
08.05.2016 10104 2 sereginseregin 14
Запрос – комбинатор Промо
Описывается запрос, позволяющий получить и пронумеровать все возможные комбинации значений заранее неизвестного набора свойств. Одним из примеров применения запроса является перечисление всех вариантов спецификаций для заданной продукции.
1 стартмани
07.08.2014 26133 28 ildarovich 17
Процедура получения свободных кодов
Возникла ситуация, при которой появилась необходимость заполнить пробелы в кодах номенклатуры. Маленькая процедура решает эту задачу, работает достаточно быстро, сам использую.
1 стартмани
09.03.2016 8857 4 hydro2588_2015 6
Нечеткий поиск и пересорт в документах реализации.
Данная обработка ищет реализацию с отрицательными движениями и дает возможность заменить номенклатуру на похожий по наименованию аналог. Есть функция подключения к семерочной базе и получения ее текущих остатков для сравнения.
1 стартмани
26.01.2016 4906 13 jour 1
Определение длины строки в запросе методом половинного деления
Во встроенном языке запросов 1С не реализована функция определения длины строки. В тех случаях, когда длину строки необходимо определять именно в запросе, приходится прибегать к различным ухищрениям. Как вариант, предлагается использовать быстрый метод половинного деления.