Интеграция 1С 8 с 1С 77 #524589


#0 by ХочуСпец
Есть две базы (нетиповые) 1С 8 и 1С 77 Необходимо в определенный момент (при изменении справочников 1С 8) переносить их в 1С 77 в автоматическом режиме без участия пользователя. Базы находятся в одной локальной сети на MS SQL Server. Какими методами возможно воспользоваться в этом случае, причем без изменения базы 1С 77? Подойдут ли планы обмена? Если да, то как реализовать (хотя бы в общих словах)? Где об этом можно почитать? спасибо
#1 by Point
у меня робот работает. Из снеговика льет в 77 по ночам. А как лить? Это дело каждого, хчешь через файл, хочешь через com....
#2 by IKSparrow
Лей напрямую через COM - просто и удобно. А хочешь - через XML. А синхронизироваться можно по уникальному идентификатору 8-й базы - настраиваешь maping элементов одной базы по отношению к элементам другой.
#3 by ХочуСпец
хотелось по подробнее узнать как через XML
#4 by vkura
копай в сторону конфы "Конвертация данных"
#5 by vkura
но мне кажется лучше всего через COM
#6 by IKSparrow
Можно через конвертацию данных - сделай схемы и согласно им перебрасывайся данными. А можно свою выгрузку/загрузку написать - раскладываешь объект на составные части и пишешь в XML. Потом так же читаешь.
#7 by ХочуСпец
тоже склоняюсь через Com-соединение, но какие есть в этом методе подводные камни? как я понимаю Com-соединение работает только если базы находятся в одной локальной сети?
#8 by ХочуСпец
Допустим я создал файл выгрузки как 1С 77 подсказать, чтобы она прочитала этот файл?
#9 by IKSparrow
Универсальная загрузка XML, или что-то в этом роде. На ИТС надо смотреть.
#10 by IKSparrow
+ Но это при условии, что ты выгрузку создал либо КД либо через универсальную выгрузку. Если свой формат XML выгрузки - тогда и свою загрузку пиши.
#11 by PVV65
Когда требуется автоматический обмен, без регистрации изменений не обойтись, а значит, лучше всего - планы обмена. Выгрузка из 8 - вообще ничего писать не надо. Остается разобраться с загрузкой в 7. Для этого изучить методы работы с XML.
#12 by ХочуСпец
предположим что создал файл с помощью XML да для 77 есть некоторая обработка универсальная. Наз-ся она: "Загрузка данных", но это обработка внешняя. База 1С 77 нетиповая. а писать свою загрузку - тож не вариант, 1С 77 дорабатывать нельзя
#13 by КузьмаПруткофф
хранимыми процедурами скл сервера
#14 by ХочуСпец
если использовать механизм Com-соединения, возможно ли будет на 1С 8 писать напрмер запросы в базе 1С 77 ?
#15 by vkura
, можно
#16 by Azn
У меня льется через конвертацию данных. Если надо тольк справочники синхронизировать, то это наверное самый простой вариант
#17 by ХочуСпец
поясни пож как ты загружаешь данные XML автоматом? используешь стандартную обработку в 1С 77?
#18 by le_
COM, по-моему, лучший вариант. Переносить данные не обязательно сразу при записи нового элемента. Коды элементов можно где-нибудь сохранять и перенос осуществлять в определенное время. Обработка небольшая и несложная получится. Можно регламентное задание добавить. У меня не только справочники, но документы по COM из 7 в 8 бегают.
#19 by ХочуСпец
пока склоняюсь тоже к COM-соединению. со стороны 1С 77 изменять конфу нельзя и, как я правильно понял, для чтения XML файла (сформированного или с помощью правил обмена в КД или вручную) без этого не обойтись. Но у COM-соединения есть тож недостаток - базы должны нах-ся в одной локальной сети, а если обмениваться данными между городами например?
#20 by le_
Ну, для "между городами" только выгрузка / загрузка файлов. DBF, XML, TXT - что больше нравится.
#21 by Guk
+ на триггерах...
#22 by vkura
ты видимо плохо понял, правила обмена на то и правила обмена, чтобы конфу не менять.
#23 by vkura
между городами))
#24 by le_
SP под MSSQL тоже хороший вариант [для переноса справочников].
#25 by Guk
"Базы находятся в одной локальной сети на MS SQL Server"
#26 by Вуглускр1991
Глянь сюда, вдруг понравится.
#27 by Azn
Для загрузки данных использую обработку загрузки. Код обработки генерит сама КД, все что нужно сделать в 77, это подключить обработчик, чтобы автоматом запускать внешнюю обработку.
#28 by ХочуСпец
спс теперь становится понятнее как в 77 подключить обработчик из 1С 8 для автоматического запуска внешней обработки?
#29 by Azn
похоже что не становится :) Берешь КД, ставишь, в комплекте будут внешние обработки для того, чтобы в XML выгрузить структуру метаданных конф 77 и 8. Потом все это дело грузишь в КД, там настраиваешь правила обмена, для справочников это просто. КД тебе сохраняет правила обмена в XML файл, для 8 этого достаточно, для 77 есть внешняя обработка, для этой внешней обработки в текстовик генерится модуль, который надо заменить стандартный в обработке. А чтобы все работало автоматом в 77 надо в глобальном модуле добавить процедуру которая будет запускать обработку, а в процедуре ПриНачалеРаботыСистемы подключить обработку ожидания на эту процедуру. Изменения в итоге 77 минимальны
#30 by ХочуСпец
непонятно было только:
#31 by Koala
Com-соединение работает, только если базы можно загрузить в оперативную память одного и того же компутера. А подводный камень у него по сравнению с перегрузкой через файлы очень простой: ты не можешь контролировать процесс обмена, тебе доступен только результат. И если в базу-приемник после обмена записалось что-то не то, то при перегрузке через файлы ты можешь эти транспортные файлы просмотреть, и найти косяк не в пример проще.
#32 by Koala
ИМХО если перегрузки простенькие или есть время свободное на изучение - используй КД, или сам напиши обработки по XML. Не факт, что спеца получишь (...) , но уровень владения 1С точно прокачаешь. Если делать это влом, перегоняй через dbf, txt(csv), а то и через xls - это самый, кстати, наглядный способ перегрузки - любой пользователь (если надо, конечно) сможет посмотреть, что у тебя выгрузилось
#33 by ХочуСпец
с КД работал, но задача поставлена нетривиальная, алгоритмы соответсвия очень тяжелые, поэтому на правила на КД буду писать оч долго, если вообще напишу и плюс со стороны 1С 77 надо писать загрузку, т.е. изменять конфу, что не очень то и приветствуется. С com-соединении в этом проблем нет, немного правда семерку вспомнить надо. А что выгрузилось или нет реализую через справочник 1С 8. вот только не понял тебя: "Com-соединение работает, только если базы можно загрузить в оперативную память одного и того же компутера" а если базы на разных компьютерах в локальной сети например или находятся на SQL Server будут ли проблемы в этом?
#34 by Вуглускр1991
Ты зря ТАК надеешься на COM соединение. Соотвествие реквизитов объектов и справочников все-равно придется устанавливать. Если в КД - то в правилах конвертации, я в своих правилах, в МОДе тоже потому как нет такого готового софта, чтобы машина взяла фактуру в 8-ке и засунула в 77 и провела и ни о чем бы тебя не спросила. Икста! Это большой косяк всех разработчиков. Документ на буиаге один, понимают его все люди одинаково. Так какого ж!
#35 by strange2007
Может кто-то расскажет плюсы и минусы разных вариантов связи? А то "это лучше и точка". Пусть автор сам решает, что ему лучше.
#36 by Вуглускр1991
Какую бы ночнушку не одела ты....
#37 by strange2007
А вас, девушка, попрошу не беспокоиться. Особенно после ветки
#38 by Koala
"Com-соединение работает, только если базы можно загрузить в оперативную память одного и того же компутера" - чтоб это работало, тебе обе базы надо запустить не просто в одной локалке, а на одном и том же компьютере. А физически файлы баз могут быть где угодно. Даже в глобалке. Файловая база или скульная - безразлично: обмен идет средствами приложения (т.е. 1С), а не средствами сервера базы данных. Кстати, не советую перегружать данные средствами самого скуля (типа написать хранимку, и из одной таблички - в другую...) - запаришься с разбором структуры таблиц базы. И еще не факт, что в следующем релизе она не изменится. ИМХО это оправдано только при регулярных перегрузках ОЧЕНЬ больших баз (от сотен гигов), т.к. это самый быстрый способ.
#39 by Вуглускр1991
Это я кавычки в поставить забыл. А вообще идите и перечитайте ещё на 5 раз. Может что-то поймете. А то там все разжевано, да видно в голову всем все-равно не влазит.
#40 by strange2007
Если кавычки, тогда конечно пардон
#41 by strange2007
И что перечитывать? По ссылке? Там как раз есть дыры, заведомо способствующие провалу, так что... Почему? Потому что я не один год занимался этим вопросом и опробовал далеко не один вариант
#42 by Вуглускр1991
Все работает скоро год как. Развивается. Последнее что сделано - перенос ТЧ документа с реквизитами неопределенного типа. Все супер.
#43 by Вуглускр1991
(42+) Основная проблема возникает раз в месяц или реже, когда какой-нибудь юзер 1С с Excel-я или откуда-то ещё вставит в текстовое поле гадкий символ. Они умудряются даже симвллы с кодами 01 или 02 туда вманнячить. XML такое записать в файл никак не может.
#44 by strange2007
Кульно :) Да не, я про универсальный обмен. Именно такой, который можно продавать и внедрять в разных предприятиях. Т.е. он должен быть гибким, простым и дешевым. А частные разработки, думаю, у всех трудятся. Но это же не совсем то.
#45 by Вуглускр1991
Да КД и КД2 на простую тоже не похожа. Универсальность - там есть, но это означает, что отсутствие периодических реквизитов в 8-ке и регистров сведений в 7-ке решает сам пользователь в меру своего уменья и опыта. Я о том, что это и так и так на пользователе и не обойдешь. Гибкость - тут КД гибче будет. Мне как-то в своей разработке надо было поменять имя у справочника 8-шного "Пользователи" на "Пользователи7", это после внедрения БСП, а потом обратно, потому как придумал про табличные части справочника (контактная информация) - так мне процедура поиска и замены не понравилась.. Может месяца через 4 когда закончу, буду кликать, что вот  умею могу, сделаю.
#46 by strange2007
А я несколько вариантов перебирал. Оценивал по скорости работы, виду переноса. Пробовал разные схемы реализации. Надорвался на последней, завершающей, версии. Настроение будет закончу её. Например у КД имеются минусы в транспорте, и виде обмена. Т.е. там реализован только принцип шприца - за раз перенести все, что накопилось, что не всегда нормально. Вообще, там слишком много нюансов, например передача инфы через КОМ на порядок дольше, чем через промежуточное хранилище, а ОЛЕ примерно в 510 раз медленнее, чем через КОМ. И т.д. и т.п. Если будет интересно стучись в асю. А автору... тут ты прав, это совсем не нужно
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям