Консоль запросов 8.3 (обычное приложение) с возможностью переноса параметров запроса через строку (из отладки). А также с возможностью очень быстрой выгрузки больших объемов данных в Excel(CSV) исключительно мощностями сервера




Доработанная консоль запросов для 1С 8.3. Доработанные функции:
1. Загрузка параметров запроса из строки, полученной в отладке методом ЗначениеВСтрокуВнутр(Запрос.Параметры)
2. Выгрузка результата запроса в CSV файл на сервере и передача его на клиент. Быстрее в 10 раз чем стандартное «Сохранить Как»
3. Получение на основание запроса кода для выполнения обработки. При этом в коде уже прописаны все установленные для запроса параметры, а так же типизировано основное поле результата.
4. Конвертация текста запроса из вложенных запросов, во временные таблицы

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

1. Загрузка параметров запроса из строки полученной в отладке методом ЗначениеВСтрокуВнутр(Запрос.Параметры)

Часто возникает такая ситуация, что есть запрос в конфигурации с огромным количество параметров, включая большие списки значений и т.п. И его надо отладить в консоли запросов. Я сталкивался с этим очень часто и решил доработать функцию, которая позволит это автоматизировать. В отладке вставем на строке Запрос.Выполнить() и  в окне "Вычислить приложение" F9 пишем ЗначениеВСтрокуВнутр(Запрос.Параметры) . Метод возвращает строку вида:
{"S","СтраховойПродукт"},
{"#",8605f7b8-adbe-4850-9206-e5d665fd7e21,162:ba92f4ce468157e311e0f550680ce695}
},
{
{"S","Дата"},
{"D",20240627000000}
}

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

2. Выгрузка результата запроса в CSV файл на сервере и передача его на клиент. . Быстрее в 10 раз чем стандартное "Сохранить Как"

Тут подробно останавливатся не буду, поскольку все это описал в публикации //infostart.ru/public/424744. Скажу только что нужно добавить в конфигурацию два общих модуля с компиляцией только на сервере, что бы кнопка "Действие" — "Выгрузить в CSV (Через сервер без выполнения запроса)" сработала. Общие модули положил в обработку в виде текстовых макетов.

Тут у меня вопрос, кто знает как можно без использования общего модуля выполнить в обработке код только на сервере, т.е. аналог общего модуля с единственной галочкой "Сервер". Буду рад если вы в комментах  мне подскажете, а то я не нашел.
3. Получение на основание запроса кода для выполнения обработки. При этом в коде уже прописаны все установленные для запроса параметры, а так же типизировано основное поле результата. 

Наверное все сталкивались с тем что нужно сделать запрос и побыстрому перепровести или удалить документ и справочник из его результата. И часто бывает что в таком запросе много параметров, которые потом нужно в конфигураторе задавать второй раз, при этом тут очень большая цена ошибки, так как можно удалить или провести что то лишнее. Поэтому я доработал возможность получать сразу код обработки с заполнеными параметрами. Так же удобно сразу прописать явный тип основного поля результата запроса, который мы будем обрабатывать, что бы в конфигураторе легко было дальit  писать код, т.е. напишешь "." и он подсказывает какие у него есть реквизиты. Это достигается путем такого кода

Если Истина Тогда
Документ = ВыборкаДетальныеЗаписи.Ссылка;
Иначе
Документ = Документы.ДСП.ПустаяСсылка()
КонецЕсли;

Так же добавлена сразу обработка прерывания и отображение в строке состояния прогресса, тут же есть возможность добавления задержки обработки между строками через компоненту COMОбъект("WScript.Shell"), это можно сделать если в настройка обработки поставить галочку "Добавить задержку"

4. Конвертация текста запроса из вложенных запросов, во временные таблицы 

Добавлена кнопка "Сконвертировать из ВЗ в ВТ" она служит для конвертации текста запроса, построенного на вложенных запросах, в запрос на временных таблицах для 8.3 Подробно эта процедура описана в другой моей публикации //infostart.ru/public/292335/

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

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *