Групповая обработка баз для 1С 8.2 (OLE).






Обработка является удобным инструментом, когда необходимо выполнить однотипные действия на нескольких базах с одинаковой конфигурацией.
Обработка позволяет:
1. Выполнить произвольный код на всех базах из списка;

2. Выполнить произвольный запрос ко всем базам из списка, с выведением в поле табличного документа побазно.
3. Заменить значение константы во всех базах из списка.
Все действия могут быть выполнены, на усмотрение пользователя, либо через COMConnector, либо через Application.

Функционал:

1. Выполнение произвольного код на всех базах из списка;
2. Выполнение произвольного запроса ко всем базам из списка, с выведением в поле табличного документа побазно.
3. Замена значений константы во всех базах из списка.
4. Подключение к базам либо через COMConnector, либо через Application. 

Только для клиент-серверного варианта. Возможность работы с файловым вариантом, при желании, можно добавить. 

 

10 Comments

  1. Sapience

    Зачетная вещь, из рекомендаций — добавить возможность определения версии платформы и соответственно «версию» КомКоннектора при одновременной работе с разными платформами в одном сеансе.

    Reply
  2. Romeooo

    (1) Sapience,

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

    Reply
  3. Romeooo

    Выполнение произвольного кода рекомендуется делать отдельно для локальной базы(без использования объекта ДругаяБаза) и для удаленных(через ComОбъект ДругаяБаза).

    Перечень баз в которых будет выполняться код можно изменить на закладке «Список баз».

    Reply
  4. maxis33

    Интересная штучка, возьму на заметку!

    Reply
  5. Elisy

    В режиме тонкого клиента будет работать?

    Reply
  6. Romeooo

    (5) Elisy, нет. Сделано на обычных формах. Могу переделать.

    Reply
  7. Elisy

    (6)

    Спасибо. Дело не в этом. Насколько я знаю есть 2 вида подключения через COM: как толстый клиент и как тонкий. Традиционно повелось с 8.1, что подключаются через толстый клиент.

    Но существует также вариант подключения по COM к базе, опубликованной через http в режиме тонкого клиента. И большая проблема в режиме тонкого клиента, что доступно очень мало объектов 1С на клиенте. Например, не получится вызвать команду «Выполнить», потому что она доступна только на сервере.

    Я подумал, может вам как-то удалось выполнять команды при COM-подключении через тонкий клиент тоже.

    Reply
  8. Romeooo
    Я подумал, может вам как-то удалось выполнять команды при COM-подключении через тонкий клиент тоже.

    А не пробывали создать ескпортную процедуру на стороне тонкого клиента и ей «скармливать» текст команд? Может так будет работать.

    Reply
  9. Elisy

    (8)

    Есть решения, но они требуют вмешательства в конфигурацию — серверный модуль с экспортной функцией, внутри которой команда «Выполнить». Более изящного не подобрал.

    В таком подходе 2 недостатка: к типовым по умолчанию не подходит, так как требует изменений конфигурации. Т.е. универсальные решения, как COM к толстому клиенту, создать не получится.

    И безопасность сомнительная — клиент может скормить любые команды, например, удалить данные. В веб-разработке такая проблема остро стоит: SQL-инъекции.

    Reply
  10. Romeooo

    (9) Elisy, да, я именно это и имел ввиду. Но небезопасно и не совсем удобно — согласен.

    Reply

Leave a Comment

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