Новые возможности языка запросов в платформе 8.3.20

Публикация № 1733279 27.09.22

Приемы и методы разработки - Запросы

Запросы 8.3.20

С платформы 8.3.20 анонсировали ряд изменений в языке запросов, с которыми интересно было повозиться на практике, что и было проделано. Результатом этих изысканий решил поделиться с вами.

Анонсированные возможности (кратко)

Анонс новых возможностей можно посмотреть по ссылке, если кратко, можно выделить три больших блока добавлений:

  1. Добавлены новые арифметические операции: округление, логарифмы, квадратные корни и т.д.
  2. Добавлена возможность преобразования в строку и расширение работы со строками: обрезка строк, удаление пробелов и т.д.
  3. Добавлена возможность получать размер хранимых данных через метод РазмерХранимыхДанных.

Вот со всем этим и хотелось познакомится поподробнее. Все эксперименты проводились на платформе 8.3.20.1613.

 

Арифметические возможности

В платформе анонсировали следующие возможности:

  • Тригонометрические функции Sin, Cos, Tan, ASin, ACos, ATan (все вычисления производятся в радианах)
  • Exp - вычисляет результат возведения основания натурального логарифма (числа e) в степень
  • Log - вычисляет натуральный логарифм числа.
  • Log10 - вычисляет десятичный логарифм числа.
  • Pow - вычисляет возведение в степень.
  • Sqrt – вычисляет квадратный корень.
  • Окр(Round) - округляет исходное число до нужной разрядности
  • Цел(Int) - вычисляет целую часть переданного числа, полностью отсекая дробную часть.
 
 Код проверки

Выявлены следующие особенности:

  1. Данные операторы работают строго с числами. При попадании туда любого другого значения, включая  NULL или Неопределено - платформа выдаст ошибку.

 

 

  1. Данные операторы не могут работать с полями составного типа без явного приведения к числу (оператор ВЫРАЗИТЬ ).

 

 

  1. В арифметических операциях можно влететь в невозможность вычислить выражение из-за слишком большого числа. Ошибка ниже возникла при попытке посчитать exp от 500. Попытки вставить "ВЫРАЗИТЬ" и т.д. ни к чему не привели.

 

В целом с арифметическим операциями всё - переходим к работе со строками.

 

Работа со строками.

В платформе анонсировали следующие возможности:

  • Строка(String) – преобразует значение примитивного типа в строку с учетом национальных установок.
  • ДлинаСтроки(StringLength) – вычисляет длину строки.
  • СокрЛ(TrimL) – отбрасывает незначащие пробелы слева.
  • СокрП(TrimR) – отбрасывает незначащие пробелы справа.
  • СокрЛП(TrimAll) – отбрасывает незначащие пробелы слева и справа.
  • Лев(Left) – получает первые слева символы строки.
  • Прав(Right) – получает первые справа символы строки.
  • СтрНайти(StrFind) – находит первую позицию подстроки в строке (без учета регистра).
  • ВРег(Upper) – преобразует все символы строки в верхний регистр.
  • НРег(Lower) – преобразует все символы строки в нижний регистр.
  • СтрЗаменить(StrReplace) – заменяет все вхождения подстроки на другую подстроку (без учета регистра).

В данном случае будет 2 эксперимента, т.к. функцию Строка хотелось погонять "в хвост и в гриву".

Работа функции Строка

 
 Код проверки

Выявлены следующие особенности:

  1. Умеет преобразовывать любые примитивные типы, включая NULL или Неопределено (см. пример).
  2. Не умеет преобразовывать ссылки на объекты, в том числе предопределённые элементы.

 

 

  1. Если использовать функцию Строка на строку неограниченной длинны - запрос спокойно отработает. Ради интереса вставил в реквизит текст первого тома "Война и мир" - запрос выполнился без вопросов и в результате получил весь текст из реквизита.

 

Прочие функции работы со строками

 
 Код проверки

Выявлены следующие особенности:

  1. Остальные функции отказываются работать с любыми типами, кроме Строка
  2. Все эти функции умеют работать со строками неограниченной длинны.
  3. Конструктор ловить лишь часть ошибок по типизации, а часть вылезет только на клиенте.
 
Интересная особенность (баг или фича)

 

Функция РазмерХранимыхДанных

В платформе анонсировали следующие возможности:

> РазмерХранимыхДанных(StoredDataSize) – возвращает размер данных в байтах, которые занимают данные параметра.

Данная функция будет применима не только к хранилищу значений (как почему-то подумалось мне изначально), а к любому существующему в базе реквизиту (ну, почти к любому).

 
 Код проверки

Выявлены следующие особенности:

  1. Любая ошибка с размером хранимых данных приводит к вылету платформы.

 

 

  1. Надо чётко понимать, что является реквизитом ИБ, а что нет, т.к. подсказка в конструкторе работает далеко не всегда. (Н-р: попытка обращения к полям Представление , Предопределённый - приведут к ошибке (см. пример проверки)).   
  2. Получить общий размер табличной части таким образом не получится, что собственно следует из определения, но проверить нужно было.

 

 

Заключение.

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

Если вдруг кому нужна обработка, в которой я накидывал данные примеры кода - см. мой github

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1565 28.09.22 09:07 Сейчас в теме
Полезные и нужные функции. Время от времени такое надо. Большая часть их поддерживается SQL нативно (т.е. будет преобразовываться 1 в 1).
2. ixijixi 28.09.22 09:13 Сейчас в теме
Оффтоп: как выделить текст таким образом?
Прикрепленные файлы:
3. zeltyr 267 28.09.22 09:55 Сейчас в теме
(2) примерно так, только убрать пробелы в тегах
< code >РазмерХранимыхДанных< /code >
4. ixijixi 28.09.22 10:00 Сейчас в теме
(3) Чет не работает =\
Прикрепленные файлы:
5. zeltyr 267 28.09.22 10:06 Сейчас в теме
(4) ну, в редакторе статьи это надо вставлять в режиме редактирования исходного текста.
Прикрепленные файлы:
6. ixijixi 28.09.22 10:10 Сейчас в теме
(5) Спасибо, получилось!
Прикрепленные файлы:
Arkadiy_B; +1 Ответить
7. kser87 2274 28.09.22 16:07 Сейчас в теме
8. Pira 84 28.09.22 17:52 Сейчас в теме
(7) Почему не прошло? Прошло уже!
EvilMilko; +1 Ответить
9. Dzenn 753 29.09.22 11:26 Сейчас в теме
(7) критиковать легко, делать сложно ) думаю, у них было полно более приоритетных задач, а ресурсы конечно ограничены
pbahushevich; Brawler; ledywinter; +3 Ответить
10. Jimbo 9 29.09.22 13:36 Сейчас в теме
Интересно и зачем вам ВЫБРАТЬ EXP(500)?
1c 8.3.21.1508 удалось только ВЫБРАТЬ EXP(66), хотя в MS SQL 2019 легко выдаст Select EXP(500). Видать не так уж и проста трансляция языка запросов 1с в язык SQL.
11. VVi3ard 50 29.09.22 16:27 Сейчас в теме
(10) Возможно потому что одна из других СУБД которые поддерживает платформа (включая файловую) не умеет EXP(500).

Как то постоянно все забывают что главный якорь платформы в плане работы с СУБД это файловый вариант, второй по влиянию это IBM DB2.
13. zeltyr 267 30.09.22 06:47 Сейчас в теме
(10)
Интересно и зачем вам ВЫБРАТЬ EXP(500)?

Исключительно в целях эксперимента "а сможет ли". Одной из задач, которые я себе ставил - добиться НЕ выполнения данных функций, чтобы найти их ограничения. Что я и постарался воплотить...
pbahushevich; +1 Ответить
12. Darklight 28 29.09.22 16:54 Сейчас в теме
А что там с дополнительными параметрами некоторых функций - например можно вызвать Лев(ПолеСтрока, ПолеЧисло)?
И с вложением функций СокрЛП(СтрЗаменить(ПолеСтрока, Лев(ПолеСтрока,СтрНайти(ПолеСтрока,"-")-1)+, Прав(ПолеСтрока,СтрНайти(ПолеСтрока,"-"),ДлинаСтроки(ПолеСтрока)-Лев(ПолеСтрока,СтрНайти(ПолеСтрока,"-"))))
И как нынче всё это сочетается со старой функцией ПОДСТРОКА?
И индексация символов по-прежнему с 1?
А функции перевода строки в число, булево, в дату, в неопределено - так и не появилось?
И нет ли функции как ЕСТЬNULL и как оператора ЕСТЬ NULL - только в более широком смысле - как операция условия "Не заполнено" из СКД (т.е. проверяющая не только на NULL, но и на неопределено и пустые ссылки)?
14. zeltyr 267 30.09.22 07:08 Сейчас в теме
(12) Ух как много вопросов и как мало у меня ответов... Но попробуем.

А что там с дополнительными параметрами некоторых функций - например можно вызвать Лев(ПолеСтрока, ПолеЧисло)?


Можно. Причём если число будет отрицательное, то выведет просто 0 символов.

И с вложением функций СокрЛП(СтрЗаменить(ПолеСтрока, Лев(ПолеСтрока,СтрНайти(ПолеСтрока,"-")-1)+, Прав(ПолеСтрока,СтрНайти(ПолеСтрока,"-"),ДлинаСтроки(ПолеСтрока)-Лев(ПолеСтрока,СтрНайти(ПолеСтрока,"-"))))


СОКРЛП(СТРЗАМЕНИТЬ(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце, ЛЕВ(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце, СТРНАЙТИ(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце, ""5"") - 1), ""привет""))

вот такой пример точно отработал, так что думаю тут тоже всё хорошо.

И как нынче всё это сочетается со старой функцией ПОДСТРОКА?


1. Подстрока и СокрЛП / СОКРЛ / СОКРП - работают вместе вполне нормально.
ПОДСТРОКА(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце, 3, 2) + СОКРЛП(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце)


2. Подстрока и ЛЕВ / ПРАВ и т.д. не работают вместе. Стока ниже выдаёт ошибку (см. скрин к комментарию)
ПОДСТРОКА(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце, 3, 2) + ЛЕВ(РаботаСоСтроками.СтрокаСПробеламиВНачалеИКонце, 4)



И индексация символов по-прежнему с 1?

Да.

А функции перевода строки в число, булево, в дату, в неопределено - так и не появилось?

Да, так и не появилось.

И нет ли функции как ЕСТЬNULL и как оператора ЕСТЬ NULL - только в более широком смысле - как операция условия "Не заполнено" из СКД (т.е. проверяющая не только на NULL, но и на неопределено и пустые ссылки)?

Из анонса не следовало, так что похоже нет. Но очень глубоко не копал.

P.S. Если кто захочет посмотреть на код, которым я это проверял - сделал доработку в обработке для экспериментов, ссылка на которую приложена к статье.
Прикрепленные файлы:
15. Darklight 28 30.09.22 13:38 Сейчас в теме
(14)Очень странно что с ПОДСТРОКА 1. работает, а 2. уже нет - но больше интересовало, конечно как-то так так
СокрП(ПОДСТРОКА(СокрЛП(ПолеСтрока), 1, СтрНайти(СокрЛП(ПолеСтрока),".")-1))+СокрЛ(ПОДСТРОКА(СокрЛП(ПолеСтрока), СтрНайти(СокрЛП(ПолеСтрока),".")+1, ДлинаСтроки(СокрЛП(ПолеСтрока))))
16. Abduvali 2 30.09.22 20:21 Сейчас в теме
Полезная статья, спасибо!
17. naf2000 03.10.22 19:10 Сейчас в теме
IQueryable но встроенный в платформу
Оставьте свое сообщение

См. также

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Универсальные функции Механизмы платформы 1С Запросы Платформа 1С v8.3 Бесплатно (free)

Все знают, что такое кэш, и зачем он нужен. Но в 1С разработчик обычно использует кэширование только на уровне конфигурации, а в какой-нибудь обработке скорее ломает голову над запросом - как получить все данные за один заход... Хочется рассказать о том, как можно добиться хороших результатов с стратегией "разделяй и властвуй".

30.10.2017    30015    unichkin    18    

Практическая шпаргалка по новым возможностям языка запросов 1С

Механизмы платформы 1С Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

В предлагаемой статье решил привести примеры применения новых возможностей языка запросов 1С, начиная с версии платформы 8.3.20.

21.11.2022    9515    quazare    30    

Особенность задания периода в запросе в СКД

СКД Запросы Платформа 1С v8.3 Запросы Система компоновки данных 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Не используйте предопределённые названия переменных НачалоПериода, КонецПериода в текстах запросов в СКД. Остальное можно не читать.

11.11.2022    884    slicem    10    

Схема запроса: практические примеры использования

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Учимся использовать схему запроса.

08.11.2022    3391    RocKeR_13    15    

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

Запросы Платформа 1С v8.3 Бесплатно (free)

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    7644    Eugen-S    25    

Партицированная дисциплина программиста в 1С

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 Бесплатно (free)

Почему при росте объемов базы 1С все становится медленней, даже если все индексы правильно сделаны? В статье на простом примере с регистром сведений показана причина и как этого избежать. Кто виноват больше, 1С или MS SQL решать Вам :)

20.09.2022    1392    1CUnlimited    2    

Делаем свой интервальный регистр в ЗУП

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Бесплатно (free)

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

09.09.2022    1246    vazelin    4    

Как сделать запрос на изменение данных Промо

Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    41651    m-rv    23    

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    4404    sapervodichka    57    

Порядковый номер в запросе. Нумерация строк в системе 1С

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье будет описано, как в системе 1С присваивается порядковый номер в запросе, то есть происходит нумерация строк запроса. Будет сформирована некая универсальная задача, после чего будет предложен код запроса, который решит задачу и будет нумеровать строки.

02.08.2022    1465    Koder_Line    10    

Выразить число как строку и дату как строку в запросе Промо

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Предлагается новый и более компактный метод преобразования даты и числа в строку в запросе

22.02.2015    144422    ildarovich    79    

Обход по группировкам в запросе, соединение таблиц, параметры в запросе, выгрузка прайс-листа в Excel, PDF, Docx, TXT

Запросы Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В помощь начинающим программистам. Использую обработку из предыдущей моей публикации для разработки выгрузки Прайс-листа в Excel, PDF, Docx, TXT. Рассмотрю, как работает обход результата запроса ПоГруппировкам (релиз платформы 1С:Предприятие 8.3 (8.3.20.1674), самописная конфигурация).

18.07.2022    1389    Pproksima    2    

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)

11.07.2022    4678    it-expertise    27    

Кратность в Юанях (CNY) 10 и 1

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обратите внимание на обмены данными с Юанями. Кратность там меняется между 10 и 1, в зависимости от значения курса > 10 или < 10. Т.е. НЕ ВСЕГДА равна 1. А многие разработчики (в том числе и я) грешат, ставя Кратность = 1 по умолчанию в обменах и выгрузках. P.S. Идём на Восток, становимся хитрее.

10.06.2022    6628    sapervodichka    12    

Расчет хэш-функции в запросе Промо

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Показано, как рассчитать в запросе значение хэш-функции для поля, имеющего тип "строка". Приведены результаты испытаний предложенного приема и несколько примеров его использования при решении конкретных практических задач.

20.03.2015    58518    ildarovich    39    

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    4785    it-expertise    92    

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    3574    it-expertise    47    

Задача по 1С - в базе данных есть таблица движения товара, пишем запрос для определения среднего значения остатка товара

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

В базе данных есть таблица движения товара, плюс означает, что товар пришел на склад, минус означает, что товар выбыл со склада: Необходимо написать запрос на 1С или SQL (по желанию), который вернет среднее значение остатка товара за январь 2021 (с 1 по 31). В результате должно получиться ProdID 1 = 1.58 ProdID 2 = 0.77

01.03.2022    1745    Greamdevil    3    

Сложные запросы в динамическом списке или как не надо писать запросы для них Промо

Запросы Платформа 1С v8.3 Бесплатно (free)

Задачи вывода в динамическом списке информации из смежных таблиц возникают очень часто, при этом программисты зачастую используют решения "в лоб", которые оказываются не совсем удачными.

24.07.2015    80103    Aleksey.Bochkov    39    

Генерация простых чисел в запросе (SQL) и сравнение производительности

Запросы Платформа 1С v8.3 Бесплатно (free)

Пишем запрос по генерацию последовательности простых чисел на языке запросов 1С и SQL.

09.01.2022    1217    AtamanovYS    0    

Заметки по SQL 4: Преобразование в запросе строки в дату одним выражением

Запросы Платформа 1С v8.3 Россия Бесплатно (free)

На "Инфостарте" есть несколько статей, описывающих преобразование строки в дату. Описанное в них преобразование осуществляется в несколько запросов и имеет сложные для понимания выражения. В статье описано относительно простое выражение в запросе, преобразующее строку в дату.

10.12.2021    1434    IVC_goal    17    

Готовые механизмы 1С: ЗУП, представления

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

Здесь будет храниться архив запросов, которые могут помочь разработчику правильно строить отчеты и получать данные в 1С: ЗУП. Статью буду периодически дополнять.

03.11.2021    5418    Margo462    19    

Распределение оплаты по товарам Промо

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Учебная задача. Оплата приходит по заказу. Требуется запросом распределить её по товарам. Практическая задача была сложнее. Упростил специально для иллюстрации. Сначала собираем в одну таблицу заказы и товары. Затем ОБЪЕДИНИТЬ ВСЕ с оплатами. Потом намазываем оплату на товар.

04.08.2014    19989    Трактор    4    

Работа с SQL. Шаблон общего модуля

Запросы Платформа 1С v8.3 Бесплатно (free)

Шаблон общего модуля для работы с MS/PG SQL из 1С.

21.10.2021    3675    mrChOP93    3    

Как читать чужой код? Часть 3. Разбор и доработка запросов

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во всех вакансиях есть требование - умение читать чужой код. Но ни на одних курсах специально этому не учат. Чтобы устранить это противоречие, пишу данную статью. Рассмотрю случаи, в которых нам необходимо разбирать чужой код, поймём, чей код мы пытаемся разобрать, зачем и, главное, как. В статье описан личный опыт длиною в 18 лет начиная с версии платформы 7.7. Статья будет большой, набираемся терпения). Статья содержит в себе описание сценариев разбора кода, т.е. набор шагов. В статье не получится показать это на практике. Для этого планирую сделать онлайн или оффлайн курс, где на примерах будет показан разбор незнакомого кода. Статья разбита на 4 публикации для удобства изучения.

20.09.2021    4073    biimmap    32    

Еще один способ вычисления медианы запросом 1С

Запросы Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

Вниманию сообщества предлагается еще один способ расчета медианы числового ряда одним пакетным запросом 1С.

09.08.2021    2021    direktorSan    0    

Объектная модель запроса "Схема запроса" - теория и примеры использования Промо

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В 8.3.5 в платформе 1С появился новый тип данных "Схема запроса". Статья о том, что он из себя представляет, зачем он вообще нужен, когда нужен и когда не нужен. И о том, как им пользоваться. Примеры создания текста запроса с нуля и изменение имеющегося запроса.

12.10.2014    95487    ekaruk    85    

Временные таблицы запроса

Запросы Платформа 1С v8.3 8.3.14 Конфигурации 1cv8 Бесплатно (free)

Решил опубликовать эту маленькую статью для самых начинающих программистов 1С. Особенно для тех, кто часто сталкивается с отладкой запросов, а именно временных таблиц этих запросов. Сложность решений продуктов 1С сейчас заключается в том, что код нас уводит далеко вглубь общих модулей, перебрасывая из одного в другой и формируя в них временные таблицы запроса. Назад мы получаем кучу временных таблиц запроса, которые очень неудобно просматривать в отладчике. Для этого я и предлагаю свое ненавязчивое решение в виде расширения.

30.07.2021    2194    KonanSS    3    

Пример использования объекта "Схема запроса" в реальном проекте

Запросы Платформа 1С v8.3 Бесплатно (free)

Разберём решение задачи реального проекта: контекст, логика решения, само решение. Рассмотрим возможности объекта СхемаЗапроса.

03.06.2021    5274    maraton1185    32    

Последний раз про срез последних (на каждую дату в запросе)

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Срез последних на каждую дату в запросе. Известные факты о задаче: часто встречается на испытаниях соискателей на работу программистом 1с, постоянно провоцирует споры об оптимальном решении. В данном тексте приводятся замеры производительности различных вариантов решения задачи.

15.02.2021    25604    randomus    47    

Самоучитель языка запросов 1С. Промо

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Сервис для изучения запросов 1С: "Консоль изучения запросов 1С:Предприятие 8". Теперь и с конструктором запросов!

07.05.2013    120833    bpc222    327    

Программное создание корректировочного счета-фактуры выданного в УПП 1.3

Математика и алгоритмы Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет НДС Бесплатно (free)

Данный функционал можно использовать, например, в процессе оформления возвратов от поставщика (корректировка реализации по согласованию сторон) при автоматическом создании корректировок реализации по документам поставщика, он позволяет массово создать корректировочные счета-фактуры в УПП 1.3. При создании документа из первичного счета-фактуры выданного в новый корректировочный счет-фактуру выданный копируются значения свойств.

17.12.2020    1040    ksnik    0    

Имитация sql выражения LIMIT в запросе 1С

Запросы Платформа 1С v8.3 Бесплатно (free)

Всем известно, что в SQL синтаксисе есть выражение LIMIT. Очень полезное выражение для постраничной навигации. Но его нет в запросах 1С. Кто-то может сказать, что есть ПЕРВЫЕ, но ПЕРВЫЕ не подходит для постраничной навигации. Рассмотрим в статье, как можно имитировать LIMIT в запросах 1С.

08.12.2020    2886    opx    51    

Итоги по объединенной совокупности группировок в запросе

Запросы Платформа 1С v8.3 Бесплатно (free)

Способ формирования итогов в запросе по совокупности группировок, объединенных в единый набор, при помощи функции АВТОНОМЕРЗАПИСИ.

18.11.2020    9665    antonivan    21    

Работаем с датами в запросе Промо

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Понадобилось в запросе выполнить некоторые операции с датами: - посчитать дату оплаты в банковских днях; - собирать строки, в которые должны были входить даты, точнее строковые представления дат в формате "ДФ=dd.MM.yyyy". Вот что из этого получилось.

30.03.2010    67153    alexk-is    39    

Кадровые данные сотрудников ЗУП 3.1 в запросе

Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Бесплатно (free)

Получение кадровый данных сотрудников в запросе при помощи функции КадровыйУчет.СоздатьНаДатуВТКадровыеДанныеСотрудников().

26.10.2020    6078    Danila7Zz    4    

Как удалить из выборки дубли по двум полям. Промо

Запросы Платформа 1С v8.3 Россия Бесплатно (free)

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

15.11.2013    21671    Petr54-ru    22    

Учимся создавать http сервис (часть четвертая). Изучение метода POST http запроса (передача текстовых данных)

Запросы Платформа 1С v8.3 Бесплатно (free)

Пошаговое руководство по созданию http сервисов (часть четвертая). Изучение метода POST http запроса.

11.10.2020    28059    hpi    29    

Улучшенный конструктор запроса тонкого клиента (Infostart Toolkit)

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Конструктор запросов тонкого клиента появился в платформе с 8.3.5 обладает рядом недостатков, которые возможно исправить. Передача входных таблиц, исправление связей и другое

07.09.2020    7969    Evg-Lylyk    21    

Меры центральной тенденции (вычисление среднего) в запросе 1С

Запросы Платформа 1С v8.3 Бесплатно (free)

Меры центральной тенденции (вычисление среднего) в запросе 1С: * Среднее арифметическое * Среднее гармоническое * Среднее квадратическое * Среднее усеченное * Среднее винсоризованное * Медиана * Мода

31.08.2020    1956    parcan    6    

Отрицательные страховые взносы Промо

Механизмы типовых конфигураций Запросы Адаптация типовых решений Платформа 1С v8.3 1С:Зарплата и кадры бюджетного учреждения Бесплатно (free)

Иногда возникает необходимость рассчитать страховые взносы с отрицательной базы, но типовая зарплата сделать этого не позволяет. Предлагаю пример изменения запросов на релизе ЗКБУ 1.0.47.2 и всё будет считаться. Проверено на больших бюджетных организациях.

30.10.2012    12796    Nowa    25    

Проводим по БУ "на лету"

Инструментарий разработчика Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Бухгалтерский учет Налоговый учет Бесплатно (free)

В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.

01.05.2020    8697    sapervodichka    1    

Поблочная обработка таблицы. Обзор решений

Универсальные функции Запросы СКД Платформа 1С v8.3 Бесплатно (free)

8 способов реализации повседневной актуальной задачи, готовый код

25.02.2020    3072    Yashazz    21    

Нечёткий поиск "ПОДОБНО". Нюансы

Запросы Платформа 1С v8.3 Бесплатно (free)

Заметки о "ПОДОБНО" в языке запросов

23.02.2020    50201    Yashazz    31    

Полезные сведения о языке запросов 1С 8.2 Промо

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Украина Бесплатно (free)

В статье приведены полезные приемы при работе с запросами 1С v.8.2, а также сведения, которые не так хорошо известны о языке запросов. Я не стремлюсь дать полное описание языка запросов, а хочу остановиться лишь на некоторых моментах, которые для кого-то могут быть полезны.

10.12.2012    377171    fpat    84    

Нумерация строк в запросе методами платформы

Запросы Запросы Конфигурации 1cv8 Казахстан Бесплатно (free)

Простая реализация с помощью встроенных методов. Пригодится тем, кому нужно пронумеровать запрос без СКД и переборов.

09.01.2020    41093    user602678_maxipunchik    47    

Оптимизатор запроса. Часть первая

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Работа оптимизатора запроса является ключевой для обработки данных. Знание того, как оптимизатор выстраивает свою стратегию, отлично помогает при построении запросов.

23.12.2019    13342    darkdan77    21