|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Собственно сабж. поискал по форуму, так ничего подходящего не нашёл :( А ситуация следующая: имеется сервер 1С предприятия 8.0 (не 8.1) и некоторое количество ИБ. Есть задача создания для данных ИБ единых справочников НСИ. Попутно - для ряда баз - еще и журнал документов одинаковый. Другими словами - есть 2 абсолютно одинаковых объекта типа "документ", один в ИБ "А", второй в ИБ "Б". в ИБ "Б" пользователи не имеют права добавлять/изменять данные и документы. В ИБ "А" - пользователи имеют такое право. Задача: сделать ИБ "А" источником данных, а ИБ "Б" - приёмником этих данных. То же самое - про справочники. Сейчас задача худо бедно решена средствами 1С. Но, не устраивает следующее: 1. Репликация данных не в реальном времени. 2. Нерационально. Сейчас добавление новых элементов в справочник базы - получателя идет при помощи мега процедуры обхода по метаданным (кстати - если кому надо - могу дать). Работает в принципе очень быстро и "полу-синхронизирует" любые боле-менее похожие справочники. "полу-синхронизирует", потому как фактически сей процедур производит быстрое добавление новых элементов справочника. Если де в ИБ "А" поменяли уже существующий - получается не совсем хорошо, т.к. не было придумано ничего более "гениального", чем поэлементное сравнение... :( Про регистры сведений и журнал документов - совсем плохо. Там только поэлементное сравнение. Итого - закралась мысль, для обеспечения "онлайновости" синхронизации - произвести трепанацию базы с тем, что бы средствами SQL производить синхронизацию отдельных справочников, регистров и документов. Самое печальное - возможно скоро потребуется онлайновая синхронизация различных ИБ с 3х разных серверов. Самое печальное - что синхронизация двураправленная, т.е. будет обмен изменениями... В принципе - для такого случая решение тоже как бы есть, но - оно опять же - быстротой не отличается, ну и COM соединения через VPN как то не хорошо себя ведут. Чего нельзя сказать про SQL DTS.... Кто что посоветует? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2007, 23:34 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
DNSokol Сейчас добавление новых элементов в справочник базы - получателя идет при помощи мега процедуры обхода по метаданным (кстати - если кому надо - могу дать). Работает в принципе очень быстро и "полу-синхронизирует" любые боле-менее похожие справочники. "полу-синхронизирует", потому как фактически сей процедур производит быстрое добавление новых элементов справочника. Если де в ИБ "А" поменяли уже существующий - получается не совсем хорошо, т.к. не было придумано ничего более "гениального", чем поэлементное сравнение... :( Про регистры сведений и журнал документов - совсем плохо. Там только поэлементное сравнение. Итого - закралась мысль, для обеспечения "онлайновости" синхронизации - произвести трепанацию базы с тем, что бы средствами SQL производить синхронизацию отдельных справочников, регистров и документов. Самое печальное - возможно скоро потребуется онлайновая синхронизация различных ИБ с 3х разных серверов. Самое печальное - что синхронизация двураправленная, т.е. будет обмен изменениями... В принципе - для такого случая решение тоже как бы есть, но - оно опять же - быстротой не отличается, ну и COM соединения через VPN как то не хорошо себя ведут. Чего нельзя сказать про SQL DTS.... Кто что посоветует? Почитайте что ли про планы обмена и конфигурацию Конвертация данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2007, 23:41 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Доброе время суток! Присоединяюсь к предыдущему посту - "Конвертация данных" однозначно рулит, обработку выгрузки - загрузки можно довести до полного автоматизма. При этом все изменения в базах данных сводятся к несложной процедуре обновления схемы обмена. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:07 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Читал и знаю. ИБ "Конвертация данных" - вообще не из этой оперы. Ровно как и планы обмена. Планы обмена работают с УРИБ. В моём же случае (как я описывал в первом посте) - базы разные (это не одна УПП, поставленная в нескольких местах, это именно то, что я сказал - разные базы), и, в этих базах есть одинаковые справочники (по структуре) и одинаковые документы (по структуре). Необходимо до всех жтих баз сделать единые справочники НСИ, и, для некоторых - единые наборы элементов объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:08 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
chatmПрисоединяюсь к предыдущему посту - "Конвертация данных" однозначно рулит, обработку выгрузки - загрузки можно довести до полного автоматизма. При этом все изменения в базах данных сводятся к несложной процедуре обновления схемы обмена. Да блин - есть такая конфигурация, настроена она. НЕ КАТИТ, ибо: 1. НЕ ОН-ЛАЙН 2. ТОРМОЗИТ (когда элементов больше 10.000) 3. Неимоверный объем траффика, т.к. происходит выгрузка практически всего справочника, или списка документов 4. конфигурации не типовые. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:11 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Уважаемый топикстартер видимо не в курсе, что конвертация данных может работать и с планами обмена... На ИТС была статья описывающая подобную реализцию ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:31 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
1. Что тогда такое ONLINE? Сразу после записи элемента в справочник должна происходить репликация или с какой-то периодичностью? 2. Да, при таких количествах тормозит. Но зачем столько таскать за один раз? Любая репликация при больших объемах будет тормозить, ИМХО 3. Это решается при настройке схемы обмена - зачем все выгружать? 4. Так для нетиповых как раз эта конфигурация идеально подходит. У нас через эту конфигурацию написаны правила обмена с веб сайтом, например. Вывод - внимательно RTFM ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:36 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Вопрос у топикстартера другой - как настроить репликации SQL, сервера так чтобы базы быстро обменивались информацией с возможностью внесения изменений в любом месте, так, чтобы отражалось потом во всех. Автору сочувствую. Я бы старался вначале применить административное решение, а то как-то плохо получиться, если ответственного за изменения нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:39 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
chatm1. Что тогда такое ONLINE? Сразу после записи элемента в справочник должна происходить репликация или с какой-то периодичностью? Да. Сразу после записи элемента, этот элемент реплицируется на остальные ИБ и страновится там доступным. chatm2. Да, при таких количествах тормозит. Но зачем столько таскать за один раз? Любая репликация при больших объемах будет тормозить, ИМХО Вот именно по этому и появилась задумка, решить всё на уровне сервера SQL. А зачем - например есть у нас торговая площадка РТС, которая генерит платежки по рынку по 1500-2000 штук. Суммы по 10-20 копеек. Необходимо всё, что загрузилось в трейдинг сразу "отреплицировать" на остальные ИБ. Трепанацию 7ки я проводил и такого рода репликацию делал. Всё просто летало. chatm3. Это решается при настройке схемы обмена - зачем все выгружать? см. п.2 chatm4. Так для нетиповых как раз эта конфигурация идеально подходит. У нас через эту конфигурацию написаны правила обмена с веб сайтом, например. Вывод - внимательно RTFM РТФМ скурил весь. в том числе и на ИТС. Имеющиеся решения не подходят ввиду тормознутости. Видел реально работающую систему на 1С 8.0 у ОГК-5. Там синхронизация НСИ выполнена средствами SQL. Т.е. такая задача (синхронизация средствами SQL) очень даже реальна. Вот и интересуюсь - как приступить к этому. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:50 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
LunxВопрос у топикстартера другой - как настроить репликации SQL, сервера так чтобы базы быстро обменивались информацией с возможностью внесения изменений в любом месте, так, чтобы отражалось потом во всех. Автору сочувствую. Я бы старался вначале применить административное решение, а то как-то плохо получиться, если ответственного за изменения нет. Именно!!!! Административный ресурс, к сожалению, исчерпан. А уровень ИТ департамента не на столько высокий, что бы давать указания всем департаментам - как работать.... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 10:51 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
А как планируется в сиквеле определять, когда объект сформирован, чтобы перетягивать только сформированный объект 1С, а не какую-то его запись? Вопрос автору - у нас стоит похожая задача, но с меньшими объёмами, на 7.7 - планируем использовать МОД, чтобы не сильно заморачиваться. Или оптимальнее будет DTS? Где на сей счёт можно почитать сравнение подходов и т.п.? (УРБД, МОД, DTS, ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 11:14 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
http://softpoint.ru/products_id4.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 11:25 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Френсис Дрейкhttp://softpoint.ru/products_id4.htm Вова или Илья? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 11:41 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 12:44 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
andycppА как планируется в сиквеле определять, когда объект сформирован, чтобы перетягивать только сформированный объект 1С, а не какую-то его запись? ну это как раз не сложно. На таблицы необходимые - триггеры повесить. Нужное имя таблицы тоже научился выковыривать из БД. andycppВопрос автору - у нас стоит похожая задача, но с меньшими объёмами, на 7.7 - планируем использовать МОД, чтобы не сильно заморачиваться. Или оптимальнее будет DTS? Где на сей счёт можно почитать сравнение подходов и т.п.? (УРБД, МОД, DTS, ...) честно говоря - х.з. Конечно, самый правильный метод - использование соотв. ИБ, либо COM соединения. НО - в нашей конкретной задаче не подходит. Решение о том, что DTS использовать конкретно у нас продиктовано тем, что есть уже ряд приложений, выдирание данных из которых на шину обмена происходит при помощи DTS. Ну и собственно - ради единообразия и облегчения администрирования - тоже на DTS решили. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 12:46 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Френсис Дрейкhttp://softpoint.ru/products_id4.htm интересно. будет посмотреть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 12:48 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Здесь можно посмотреть, по аналогии - правда 7.7+ 2005, но может поможет http://www.script-coding.info/Replication.html ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 13:37 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Хм, насколько я понял, автору надо настроить репликацию между РАЗНЫМИ БД а не между РАСПРЕДЕЛЕННЫМИ БД... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 14:27 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Задача решается 1. Создается репликация транзакций после этих действий в таблицы добавятся служебные колонки(SQL) исключаем их созданием аналогичных представлений? но без этих колонок и именно с этими представлениями будет работать 1C А sql С таблицами. Такое решение помнится когда то публиковалось и на softpoint. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 14:45 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Планы обмена работают с УРИБ. Ну и??? Вот если бы они работали ТОЛЬКО ИСКЛЮЧИТЕЛЬНО с уриб, я бы понял сомнения. В моём же случае (как я описывал в первом посте) - базы разные (это не одна УПП, поставленная в нескольких местах, это именно то, что я сказал - разные базы), и, в этих базах есть одинаковые справочники (по структуре) и одинаковые документы (по структуре). Необходимо до всех жтих баз сделать единые справочники НСИ, и, для некоторых - единые наборы элементов объектов. Легко делается даже без конвертации данных. Вариантов 2: 1. Объекты метаданных копипастятся во все конфигурации - быстро. 2. Создается своя поставка с этими объектами - надежно и красиво. Далее объекты сериализуются и десериализуются стандартными методами 1С. Максимум 16 часов на реализацию, максимум. Обмен данными идентичными объектами пишется за 1 час, обмен идет с поддержкой всех ссылок на уровне внутренних идентификаторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 16:47 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
gybsonЛегко делается даже без конвертации данных. Вариантов 2: 1. Объекты метаданных копипастятся во все конфигурации - быстро. 2. Создается своя поставка с этими объектами - надежно и красиво. Далее объекты сериализуются и десериализуются стандартными методами 1С. Максимум 16 часов на реализацию, максимум. Только в этом случае: 1. должен быть ответственных за проведение обновлений 2. Это XML => никакой онлайновости не будет. Да, планы обмена могут не только с УРИБ использоватьс, но - при использовании планов обмена нет мгновенных обновлений, потребность в которых есть в основной задаче. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2007, 09:43 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Не сочтите за бесплатный совет, но в постановке задачи не должны присутствовать технические термины, только термины предметной области. Это помогает обрести больше свободы в выборе средств. Документы надо переносить с движениями или без? Скорость синхронизации 10 раз в минуту достаточно? Все базы в пределах локалки или на разных площадках? Могу сделать за неделю и за ~500 долларов соединенных штатов америки. Занимался обменами 1С 8.0 долго и со вкусом, в том числе оптимизацией, борьбой с блокировками и прочим. Съел на них маленькую @. Serhiy_s собачка мэйл ру. В ветке есть предложения и дешевле. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2007, 09:52 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
2. Это XML => никакой онлайновости не будет. net.remoting тоже на xml базируется и что? Юзайте com + xml + планы обменов. Кстати, последняя версия торговли поддерживает именно такой обмен с бухгалтерией. Есть сериализация-десериализация, есть протоколы обмена - этого вполне достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2007, 11:28 |
|
Реинкорнация темы про SQL таблицы 1C
|
|||
---|---|---|---|
#18+
Здравствуйте! Код: plaintext 1. 2.
Если в вашем случае "скорость - это жизнь", то я бы порекомендовал перейти на 8.1, там есть замечательная функция ПолучитьСтруктуруХраненияБазыДанных, которая позволяет штатными срествами узнать таблицы и имена полей в SQL. На основе этой информации можно автоматически сгенерировать триггеры SQL-Server, которые и будут выполнять мгновенный обмен данными в режиме On-Line. PS. Конветация данных - полный отстой! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2007, 11:58 |
|
|
start [/forum/topic.php?fid=28&msg=34884476&tid=1525227]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 159ms |
0 / 0 |