|
|
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Есть предложение. Последние несколько лет занимался созданием фреймворка, подобного 1С. Как мне кажется получилось. На последних двух работах его применяю и вполне успешно. Примерно представляя себе как из метаданных 1С генерится структура в MSSQL, могу предложить свой движок такой генерации. Движок выполен средствами самого T-SQL. Представляет собой набор хранимых процедур, представляющих собой API для описания метаданных и генерации структуры, а также для ображения клиентского приложения к базе данных. Пример описания нового класса в системе выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. Каждая строка - это вызов хранимой процедуры с параметры для описания объекта метаданных Первая строка - декларация класса первый параметр - название класса второй параметр - родительский класс третий параметр - пользовательское наименование класса Вторая строка - декларация поля в классе первый параметр - название поля второй параметр - тип поля (как простой, так и объектный) третий параметр - пользовательское наименования поля четвертый параметр - перечень дополнительных атрибутов поля Третья строка - декларация подтаблицы класса (многострочной части) первый параметр - название подтаблицы второй параметр - пользовательское наименование подтаблицы Четвертая и пятая строки - декларация полей подтаблицы Шестая строка запускает механизм создания таблиц, вьюх, триггеров и процедур Скорость работы моих приложений говорит о том, что в использование данного механизма в 1С приведёт к революции в ERP системах. Скорость 1С вырастет на несколько порядков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 12:18 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickЕсть предложение. Примерно представляя себе как из метаданных 1С генерится структура в MSSQL, могу предложить свой движок такой генерации. Движок выполен средствами самого T-SQL. Представляет собой набор хранимых процедур, представляющих собой API для описания метаданных и генерации структуры, а также для ображения клиентского приложения к базе данных. А для генерации файлового варианта тоже sql ставить надо будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 12:43 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Для dbf я не предлагаю. Пусть там остаётся как есть. Хотя при желании тоже можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 12:45 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickСкорость работы моих приложений говорит о том, что в использование данного механизма в 1С приведёт к революции в ERP системах. Скорость 1С вырастет на несколько порядков.Приведите пожалуйста результаты тестов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 14:45 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Осмелюсь еще спросить для какой версии автор предлагает свой вариант? Ибо для 7.7 бесмысленно, она изначально расчитана на файловый вариант и SQL используется только как хранилище, а вот насчет 8-й версии есть сомнения в эффективности решения автора, потом у как в 8-й версии реализована трехзвенная архитектура и переносить всю логику на SQL сервер вряд ли имеет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 14:59 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Не знаю как сравнивать оба варианта, да и что собственно сравнивать? Но когда в одном месте моей системы логика отрабатывала 1 сек, то пользователи стали возмущаться, слишком долго ждать. Да и кнопку "Выполнить" пришлось блокировать от двойного щелчка, успевает дважды отработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 15:39 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Мне кажется есть небольшое недопонимание насчёт места моего движка в системе 1С. Логика в 1С пишется на встроенном языке, транслятор с встроенного языка используя метаданные переводит это на обращения к базе. Так вот эти обращения выполнены не очень эффективно. Потомучто, неверно смаппировны объекты на структуры. У меня маппирование идёт один к одному. Каждый объект это строка вьюшки. Вьюшка имеет триггер для изменения данных в таблицах, из которых она состоит. А точнее вьюшка состоит из таблиц всех классов, от которых идет наследование. Имеется ввиду своя таблица, таблица родителя, прародителя и т.д. Так вот, вместо имеющегося в 1С маппирования я предлагаю свой движок. А логику на T-SQL переносить не нужно, хотя в перспективе и это возможно и даже нужно. Поэтому и 1С 7.7 и 1С 8.0 одинаково могут использовать мой движок. Ограничение только на dbf, т.к. логика движка у меня зашита в T-SQL, но и тут есть выход. Эффективность в трехзвенке уже подтверждена на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 15:50 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickНе знаю как сравнивать оба варианта, да и что собственно сравнивать? Но когда в одном месте моей системы логика отрабатывала 1 сек, то пользователи стали возмущаться, слишком долго ждать. Да и кнопку "Выполнить" пришлось блокировать от двойного щелчка, успевает дважды отработать.То вы пишите что у вас быстрее на несколько порядков - то пишите что не знаете как сравнить. Определитесь или первое - но тогда откуда цифры, или второе - но тогда первое ложь. Приведите примеры логики в 1с и у вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 16:15 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
У меня быстрее на несколько порядков за счёт нескольких вещей: 1. Правильное (оптимальное) маппирование структуры 2. Логика в зависимости от эффективности либо на АппСервере либо в хранимых процедурах 3. Кеширование изменяемых данных до сохранения изменений Для 1С я предлагаю пока что только оптимальное маппирование, то есть извлечение данных объекта одним запросом для объекта и еще одним для каждой подтаблицы, так же сохранение данных тоже будет эффективнее. Один вызов на объект и по одному на каждую строку подтаблицыю. Какие для этого использовать конструкции SQL мой движок предложит сам. Плюс еще выигрыш можно получить если обрабатывать списки данных с помощью 1С++. Например, у меня документ представлен двумя вьюшками: 1. VDocument с полями документа, 1 запись, один объект 2. Многострочная часть документа VDocument_Things Написать в 1С++ запрос обрабатывающий эти данные значительно проще и эффективнее. Кто не пытался разобравшись в хранилище 1С создать вьюшки для упрощения работы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 16:25 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Пример кода метода в T-SQL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. OrCondition - класс Check - его метод @OID - идентификатор объекта, в ООП языках он скрыт и представлен в виде предопределенной переменной Self или This или Me Condition_Check - это виртуальный метод абстрактного класса Condition Пример кода в Сервере Приложений Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 16:46 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Как в твоем фреймворке реализовано разделение прав доступа? Есть ли RLS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 11:39 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old Nick3. Кеширование изменяемых данных до сохранения измененийА разве это не транзакция? А во вторых что делать при одновременном (почти) изменение данных разными пользователями? Скорость это хорошо - но она не везде нужна. Написал отчет остатки - 70% времени отчета уходит на один метод присоединить().... Давайте для примера - в 1с создайте справочник с 1 наименованием в количестве 1млн штук. И измените имя на любое другое у всех элементов. Будет интересно сравнить время... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 12:06 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Разделение прав реализовано двумя матрицами. Одна для объектов, вторая для классов Первая матрица Объект, Действие, Роль/Пользователь Вторая матрица Класс, Действие, Роль/Пользователь 1. По-умолчанию прав нет 2. Запретительных прав нет 3. Любой объект наследует права своего класса 4. Роли/Пользователи выстроены иерархически ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 12:38 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Программист 1С Нет, это не транзакция. Для какого-либо действия с объектом из базы выбираются данные в отсоединенный датасет. Эти данные меняются на клиенте или на сервере приложений. И до момента вызова сохранения не открываются никакие транзакции. Видел я варианты когда выбираются на форму данные с сервера, при этом рекордсет не отсоединяется, и сразу же открывается транзакция на сервере. Ужас!!! Для блокирования изменений одного объекта разными пользователями используется логическая блокировка. Да и надобность такая возникает крайне редко. Насчёт справочника с одним наименованием. Это вообще не показатель. EAV тоже в таком случае будет на высоте. Но чаще всего используются именно таблицы, где поля объекта в виде столбцов. Тут EAV также как и 1С пасует. А у меня с этим порядок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 12:48 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
А чем фреймворк отличается от "стандартной" подмены объектов 1С прямыми запросами 1С++ ? Клиентское приложение представляет собой самостоятельный -exe со своими формами и интерфейсом? Или это 1Сv7? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2008, 17:26 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Наверное тем, что все реляционные методы являются хранимыми процедурами, в которых объекты представлены в виде вьюх. Самостоятельный ехе с формами и сервер приложений, точнее три сервера приложений. Один локальный (просто dll, выполняющаяся в пространстве клиентского приложения). Второй основан на вебсервисах Третий Remoting Клиент в зависимости от настроек использует один из них либо самостоятельно переключается на любой из двух последних. Первый для отладки используем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2008, 18:41 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickНаверное тем, что все реляционные методы являются хранимыми процедурами, в которых объекты представлены в виде вьюх. Самостоятельный ехе с формами и сервер приложений, точнее три сервера приложений. Один локальный (просто dll, выполняющаяся в пространстве клиентского приложения). Второй основан на вебсервисах Третий Remoting Клиент в зависимости от настроек использует один из них либо самостоятельно переключается на любой из двух последних. Первый для отладки используем. Где можно взглянуть подробнее? Скриншоты? Привязка вручную к конкретной конфигурации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2008, 01:52 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Я так понимаю это продолжение http://dbobjects.narod.ru/ ? Какова совместимость с конфигурациями 1С? Скриншоты и что то более подробное чем на указанной странице есть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2008, 02:39 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Описания у меня нигде нет. Были попытки сделать сайт с рекламой, но забросил я это дело. Могу показать вживую на ноутбуке. 2 варианта: двухзвенка Delphi 7 и MSSQL и трехзвенка .NET и MSSQL Нахожусь в Петербурге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 11:14 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickОписания у меня нигде нет. Были попытки сделать сайт с рекламой, но забросил я это дело. Могу показать вживую на ноутбуке. 2 варианта: двухзвенка Delphi 7 и MSSQL и трехзвенка .NET и MSSQL Нахожусь в Петербурге. Еще остался вопрос совместимости с конфигурациями 1С. Я так понял - есть возможность соотнести таблицы - а видимо код модулей нужно писать вручную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 11:29 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Никакой совместимости нет. У меня иерархия классов отличается. Кроме того, насколько я знаю, в 1С нет наследования сущностей. Поправьте меня если я не прав. Хотя повторить набор классов какой-либо конфигурации 1С вполне можно будет, но код (методы) действительно придется писать вручную, но смысла в этом нет. На данный момент у меня есть складской движок. То есть складской учёт можно сделать. Смысл есть сделать компилятор в T-SQL не из моего языка, а из языка 1С, тогда можно будет получить структуру БД в ОО стиле и перевести любую конфигурацию 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 12:28 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickНикакой совместимости нет. У меня иерархия классов отличается. Кроме того, насколько я знаю, в 1С нет наследования сущностей. Поправьте меня если я не прав. Хотя повторить набор классов какой-либо конфигурации 1С вполне можно будет, но код (методы) действительно придется писать вручную, но смысла в этом нет. На данный момент у меня есть складской движок. То есть складской учёт можно сделать. Смысл есть сделать компилятор в T-SQL не из моего языка, а из языка 1С, тогда можно будет получить структуру БД в ОО стиле и перевести любую конфигурацию 1С. Если нет совместимости - тогда вообще не понимаю причем здесь 1С .... У Вас - самостоятельное решение для торговли. Даже если Ваше решение очень хорошее - альтернативных решений на рынке достаточно много, не менее нескольких десятков. К 1С они не имеют отношения (в технологическом плане) и программистам 1С неинтересны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 12:49 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Я предлагаю архитекторам 1С поменять движок. Для тех кто использует 1С для создания кофигураций ничего не изменится, они также и будут продолжать писать на языке 1С, зато компилироваться это будет в T-SQL и выполняться на стороне СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 13:16 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Я вобщем-то достучался до руководства 1С и сейчас пишу коммерческое предложение Нуралиеву Сергею. Если он одобрит, то в скором времени выйдет версия 1С 9.0 Так что продолжать дискуссию о полезности моего фреймворка здесь не имеет смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 13:19 |
|
||
|
Есть тут кто из архитекторов 1С (из самой фирмы) ?
|
|||
|---|---|---|---|
|
#18+
Old NickЯ вобщем-то достучался до руководства 1С и сейчас пишу коммерческое предложение Нуралиеву Сергею. Если он одобрит, то в скором времени выйдет версия 1С 9.0 Так что продолжать дискуссию о полезности моего фреймворка здесь не имеет смысла. Удачи ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 13:28 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=102&tid=1522152]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 370ms |

| 0 / 0 |
