Решение некоторых задач с помощью "Отладчика запросов"

29.11.21

Разработка - Инструментарий разработчика

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

Перед тем как начать - небольшое лирическое отступление:

 
 Про совместимость ссылок между базами

 

1. Сверка данных между базами

Задача:
Есть две базы, между которыми происходит автоматический обмен по правилам. Из базы А в базу Б выгружаются все Реализации. Важно: база А первична, в базе Б никакие новые реализации вручную не создаются. Обратно ничего не выгружается. 

Главный бухгалтер сверяя отчеты замечает, что суммы за месяц разные и просит проверить что всё корректно перенесено из базы А в базу Б, а также если что-то перенесено некорректно - срочно исправить это. Возможно, в базе Б подчиненными гл.бухгалтера "по неосторожности" изменены какие-либо данные. Вопросы организации прав тут опустим.
Задача обычно возникает накануне проверки или сдачи отчетности, соответственно "срок: ВЧЕРА".

Решение:
В базе Б формируется запрос документов (Ссылка, Номер, Дата, Организация, Контрагент, Сумма), результат сохраняется в файл. В базе А формируется аналогичный запрос, данные из базы Б загружаются во временную таблицу запроса и производится сверка таблиц в запросе. Полученные расхождения ставятся на регистрацию в обмен. После обмена - повторяем сверку, убеждаемся, что расхождений нет и сообщаем главному бухгалтеру, что проблема была устранена, просьба проверить. Он сверяет отчеты и подтверждает, что всё ок.

 
 Запрос в базе Б
 
 Запрос в базе А
 
 Запрос в базе А, когда между базами совместимы ссылки

Для "поиска виновных", когда на это есть время (в моем случае - предварительно сделаны бэкапы баз А и Б и после на копиях выполнялся детальный анализ) - выполняется то-же сравнение, и далее расхождения разделяются на 3 группы: Есть в базе А, но нет в базе Б, есть в базе Б, но нет в базе А, есть в А и Б но изменены. Далее, добавляем к данным информацию из журнала регистрации и получаем, кто что делал с данными.

 
 Примечания


2. Перенос данных между базами 

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

Решение:
В старой базе создается запрос, который выводит все группы, запрос упорядочивается по ссылке иерархически, но выгружается в таблицу значений (Тип выгрузки: Прямой). Далее, в таблице обрабатываются ссылки, заменяются на уникальные идентификаторы и результат выгружается в файл. В новой базе данные загружаются во временную таблицу, и производится обработка результата запроса. Вся работа заняла около 30 минут.

 
 Запрос в базе-источнике
 
 Запрос в базе-приемнике

 

Заключение

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

Скачать "Отладчик запросов" - можно тут:

 

Отладчик запросов Обработка данных Сверка Перенос

См. также

SALE! 15%

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159401    872    399    

861

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7766    55    22    

66

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    23431    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8500 руб.

10.11.2023    10414    36    20    

61

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15395    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3120 руб.

14.01.2013    187972    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17301    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7694    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. MonteCriZto 114 29.11.21 01:46 Сейчас в теме
Пользуюсь только первой частью задачи №1 ) .. Выгружаю в Exel' два результата запроса и там получаю разницу ) ..
2. aleksey2 88 29.11.21 09:52 Сейчас в теме
"УдалиМеня.dat")

Можно делать *.ТХТ ?
3. DrAku1a 1745 29.11.21 09:56 Сейчас в теме
(2) Можно, но диалог выбора файла для загрузки в отладчике по-умолчанию использует расширение *.dat, но вручную можно указывать и *.TXT
4. METAL 299 02.12.21 21:39 Сейчас в теме
Здравствуйте!
В этой разработке можно через веб-сервис из одной базы в другую подключиться и сверить данные, возможно в некоторых случаях будет удобней
https://infostart.ru/public/1478041/
5. DrAku1a 1745 04.12.21 06:22 Сейчас в теме
(4) Если зарегистрирован COM, то в отладчике запросов тоже можно запрашивать данные напрямую.
Примерно так:
Прикрепленные файлы:
6. RustIG 1747 14.04.22 09:53 Сейчас в теме
(0) выглядит интересно...
Оставьте свое сообщение