| 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С запустилась, расчетный период открыла. Закрываем баги, принятые более года назад, и до сих пор не закрытые. |