Данная обработка облегчает разработчику процесс перевода запросов в формате 1С, в формат T-SQL (Microsoft).Данную обработку я писал для себя в тот момент когда активно занимался прямыми обращениями к базе данных 1С, в обход сервера приложений.
Обработка позволяет просматривать структуру хранения данных. А так же позволяет без особых усилий перевести наименования полей и таблиц в те наименования которые хранятся внутри СУБД.
Алгоритм использования прост.
1. Необходимо настроить подключение к базе данных.
2. Вставить из буфера обмена запрос в формате 1С, либо воспользоваться конструктором запроса для его построения.
3. Выделяем в текстовом поле где написан запрос, наименование объекта метаданных (Справочник, Документ, Регистр) из которого происходит выборка. Нажимаем кнопку "Транслировать объект".
4. Теперь можно либо по отдельности выделять каждое из полей объекта, либо можно выделить все поля объекта и нажать кнопку "Транслировать поля объекта". Поля будут переведены на внутренне представление. Если перевод массовый, напротив каждого поля будет добавлен комментарий, обозначающий представление поля в метаданных конфигурации.
5. После того как все объекты и их поля будут транслированы можно нажать на кнопку "Транслировать в SQL". Данная кнопка заменяет наиболее часто используемые операторы T-SQL из русского представления в английское, используемое в MS SQL.
Процедуры трансляции не идеальны и именно поэтому, все заточено таким образом, что замена происходит в выделенном фрагменте текста, что бы не испортить запрос.
Важно помнить что трансляция полей всегда происходит в пределах последнего переведенного объекта. Так же обработка не умеет переводить в формат SQL такие виртуальные таблицы как "СрезПоследних" или что-то подобное.
Но тем не менее обработка поможет облегчить процесс написания прямых запросов к СУБД MS SQL.
P.S.
Данная обработка писалась для облегчения собственного труда и в план работ включена не была. Поэтому делал на скорую руку. Следовательно есть вещи которые можно было бы сделать лучше. А ещё на момент написания я не знал что в 1С можно использовать регулярные выражения, поэтому сейчас написал бы её несколько иначе. Но времени на это нет. Но как бы там ни было, даже в таком виде как сейчас, она мне значительно облегчила работу. Буду рад если данная наработка кому-то хоть как-то поможет.
Скачать:
Universal_SQL_Translate5.zip ( 25,48 килобайт )
Кол-во скачиваний: 1068[необходимо зарегистрироваться для просмотра ссылки]