Консоль запросов 1С и SQL (на основе View) + Edit (Управляемая форма)




Консоль запросов 1С хороша своим умением строить запросы 1С и SQL.
Позволяет редактировать прикладные объекты минуя логику приложения, на основе прямого редактирования таблиц на сервере SQL.
Также создаются интуитивно понятные View, которые позволяют работать с таблицами сервера SQL без затрат времени и производительности.

Консоль 1С хороша своим умением строить запросы.
Однако совершенно очевидна нехватка административного ресурса. Т.е. найдя экземпляр хранимого прикладного объекта через консоль запросов мы можем на него только поглазеть и поворчать.

Я взял кем-то пофиксенную консоль запросов (автор ее вполне может найтись и поставить мне плюсик) и добавил в нее нечто названное коротко «Edit».
«Edit» позволяет взглянуть на строки таблиц SQL хранящих сведений об объекте и подредактировать их.

Закладка «Соединение» позволит Вам указать сведения об SQL сервере. Галка «Windows Login» отменяет использование полей «User» и «Pass», зато подхватывает Ваши регистрационные данные к домену. Мне не известен способ передать в последнем случае произвольные «User» и «Pass», т.е. зарегистрироваться под произвольной учеткой из AD.

Если использованная учетная запись имеет достаточно прав, для редактирования таблиц SQL, то будет доступна операция редактирования. Для соединения от имени Вашей доменной учетки использован SQL Server Native Client 11.0 (если у Вас такого нет, то поправьте версию или пользуйтесь атентификацией SQL сервера , а не AD).

Пока Вы не нажали кнопку «Внести изменения SQL», изменения не отразятся в базе SQL. Совершенно очевидно, что «запись объекта» в этом случае носит характер удара ниже «ватерлинии» разработчикам 1С и прикладного решения.

Есть возможность удалить представления к таблицам на SQL и создать снова. Это позволить как-то ориентироваться в базе, если Вы смотрите на нее глазами SQL сервера. Не забывайте добавлять with(nolock) к имени таблицы или представления, чтоб исключить блокировки и «случайно» не внести изменения в базу (если Вы только учитесь). Работа с реальными таблицами через представления позволит обращаться к базе 1С из других источников и разработчики только спасибо скажут, т.к. теперь «там на SQL» все по русски написано и можно разобраться не дергая программиста 1С всякий раз.

Для работы с «прямыми запросами» добавил функционал на закладке «SQLQuery». При расшифровке ссылок будет выполняться поиск объекта (при двойном клике). 

 

Часто натыкаюсь на «Платное скачивание файла«. Это меня как-то коробит. С одной стороны, я не ищу мелкого дохода, а с другой — я не получаю уплаченных Вами денег за скачивание моих обработок. Изменить доступ к файлу не могу (нет такой возможности). Но! eturin@gmail.com 

Помните, что риски использования Вами этой обработки (как уж заведено) ложатся на ваши плечи.

 

12 Comments

  1. ture

    Консоль запросов 1С хороша своим умением строить запросы 1С и SQL.

    Позволяет редактировать прикладные объекты минуя логику приложения, на основе прямого редактирования таблиц на сервере SQL.

    Также создаются интуитивно понятные View, которые позволяют работать с таблицами сервера SQL без затрат времени и производительности.

    Перейти к публикации

    Reply
  2. SiAl

    «Совершенно очевидно, что «запись объекта» в этом случае носит характер удара ниже «ватерлинии» разработчикам 1С и прикладного решения.»

    Если водила автомобиля со всей дури прёт на дерево, виноват ли конструктор автомобиля? Так что все вопросы к водиле автомобиля (админу), потому что пассажиры (юзеры) имеют право порулить.

    Reply
  3. UncleVader

    Ctl+BackSpace на удаление подзапроса, без предупреждения — большой косяк!!!

    Reply
  4. ruo2004

    Извиняюсь не та тема!!!

    Reply
  5. ea_len

    Почему-то не активна кнопка «Открыть конструктор запроса»… Неудобно.

    Reply
  6. ture

    В тонком клиенте пункт «Открыть конструктор запроса» отключен самой 1Сы

    Reply
  7. jONES1979

    А для полных чайников, подскажите: Эта обработка расчитана только на базы, где данные хранятся на SQL-сервере, или будет работать с файловой-БД?

    Reply
  8. ture

    to jONES1979

    Это все для SQL и в большой степени даже не консоль, а интерфейс к данным 1C на сервере.

    Чайник вполне обойдется первой закладкой, где строятся запросы к 1С (и не важно SQL или файловая). Остальные закладки будут бесполезны.

    Reply
  9. Созинов

    Спасибо за обработку, как раз нужно делать запрос напрямую к базе sql, и нужна была обработка под УП

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

    Спасибо.

    Reply
  10. h00m

    Лично мне обработка помогла с тем, что я вижу сразу нужные таблицы, не надо ничего искать. Спасибо огромное разработчику.

    А есть ли возможность включить конструктор? По-моему через внесение изменение в конфигурацию можно было.

    Reply
  11. sashocq

    Супер! То, что мне было нужно. Только там есть 2 бага:

    1. Если отметить «Для ссылок выводить ГУИД», то на перечислениях вылетает ошибка, т. к. у перечисления нет метода УникальныйИдентификатор(). Для себя я добавил такую функцию:

    Функция ПолучитьУникальныйИдентификатор(Ссылка)
    Стр = ЗначениеВСтрокуВнутр(Ссылка);
    ПозДвоет = Найти(Стр, «:»);
    Стр = Сред(Стр, ПозДвоет + 1, 32);
    //GUID: 0907e882-80e2-47fe-8017-007637a9add1
    //Стр:  8017007637a9add147fe80e20907e882
    //   25:                        0907e882
    //   21:                    80e2
    //   17:                47fe
    //    1:8017
    //    5:    007637a9add1
    Стр = Сред(Стр, 25, 8) + «-» + Сред(Стр, 21, 4) + «-» + Сред(Стр, 17, 4) + «-» + Лев(Стр, 4) + «-» + Сред(Стр, 5, 12);
    Возврат Новый УникальныйИдентификатор(Стр);
    КонецФункции

    Показать

    2. Для полей вида Fld2115_S создается поле ИмяПоля5_S вместо ИмяПоля_S. Это тоже легко исправляется в модуле.

    Reply
  12. oleg212

    Спасибо за обработку, очень пригодиться делать запросы напрямую к базе sql.

    Reply

Leave a Comment

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