|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
в продолжение темы Собственная автоматизация svcoder Егоров Александр А в 1С есть структура БД? как ее посмотреть? такой популярный инструмент, как visio вытаскивает из базы 1С лишь набор абсолютно несвязанных таблиц. Никакой структуры. Может я где-то в конфигураторе упустил меню "структура БД"? Тоже вроде нету. Как может не нравиться то, чего не существует? В данном случае метаданные храняться в md-файле. То что вторичные ключи не сообщаются SQL Server и вы не видите связей с помощью универсальных инструментов не является проблемой. При желании можно написать обработку которая будет создавать эти связи по информации из метаданных. вторичных ключей нет в БД 1С. По крайней мере в 77 нет. Я не говорю, что проблема - посмотреть. Я говорю, что сервер БД только хранит таблицы 1С и ничего более. И даже за целостность данных в БД он отвечать не может. Все делается на клиенте. Поэтому структуры БД нет. И написать обработку можно только показывающую как клиентское приложение трактует взаимоотношение полей разных таблиц . Тоже самое можно сказать о любом наборе любых таблиц, даже экселевских. То, что у меня валяется в папке МоиДокументы 35 экселевских документов, имеющих внутренние связи - это БД? Она имеет структуру? svcoder Егоров Александр Потому что основные тормоза не в скорости доступа к данным, а в неоптимальной системе хранении данных в 1С и очень больших накладных расходах на "проведение" документов силами клиента. Раскройте тему о накладных расходах. Особенно если все стандартные блокировки 1С очищены и используется блокировка sp_getapplock. Отчет "Взаиморасчеты" у меня не использует регистры. Значит наличие регистра "взаиморасчеты", формирование движений по нему при проведении, пересчет его итогов каждое проведение и каждое открытие периода - лишние накладные расходы. Остатки товар по партиям я собираю быстрее, чем 1Ска по регистру остатков товаров - Наличие регистра "ОстаткиТоваров" - лишние накладные расходы. Блокировки в 1С - это следствие тормозной работы клиента, а не причина. Если выполнение ОбработкаПроведения() свести к милисекундам - табличные блокировки перестанут проявляться так сильно, что позволит вырасти количеству проводимых документов за единицу времени вообще не притрагиваясь к апгрейду железа и переносом всех активных пользователей в терминал. И не используя нештатные возможности платформы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 08:44 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
открой для себя 1С++ Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 09:08 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
ScareCrow открой для себя 1С++ Открыл уже давно. причем здесь 1С++? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 09:21 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
там парсер метаимен есть. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 09:25 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
>Поэтому структуры БД нет БД есть а структуры у нее нету ага.. а вообще про что топик? сначала показалось что про работу с базой. теперь вообще непонимаю Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 09:27 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
ScareCrow там парсер метаимен есть. я знаю... этим и пользуюсь при создании триггеров и процедур. В ПриНачалеРаботыСистемы сравнивается текущая версия md и последняя версия md, и при их разнице триггера и процедуры перекомпилируются... С испольщованием MetaDataWork и ODBCRecordset. При этом я получаю возможность обработки "проведения" документов непосредственно на сервере, не используя клиентский код 1С и не заставляя 1С загружать вагон данных с сервера, чтобы потом заново записать их обратно. ScareCrow >Поэтому структуры БД нет БД есть а структуры у нее нету ага.. а вообще про что топик? Еще раз - то, что у меня валяется в папке МоиДокументы 35 экселевских документов, имеющих внутренние связи - это БД? Она имеет структуру? Топик о том, что то, что в 1С (77) называется "структурой БД" - набор разрозненных таблиц. То, что в 1С использование встроенных элементов "ускорения обработки данных" и наличие клиентского кода в ОбработкаПроведения() - источник тормозов, а не ускорений. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:18 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
>что то, что в 1С (77) называется "структурой БД" - набор разрозненных >таблиц давайте определимся с понятиями. что для вас "структура БД"? Связка - foreign key -> primary key? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:24 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
ScareCrow >что то, что в 1С (77) называется "структурой БД" - набор разрозненных >таблиц давайте определимся с понятиями. что для вас "структура БД"? Связка - foreign key -> primary key? Угу. вообще constraints в целом, в том числе и foreign key\primary key. иначе как сервер БД может отвечать за целостность хранимых им данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:35 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
>иначе как сервер БД может отвечать за целостность хранимых им данных ясна. каша в голове. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:42 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
ScareCrow >иначе как сервер БД может отвечать за целостность хранимых им данных ясна. каша в голове. ясна. очередной любитель dbf :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:50 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
целостность бывает физическая и логическая. констрейнты все голи помогают поддерживать логическую целостность. никто не мешает сделать те же самые проверки на клиенте Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:53 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
>очередной любитель dbf переходим на личности? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 10:53 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
То что свази между таблицами не прописаны .. так они по сути и не нужны .. потому как логика построена не в SQL а в приложении. SQL это только кеширование и хранение таблиц. Слишком сложно будет реализовывать логику в SQL особенно с составными типами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 11:18 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
ScareCrow >очередной любитель dbf переходим на личности? Извиняюсь, погорячился. Разговор как раз и идет зачем поддерживать обработку данных и проверку целостности на клиенте, если под это уже есть все инструменты непосредственно в самом сервере БД. Особенно в сетевой ИС предприятия. Особенно на интерпретируемом клиенте. Сервер БД в этом случае забирает на себя все рутинные манипуляции с данными уже не только связанные с самим хранением данных во внутренних хранилищях сервера, но и обработку этих данных перед записью, по правилам, заданными в том числе и алгоритмами бизнес-логики. Трех-звенка придумана так же для хранения обработчиков бизнес-логики подальше от клиента и поближе к серверу БД. Сейчас сам сервер БД уже может являться полноценным сервером приложений. Зачем тягать данные между клиентом и сервером, если достаточно серверу один раз скормить логику обработки и потом только отдавать команды на уровне ПровестиДокумент ? Зачем клиенту задумываться об обеспечении логической целостности, если достаточно один раз скормить constraints на сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 11:28 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Ферзь То что свази между таблицами не прописаны .. так они по сути и не нужны .. потому как логика построена не в SQL а в приложении. SQL это только кеширование и хранение таблиц. Слишком сложно будет реализовывать логику в SQL особенно с составными типами. Зачем тогда хранить таблицы в SQL? Отдать побольше памяти под файловый кэш и оставить тот же dbf. Физическую целостность обеспечивает серверная ОС, логическую - клиент. необходимость сервера SQL в чем? Давайте пример. Какую логику (особенно с составными типами) сложнее реализовать на 1C, чем на SQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 11:37 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
пардон... конежно же "Какую логику (особенно с составными типами) сложнее реализовать на SQL, чем на 1C?" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 11:39 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Егоров Александрпардон... конежно же "Какую логику (особенно с составными типами) сложнее реализовать на SQL, чем на 1C?" Протрассируйте запрос к составным типам и увидите. Да логика на сервере .. замечательно. .... Как вы думаете интерпретатор запросов с 1с на SQL где находится? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 11:57 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Егоров Александр ScareCrow >иначе как сервер БД может отвечать за целостность хранимых им данных ясна. каша в голове. ясна. очередной любитель dbf :) А ведь это у Вас действительно каша в голове. Спор о необходимости использования ключей/констрейнтов в БД ERP-систем длится не одно десятилетие. На этом форуме пара десятков веток по данной тематике. Вам известно, что многие КРУПНЕЙШИЕ ERP (типа Oracle EBS) не используют связки foreign key\primary key? Их, наверное, идиоты писали из фирмы Oracle, большие любители dbf. Так вот, БД на основе dbf - самая настоящая база данных, если где-то (например, в одном из файлов) хранится словарь базы данных и перечень ключей и relations, описывающих ER-модель. И попробуйте доказать, что это не так ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 12:44 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Ферзь Протрассируйте запрос к составным типам и увидите. Да логика на сервере .. замечательно. .... Как вы думаете интерпретатор запросов с 1с на SQL где находится? В трейсы, в которых видно что 1С делает с SQL слабонервным лучше не смотреть :) Я имел ввиду логику которая у вас описана в ОбработкаПроведения() и который вы считаете трудно реализуемый на t-sql. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 12:50 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Егоров Александр Ферзь Протрассируйте запрос к составным типам и увидите. Да логика на сервере .. замечательно. .... Как вы думаете интерпретатор запросов с 1с на SQL где находится? В трейсы, в которых видно что 1С делает с SQL слабонервным лучше не смотреть :) Я имел ввиду логику которая у вас описана в ОбработкаПроведения() и который вы считаете трудно реализуемый на t-sql. Ответ в моем 2 вопросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 12:54 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Сисой А ведь это у Вас действительно каша в голове. Спор о необходимости использования ключей/констрейнтов в БД ERP-систем длится не одно десятилетие. На этом форуме пара десятков веток по данной тематике. Вам известно, что многие КРУПНЕЙШИЕ ERP (типа Oracle EBS) не используют связки foreign key\primary key? Их, наверное, идиоты писали из фирмы Oracle, большие любители dbf. Так вот, БД на основе dbf - самая настоящая база данных, если где-то (например, в одном из файлов) хранится словарь базы данных и перечень ключей и relations, описывающих ER-модель. И попробуйте доказать, что это не так Ну значит каша в голове не только у меня, но и у всех кто десятилетиями спорит о необходимости использвоания ключей/констрентов в БД, когда многоие КРУПНЕЙШИЕ ERP их не используют? :) Я знаю про эти споры и так до сих пор не понимаю зачем отказываться от этого инструмента. Только на основании того, что крупнейшие erp их не используют? Но ведь основная аргументация за отказ от проверки целостности на сервере БД - это... проверка целостности на сервере приложений, а необходимость сервера приложений - это... еще одна священная война "зачем нужны сервера приложений на современных серверах БД?". Как же тут не быть каше в голове? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 13:02 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
В случае 1с это более менее понятно, независимость от БД это плюс. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 13:12 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Егоров АлександрКак же тут не быть каше в голове? :) В случае 1С отказ от контроля ссылочной целостности по первичному ключу вызван повсеместным использованием ссылок по recid. Ключи используются только в необъктных таблицах (регистрах). Кроме того, используется ряд фокусов при организации распределенной БД. Например, при загрузке XML-файла с изменениями из одной БД в другую контроль целостности на уровне кода приложения ОТКЛЮЧАЕТСЯ (т.к. загружаемый объект может ссылаться на еще не загруженные в транзакции объекты). Это не есть гуд, но сделано именно так. Кроме того, ограничения, накладываемые кодом приложения 1С на объекты БД (например, документы), иногда довольно сложны, носят нереляционный характер и в терминах стандартного Т-SQL будут занимать не одну страницу кода триггера (в 1С используются встроенные методы объектов). А если учесть, что 1С уже поддерживает 4 СУБД (включая свою файл-серверную), то проблема генерации триггеров для объектно-ориентированных или объектно-подобных мультиплатформенных ИС вызывает священный ужас разработчика (особенно если учесть часто возникающую необходимость интеграции триггеров с подсистемами задач/сообщений). Плюс возможная несовместимость таких механизмов со следующими версиями СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 15:55 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
У 1С БД не в 3NF, можно ссылаться на оракл ебс (кстати, далеко не пример для подрожания) и хаять необходимость primary/foreign keys, но когда база падает или корёжится, вот тогда и начинают это понимать. Насколько я понимаю, разработчики в своё время на нормализацию забили, а потом уже недосуг было копаться в коде и выяснять, что и как связано, если "и так работает". Лень им было. Да и логика работы с таблицами, вероятно, таким кривым матом выстроилась, что СУБД просто запретил бы такие транзакции. Да и вообще - 1С = statutory/tax accounting reporting tool и ничего более. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 16:15 |
|
есть ли "структура БД" у 1С?
|
|||
---|---|---|---|
#18+
Ферзь Егоров Александр Ферзь Протрассируйте запрос к составным типам и увидите. Да логика на сервере .. замечательно. .... Как вы думаете интерпретатор запросов с 1с на SQL где находится? В трейсы, в которых видно что 1С делает с SQL слабонервным лучше не смотреть :) Я имел ввиду логику которая у вас описана в ОбработкаПроведения() и который вы считаете трудно реализуемый на t-sql. Ответ в моем 2 вопросе. Я извиняюсь, но то, что я увижу в трейсе - это уже не та бизнес-логика, которую вы писали в ОбработкеПроведения(), это то, во что ее превратил интерпретатор 1С. Интерпретатор запросов 1С не в состоянии определить логику вашего запроса. С точки зрения данных, что запрос 1С, что запрос SQL не несет никакой бизнес-логики, а только команды изменения данных. Как эти изменения отражают бизнес-логику вашего приложения знаете только вы. И описываете вы эту логику алгоритмом проведения. Вы предпочитаете описывать эти алгоритмы на языке 1С, я - на языке t-sql. Это никак не влияет ни на саму бизнес-логику проведения, ни на отражение проведения документа в бизнес-процессе. Это влияет только на скорость разработки приложения (от выбора инструментов разработки) и на скорость работы приложения (от выбранных инстурментов доступа к данным). Почему-то считается что качество инструментов достпа к данным, реализованных в платформе 1С позволяет сосредотачиваться только на бизнес-логике. На практике почему-то чаще всего программисты 1С заняты борьбой с тормозами и блокировками, в том числе и за счет переписывания готовой логики на всякие 1С++ и ToySQL, и ломанием этого правильного механизма доступа к данным ради отключения табличных блокировок и верификации... Не понятно это тогда... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2007, 16:27 |
|
|
start [/forum/topic.php?fid=28&msg=34934410&tid=1525183]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
147ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 257ms |
total: | 522ms |
0 / 0 |