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

29.11.21

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

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

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

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

 

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

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

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

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

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

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

 
 Примечания


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

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

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

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

 

Заключение

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

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

 

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

См. также

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

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    171613    960    403    

924

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

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

8400 руб.

20.08.2024    14204    108    46    

107

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

9360 руб.

17.05.2024    27216    96    48    

137

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

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

22200 руб.

06.10.2023    17237    43    15    

75

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

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

15000 руб.

10.11.2023    11880    45    27    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191134    1152    0    

920

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1104    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    104107    244    100    

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

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