Summary: | Подумать о возможности отказа от модификации базы postgres | ||
---|---|---|---|
Product: | SELTA@Etersoft | Reporter: | Станислав Коробейников <stas> |
Component: | Общее | Assignee: | Калюхович Юрий <goga> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | minor | ||
Priority: | P4 | CC: | lav, stas |
Version: | 1.1.0 | ||
Target Milestone: | версия 1.0.4 | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 6158 | ||
Deadline: | 2011-04-07 |
Description
Станислав Коробейников
2011-04-05 18:34:35 MSK
порядок действий такой: 1С соединяется с master, проверяет наличие требуемой базы и подключений к ней, затем соединяется с требуемой базой. у нас в odbc master заменен на postgres, 1С в нем тоже проверяет требуемую базу путем запроса представлений sysdatabases и sysprocesses. вопрос в том, как дать приложению требуемую информацию? от транслирования частных случаев запросов мы отказались в новом парсере. просто заменять имена полей и представлений мягко говоря не очень хорошо - для 1С возможно и сработает, но для других приложений - нет. template1 вообще лучше не трогать (шаблонная база). можно конечно сделать какую-то базу специально для сельты, но тогда появляются вопросы с ее поддержкой в разных версиях сельты... По итогам обсуждения будем делать отдельную базу master для сельты, чтобы хранить в ней системные представления mssql и коннектиться к ней вместо postgres. таким образом, базы postgres, template1 теперь затрагиваться не будут. добавил в gui при подключении проверку и создание базы master. только сейчас она инициализируется как и все другие базы, и отображается в списке баз. насколько это хорошо? Нормально. Напиши только текст не SELTA@Etersoft v.1.1.0, а например "master SELTA@Etersoft v.1.1.0". Так, наверное не влезет. Тогда может без Etersoft. И защиты, что бы на нее не действовали скрипты обновления для обычных баз SELTA. И в скриптах можно проверять select current_database();, что бы это не была бы master. И у master тоже самое. теперь перед отображением списка баз проверяется наличие базы master и выводится messagebox создать ли ее. не получилось отображать messagebox сразу после отображения окна "Инициализация БД" делаю защиту от обновлений (В ответ на comment #4) > И защиты, что бы на нее не действовали скрипты обновления для обычных баз > SELTA. > И в скриптах можно проверять select current_database();, что бы это не была бы > master. И у master тоже самое. Закоммитил изменения. Добавил в скрипты проверку на текущую базу, в gui сделал некоторые кнопки управления неактивными. Отображаемый статус - "master SELTA@ 1.1.0". Нужно посмотреть, как будет работать 1С база 1С сразу не загрузилась. Добавил измнения о статусе базы master в odbc, после этого заработало, 1С запустилась, расчетный период открыла. Закрываем баги, принятые более года назад, и до сих пор не закрытые. |