1С + MySql + MS SQL #502387


#0 by sr Stepa
Стоит задача создать базу данных 1С... Есть база данных на MySQL откуда надо брать постоянно меняющиеся данные, при этом не внося туда никаких данных и обмен надо реализовать на автоматический режим. Вторая база на платформе 1C, скорее всего MS SQL. При этом надо создать справочник в MS SQL который будет брать половину из MySQL, вторая часть будет вносится вручную. Отчеты надо получать смешанным вариантом... Реально ли такая реализация задачи? Если прилинковать MySQL, то будет ли работать запрос в 1С и как примерно он будет выглядеть?
#1 by Андрюха
вполне выполнимо
#2 by ДенисЧ
Если сможешь прилинковать (я не помню, можно ли мыскль приэто), то работать будет.
#3 by sr Stepa
Линкуются вроде без проблем (тут нашел Меня больше волнует как будут выглядеть справочники в 1С. К примеру есть в MySQL таблица код - id_own (char), наименование - own (char)... и т.д.  Если задать в конфигураторе справочник, получит ли он значения внесенные в MySQL&
#4 by Лефмихалыч
нахрена такие сложности? почему не написать обработку, которая через то же АДО будет перекидывать данные из MySQL в конфу?
#5 by Chuper_IT
два запроса один к sql другой к mysql через ADO я так делал..
#6 by sr Stepa
Сложностей много. Имеем справочник Юр.лиц в MySQL, который правит сторонняя организация по своему усмотрению. В 1С надо создать справочник этих же юр.лиц но более расширенный, т.е. добавлять своих, но чтоб они не попадали в первую базу. Другие таблицы динамические, меняются также, из них надо получать статистические данные. Перекидывать придется каждую минуту, потому как данные поступают с интервалом от 1 минуты до 1 часа, при этом не отключая ни одного пользователя.
#7 by sr Stepa
т.е. один запрос в sql к Mysql, а второй запрос из 1С в sql?
#8 by Chuper_IT
конечно. только в таком случае синхронизацию кури в 1С, и подумай на чьей стороне дубли контрагентов убивать будешь :) т.к. бухи даже в одной "папочке" троят контрагентов
#9 by Chuper_IT
стой. оба запроса из 1С делай, так проще имхо.
#10 by sr Stepa
В смысле? Как оба из 1С?
#11 by sr Stepa
Грабли в том что на этот справочник должны привязаться данный из mysql...
#12 by Chuper_IT
прямыми запросами. через ADO
#13 by Chuper_IT
хотябы так. запрос к базе mysql
#14 by sapphire
Ничего особенного
#15 by sr Stepa
К примеру со станции инмарсат с одного физика поступают данные в mysql каждый час, физиков более 1000, каждый отправляет данные во время, когда ему заблагорассудится. Надо допустим выбрать последнюю информацию поступившую от ряда физиков. Получается надо взять отбор по справочнику в 1С, и выбрать из mysql то что им принадлежит....
#16 by sapphire
Не лучше.
#17 by sr Stepa
При этом сотрудник не должен сидеть и запускать обработку чтоб провести обмен данными
#18 by Chuper_IT
мысли в слух? :)
#19 by sr Stepa
Ага. пытаюсь осмыслить этот глобализм.... %)
#20 by ДенисЧ
А если вьюшку создать?
#21 by sr Stepa
Хорошо, с запросами понятно, а как быть именно со справочником? Данные вносится будут напрямую в sql, а как справочник будет получать данные из mysql?
#22 by sr Stepa
Вьюшку чего?
#23 by el-gamberro
А зачем вьюшку?
#24 by el-gamberro
ОбработкаОжидания("ОбменДанными",60)
#25 by sr Stepa
В mysql у меня 107 таблиц, в sql будет пара десятков, связка нужна на все. Не говоря уж про математику которая должна идти в 1С на основании таблиц из обоих баз...
#26 by Chuper_IT
начал с двух справочников, закончил с полной синхронизацией двух баз. ппц :)
#27 by el-gamberro
и что дальше?
#28 by ado
Позвать программиста еще не предлагали?
#29 by sr Stepa
Не, синхронизация не нужна. Нужно из одной базы дополнять справочники другой базы, и в другой базе обрабатывать математику из двух баз.
#30 by sr Stepa
Программиста нет... и не будет.)) 1С знаю, а вот по sql знаний можно сказать ноль..
#31 by sr Stepa
Обработка ожидания - а если в этот момент кто-то работает со справочником? Или открыл его и чай пошел пить? В теории понимаю что реализовать можно, хочу путем наименьшего сопротивления.
#32 by Chuper_IT
что есть наименьшее сопротивление? mssql учить надо, mysql учить надо. а ты волнуешься кто куда кофе пошел пить :) сходи тоже попей.
#33 by el-gamberro
Вы там кем работаете? Админом со знанием 1с?
#34 by sr Stepa
Я скоро водку пойду пить от таких задач.:) Учить, учу потому и спрашиваю что и как.:)
#35 by sr Stepa
На 1С программирую, но вот со скулом не доводилось так плотно работать. Год назад реализовали базу с привязкой к аксесу, но меня воротит от этого. База за неполный год весит 1 гиг и производительности никакой.
#36 by FN
Что такого необходимо так оперативно обрабатывать в 1С? Может этот функционал должен делаться на Мускуле+веб (или чего там наворочено). А в 1С только периодически сливаться для отчетности? вообще задача не раскрыта
#37 by ДенисЧ
Не... Я бы точно вьюх на справочники насоздавал бы и работал с ними, если прям так ужи приспичило...
#38 by el-gamberro
Вообще если одбем в одну сторону правильнее все сделать на триггерах. Вот тока я не знаю есть в майскуле тригерра.
#39 by ado
Он не знает ни мускуля, ни веба. По-этому хочет всё в 1С затащить.
#40 by ado
Начиная с 5-го вроде есть.
#41 by sr Stepa
В 1С затащить не хочу, просто пока альтернативы не вижу...
#42 by sr Stepa
Грубо говоря надо графический интерфейс к mysql с функцией ведения своей базы на его основе... Плюс отчеты, статистика, и расчеты на основе двух баз.
#43 by sr Stepa
Попробую привести похожий пример: Есть организации, за ними закреплены машины, перевезенный груз, лимит на моторесурс это в mysql вносит одна организация, выдача путевых листов, проверка груза, проверка моторесурса, сравнительный отчет это все в чем то другом... просто на мой взгляд проще организовать удобный интерфейс в 1С чтоб оператор вносил данные в базу и на основе двух баз  анализировал все стекающие к нему данные.
#44 by ado
Все-таки фирма 1С страшное зло сотворила с российской ИТ индустрией ...
#45 by sr Stepa
К mysql доступ только для чтения, работать в нем нельзя... Можно только выдернуть данные...
#46 by ado
Ну, как читать из MySQL тебе в показали. Что еще нужно то?
#47 by sr Stepa
Как читать с этим вроде разобрался, не могу понять принцип создания справочника. К примеру создаем справочник лиц, поля дублируем один в один с mysql, создаем объект типа справочник, делаем из него запрос в mysql, получаем оттуда список лиц который пристыкуется к справочнику sql созданному пользователем в 1С.. Правильно?
#48 by ado
>> создаем объект типа справочник, делаем из него запрос в mysql, получаем оттуда список лиц который пристыкуется к справочнику sql созданному пользователем в 1С Ты точно 1С знаешь?
#49 by ado
Создаем обработку, которая будет тянуть данные из MySQL и заполнять твой справочник.
#50 by sr Stepa
Так вот о чем и речь... Я об этом еще в первых сообщениях написал...Справочник импортировать нельзя, потому как он может измениться в любую минуту. Задача номер один стоит - получить справочник юридических лиц из одной базы в другую, при этом дополнять справочник можно только в sql, в mysql вносить изменения нельзя. Реально ли организовать эту задачу подручными средствами?
#51 by ado
К базе MySQL совсем никакого доступа на запись и изменение структуры? Записи в ту базу только добавляются, или еще и обновляются активно?
#52 by sr Stepa
Да, именно так. Записи в базу вносятся круглосуточно, плюс правятся данные за прошлые периоды, она постоянно получается в движении.
#53 by ado
Можно, конечно, извращаться с запросами к двум базам, но, ИМХО, это не рационально. Лучше в одну из баз сливать все данные. Загрузку можно делать по таймеру, или при выполнении какого-либо действия. Самая проблема в том, что-бы в каждом запросе не тянуть все данные, а только измененные с последнего запроса.
#54 by ado
А как насчет возможности правки этой базы?
#55 by sr Stepa
Сливать все в одну базу можно только если в sql, потянет он?
#56 by sr Stepa
Править тоже нельзя, правят ее либо в Москве, либо в уполномоченных центрах, где делают заливку в нее.
#57 by ado
Он то потянет, но вот в свете проблема другая рисуется. Ты не сможешь отслеживать синхронизированные записи, и придется таскать всю базу каждый раз. А это ой ...
#58 by Terve-R-
тогда решить задачу от обратного - при изменении данных в MySQL этой же процедурой те же изменения будут отправляться в MSSQL, ну или во что-то промежуточное.
#59 by ado
Вот только проблема в том, что у него нет доступа к тем процедурам, которые изменяют данные в MySQL
#60 by Terve-R-
Такие вещи надо заранее предусматривать или исправлять существующие объекты ИБ где необходимо, а то выглядит, как будто надо подключиться к чужой базе...
#61 by sr Stepa
да уж... Хорошо, а если пойти путем импорта справочников, а к динамическим данным делать запросы? Если в обработке 1С прописать условия синхронизации, то в теории должно сработать...
#62 by ado
Похоже, оно не выглядит, а так и есть.
#63 by sr Stepa
Так и есть, к чужой базе. Первую базу ведет одна организация. Наша организация должна реализовать свою базу, которая на основе наших данных будет перепроверять первую базу. Потому и получается что справочники одинаковые, но исправляются другой организацией, а привязка нашей базы основана на их справочниках.
#64 by ado
Тааак, а справочники у тебя что, не динамические данные? Они что, не меняются?
#65 by sr Stepa
Таблицы со справочниками меняются не часто. А вот таблицы с данным меняются постоянно.
#66 by el-gamberro
А как коллизии собираешься решать? Неужели к майскулю не дадут доступ для настройки триггера?
#67 by el-gamberro
Представь что перегрузил справочник, в свой базе 1с кто-то поправил элемент справочника, а потом его поправили в майскуле и изменения в 1с перезатрутся.
#68 by sr Stepa
Не дадут, доступ жестко оговорен.
#69 by sr Stepa
А если запретить редактирование справочника в 1С и посадить специально обученного человека на внесение новых данных?
#70 by ado
Те элементы справочника, которые загрузили из мускула править в 1С не должны, читай внимательно ветку. Можно признак какой-нибудь сделать, загружен или введен, и, соответственно, разрешать/запрещать редактирование.
#71 by el-gamberro
#72 by sr Stepa
А если пойти другим путем.... Загружаем справочник из мускула, разрешаем его правку. При следующей загрузке просто проверяем каждую запись на соответствие и если есть изменения то не добавляем его а создаем отдельный список несоответствий. Все выявленные несоответствия заносим ручками в свой справочник... Правда в справочнике 16000 записей... %)
#73 by Terve-R-
это уже за гранью моего сознания %) ))
#74 by nejtron
Сделай по принципу классификатора банков и банковских счетов
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С