1с обмен с sql онлайн
Механизмы обмена данными позволяют создавать территориально распределенные информационные системы обменивающиеся данным в офф-лайн режиме, без постоянного соединения. С помощью этих механизмов можно осуществлять интеграцию не только между различными информационными базами «1С:Предприятия 8», но и строить сложные гетерогенные информационные системы, включающие, наряду с решениями на платформе «1С:Предприятие 8», еще и внешние приложения.
- Механизм распределенных информационных баз предназначен для обмена данными только с идентичными конфигурациями «1С:Предприятия 8» и жестко регламентирует структуру создаваемой системы. Он является аналогом компоненты «Управление распределенными информационными базами», существующей в технологической платформе «1С:Предприятия 7.7», однако существенно превосходит этот механизм по гибкости настройки и разнообразию поддерживаемых схем обмена. Подробнее…
- Универсальный механизм обмена данными, напротив, позволяет создавать произвольные распределенные системы и практически не накладывает никаких ограничений на структуру создаваемой системы. Подробнее…
Оба эти механизма используют ряд средств технологической платформы, которые разработчик может применять как по отдельности, так и в различных комбинациях, в зависимости от конкретной решаемой задачи. Такой подход позволяет обеспечить гибкость механизмов обмена и их настраиваемость на решение как можно большего круга задач.
- Планы обмена — эти объекты конфигурации позволяют описывать перечень узлов распределенной информационной системы, с которой будет производиться обмен данными, и задавать состав данных, которые будут участвовать в обмене. Подробнее…
- Средства XML-сериализации служат для представления данных «1С:Предприятия 8» различных типов в виде последовательности данных XML, и наоборот. Подробнее…
- Средства чтения/записи XML-документов позволяют работать с данными формата XML на «базовом» уровне, без привязки к объектам «1С:Предприятия 8». Подробнее…
Гибкие возможности настройки позволяют сформировать практически любую топологию схемы узлов обмена (звезда, снежинка, схемы без центрального узла).
В этом материале подробная инструкция по настройке обмена РИБ для 1С:Предприятие 8 и проблемы, с которыми столкнулся автор.
1. Создание узлов
Создаем новые узлы (главный и подчиненный): в пользовательском режиме "Операции / Планы обмена/Полный"
Выберем план обмена "Полный"
Создаем две записи:
- первую запись назовем "ЦБ" (главный узел), код укажем "ЦБ",
- вторую запись назовем "Подчиненный узел", код укажем "ПУ".
Значек с зеленным кружком - "ЦБ" (главный узел)
2. Настройка префиксов
Для каждой базы, в настройках параметров учета (в УПП "Сервис / Параметры учета") на закладке "Обмен данными", устанавливаем префиксы. Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах.
Для автообмена, устанавливаем галочку "Использовать механизм автоматического обмена. "
Закладка "Обмен данными"
3. Добавляем настройку обмена данными между узлами
Открываем: "Сервис \Распределенная информационная база (РИБ)\Настроить узлы РИБ"
Нажимаем "Добавить", откроется окно "Настройка обмена данными"
Настройка обмена данными
Нажимаем на значок "Выполнить обмен по текущей настройке"
Выполнить обмен по текущей настройке
Теперь о "подводных камнях"
1. Обмен данными может выполняться в автоматическом режиме и может быть инициализирован в следующих случаях:
* При запуске программы. Обмен будет выполняться при запуске программы,
* При завершении работы с программой. Обмен будет выполняться перед завершением пользователем работы с программой,
* При появлении каталога. Обмен будет выполнен только в том случае, если каталог указанный пользователем был невиден, а в настоящий момент стал виден. Настройка может быть использована для выполнения автоматического обмена при подключении к локальной сети или flash карты. Программа периодически будет проверять видимость указанного в настройках каталога и отмечать его текущее состояние,
* При появлении файла. Рекомендуется использовать данные режим, когда нужно выполнить обмен, если появляется входящий файл обмена данными. В этом случае, достаточно указать полный путь к входящему файлу обмена данными. Программа периодически анализирует наличие файла, и как только он появится, будет выполнен обмен, а после обмена этот файл будет принудительно УДАЛЕН (это делается для того, что бы процедура обмена не выполнялась постоянно),
* Периодический обмен данными. Обмен будет выполняться согласно настройкам периодического обмена данными. Если информационная база работает в файл-серверном режиме, то периодический обмен выполняется только у пользователя, который указан в параметрах учетной политики как "Пользователь для регламентных заданий в файловом режиме". В Клиент-серверном варианте обмен выполняется на сервере 1C:Предприятия.
У меня Клиент-серверный вариант - для работы регламентного автообмена пришлось перегружать сервер
2. Кодировка Windows.
Обмен прерывался ошибкой - так как не происходит сжатие файла. Это из-за ошибки кириллицы в командной строке при сжатии.
Лечится исправлением кодировок в реестре.
Например, для Windows Server 2008 -
Код
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"
"1255"="c_1251.nls"
3. Создавая копию базы (например, для доработки) в клиент-серверном варианте, НЕОБХОДИМО, чтобы РЕГЛАМЕНТНЫЕ ЗАДАНИЯ КОПИИ базы были ВЫКЛЮЧЕНЫ.
Блокировка регламентных заданий для копии ВКЛ
Задача: организовать обмен данными между базами без использования промежуточных файлов и COM подключения к 1С приложению. Желательно использовать инструменты SQL.
Источники:
Обмениваться необходимо данными по сотрудникам организации из базы ЗиУП. При помощи обработки "Структура хранения БД" находим нужную нам таблицу SQL. После этого необходимо повесить на неё триггер, регистрирующий изменения и записывающий эти изменения в отдельную таблицу в отдельной базе. После этого при помощи Views отслеживаем и фильтруем необходимы изменения и записываем в базу.
Создание базы и таблицы.
Итак, приступим. Нам понадобится отдельная база.
В этой базе создадим таблицу:
Поясню некоторые поля таблицы. Поле "_ChangeType" предназначено для записи типа изменения ("inserted", "delited", "updated"). Поле "_Unload" показывает время изменения. Поле "_Load" используется для записи времени загрузки изменения (для разных баз можно использовать отдельное поле). Результат показан на рис. 1
Теперь можно повесить триггер, регистрирующий изменения таблицы "Сотрудники организаций"
Создание триггера SQL.
Я повесил Job такого содержания:
В соответствующей таблице должен появитьяс триггер, как показано на рис. 2
Результат работы триггера представлен на рисунке 3.
Создание Views
Далее создаем View таблицы "Сотрудники организации" с необходимыми нам полями (далее разбор на конкретном примере со своей нетиповой спецификой):
Создаём View для таблицы изменений (различные добавленные линейные водители):
Создаем View для таблицы изменений (различные обновленные линейные водители)
Таким образом, мы получили 3 Views (рис.4)
Данные View по изменениям сотрудников представлены на рис. 5
Регламентное задание
В базе, которая будет получать данные создаем регламентное задание, в общем модуле регламентного задания размещаем следующий код:
Функция ВернутьЗначениеИзМассиваБулево ( СомМассив )
Массив = Новый Массив ();
Массив = СомМассив . Выгрузить ();
Пометка = Массив . Получить ( 0 );
Если Пометка = 0 тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Функция ПреобразоватьДату ( ДатаПреобразования )
Возврат Дата ( Число ( Сред ( ДатаПреобразования , 7 , 4 ))- 2000 , Сред ( ДатаПреобразования , 4 , 2 ), Лев ( ДатаПреобразования , 2 ));
КонецФункции
//************Процедуры*************
Процедура ТМ_ЗагрузкаВодителейСКЛ () Экспорт
СтрокаКоннекта = "Provider=SQLOLEDB;Password=*****;Persist Security Info=True;User Catalog=ExchangeDB;Data Source=localhost" ;
Connection = Новый COMОбъект ( "ADODB.Connection" );
Command = Новый COMObject ( "ADODB.Command" );
RecordSet = Новый COMObject ( "ADODB.RecordSet" );
Connection . ConnectionString = СтрокаКоннекта ;
Connection . ConnectionTimeOut = 120 ;
Connection . CursorLocation = 3 ;
Connection . IsolationLevel = 4096 ;
ТЗ = Новый ТаблицаЗначений ;
ТЗ . Колонки . Добавить ( "Код" );
ТЗ . Колонки . Добавить ( "ПометкаУдаления" );
ТЗ . Колонки . Добавить ( "Наименование" );
ТЗ . Колонки . Добавить ( "ДатаПриема" );
ТЗ . Колонки . Добавить ( "ДатаУвольнения" );
ТЗ . Колонки . Добавить ( "НомерЛицензии" );
ТЗ . Колонки . Добавить ( "Гараж" );
Попытка
Connection . Open ();
Исключение
Возврат;
КонецПопытки;
//сначала загружаем новые элементы
Text = "select * from V_Distinct_Employee_ChangesLD_Inserted" ;
Command . ActiveConnection = Connection ;
Command . CommandTimeout = 120 ;
Command . CommandText = Text ;
Попытка
RecordSet . Open ( Command );
Исключение
Connection . Close ();
Возврат;
КонецПопытки;
Пока НЕ ( RecordSet . EOF ) Цикл
НоваяСтрока = ТЗ . Добавить ();
НоваяСтрока . Код = RecordSet . Fields ( "_Code" ). Value ();
ПометкаУдаления = ВернутьЗначениеИзМассиваБулево ( RecordSet . Fields ( "_Marked" ). Value ());
НоваяСтрока . ПометкаУдаления = ПометкаУдаления ;
НоваяСтрока . Наименование = RecordSet . Fields ( "_Description" ). Value ();
НоваяСтрока . ДатаПриема = ПреобразоватьДату ( RecordSet . Fields ( "HiringDate" ). Value ());
НоваяСтрока . ДатаУвольнения = ПреобразоватьДату ( RecordSet . Fields ( "TerminationDate" ). Value ());
НоваяСтрока . НомерЛицензии = RecordSet . Fields ( "DriverLicence" ). Value ();
НоваяСтрока . Гараж = Справочники . ТМ_Гаражи . НайтиПоНаименованию ( RecordSet . Fields ( "Garage" ). Value ());
RecordSet . MoveNext ();
КонецЦикла;
Recordset . Close ();
//записываем данные в базу
Для каждого стр из тз цикл
//ищем сотрудника
ВодительСсылка = Справочники . ТМ_Водители . НайтиПоКоду ( стр . Код );
Если ВодительСсылка = Справочники . ТМ_Водители . ПустаяСсылка () тогда
ВодительОбъект = Справочники . ТМ_Водители . СоздатьЭлемент ();
Иначе
ВодительОбъект = ВодительСсылка . ПолучитьОбъект ();
КонецЕсли;
ВодительОбъект . Код = стр . Код ;
ВодительОбъект . Наименование = стр . Наименование ;
ВодительОбъект . ПометкаУдаления = стр . ПометкаУдаления ;
ВодительОбъект . ДатаПриема = стр . ДатаПриема ;
ВодительОбъект . ДатаУвольнения = стр . ДатаУвольнения ;
ВодительОбъект . НомерУдостоверенияВодителя = стр . НомерЛицензии ;
ВодительОбъект . Гараж = стр . Гараж ;
Попытка
ВодительОбъект . Записать ();
//отмечаем загруженных
CommandText = "UPDATE _Employee_Changes Set _Load = GetDate() where _Code='" + стр . Код + "' and _Load is NULL" ;
Connection . Execute ( CommandText ,, 128 );
Исключение
Продолжить;
КонецПопытки;
КонецЦикла;
//теперь пишем обновленных
тз . Очистить ();
Text = "select * from V_Distinct_Employee_ChangesLD_Updated" ;
Command . CommandText = Text ;
Попытка
RecordSet . Open ( Command );
Исключение
Connection . Close ();
Возврат;
КонецПопытки;
Пока НЕ ( RecordSet . EOF ) Цикл
НоваяСтрока = ТЗ . Добавить ();
НоваяСтрока . Код = RecordSet . Fields ( "_Code" ). Value ();
ПометкаУдаления = ВернутьЗначениеИзМассиваБулево ( RecordSet . Fields ( "_Marked" ). Value ());
НоваяСтрока . ПометкаУдаления = ПометкаУдаления ;
НоваяСтрока . Наименование = RecordSet . Fields ( "_Description" ). Value ();
НоваяСтрока . ДатаПриема = ПреобразоватьДату ( RecordSet . Fields ( "HiringDate" ). Value ());
НоваяСтрока . ДатаУвольнения = ПреобразоватьДату ( RecordSet . Fields ( "TerminationDate" ). Value ());
НоваяСтрока . НомерЛицензии = RecordSet . Fields ( "DriverLicence" ). Value ();
НоваяСтрока . Гараж = Справочники . ТМ_Гаражи . НайтиПоНаименованию ( RecordSet . Fields ( "Garage" ). Value ());
RecordSet . MoveNext ();
КонецЦикла;
Recordset . Close ();
//записываем данные в базу
Для каждого стр из тз цикл
//ищем сотрудника
ВодительСсылка = Справочники . ТМ_Водители . НайтиПоКоду ( стр . Код );
Если ВодительСсылка = Справочники . ТМ_Водители . ПустаяСсылка () тогда
ВодительОбъект = Справочники . ТМ_Водители . СоздатьЭлемент ();
Иначе
ВодительОбъект = ВодительСсылка . ПолучитьОбъект ();
КонецЕсли;
ВодительОбъект . Код = стр . Код ;
ВодительОбъект . Наименование = стр . Наименование ;
ВодительОбъект . ПометкаУдаления = стр . ПометкаУдаления ;
ВодительОбъект . ДатаПриема = стр . ДатаПриема ;
ВодительОбъект . ДатаУвольнения = стр . ДатаУвольнения ;
ВодительОбъект . НомерУдостоверенияВодителя =?( ЗначениеЗаполнено ( ВодительОбъект . НомерУдостоверенияВодителя ), ВодительОбъект . НомерУдостоверенияВодителя , стр . НомерЛицензии );
ВодительОбъект . Гараж = стр . Гараж ;
Попытка
ВодительОбъект . Записать ();
//отмечаем загруженных
CommandText = "UPDATE _Employee_Changes Set _Load = GetDate() where _Code='" + стр . Код + "' and _Load is NULL" ;
Connection . Execute ( CommandText ,, 128 );
Исключение
Продолжить;
КонецПопытки;
КонецЦикла;
Connection . Close ();
КонецПроцедуры
//SQL загрузка
Гарантируем стабильный обмен без ошибок между программами 1С. Гарантии фиксируем в договоре.
Интеграция 1С с любыми системами: другими программами 1С, сайтом, банками, CRM, сторонними программами.
Перенос любых данных 1С. Готовые механизмы переносов. Один звонок и мы решаем вопрос.
Автоматизированные системы управления в большинстве случаев состоят из отдельных баз данных и зачастую имеют территориально распределенную структуру. При этом правильно реализованный обмен данными — необходимое условие для эффективной работы таких систем.
Первоначальная настройка обмена данными в 1С при этом может потребовать ряда действий, не только в части программирования, но и консалтинга, даже если мы имеем дело с однородными источниками, как в случае с продуктами на платформе «1С:Предприятие»
Почему настройка обмена 1С (или, как еще это называется - синхронизация данных в 1С 8.3) может стать самой трудоемкой и недешевой задачей проекта интеграции, рассмотрим в этой статье.
Обмен данными в среде 1С позволяет:
- Исключить двойной ввод документов;
- Автоматизировать смежные бизнес-процессы;
- Оптимизировать взаимодействие между распределенными подразделениями;
- Оперативно актуализировать данные для работы специалистов разных отделов;
- «Разграничить» разные виды учета.*
*В случае, когда данные одного вида учета существенно отличаются от другого, необходимо обеспечить конфиденциальность информации и «разграничить» информационные потоки. Например, обмен данными между 1С УТ и 1С Бухгалтерия не требует выгрузки в базу регламентного учета управленческих данных, т.е. синхронизация в 1С тут будет неполная.
Если представлять стандартный процесс реализации первичного обмена данными, когда хотя бы один из его объектов – продукт 1С, то можно выделить следующие этапы:
- Согласование состава обмена;
- Определение транспорта (протоколов обмена);
- Синхронизация;
- Установка правил;
- Составление расписания.
Выявление состава обмена 1С
Объекты обмена можно условно поделить на «источник» и «приемник». При этом они могут исполнять две роли одновременно, что будет называться – двусторонним обменом. Определение источника и приемника происходит логическим путем в зависимости от необходимости или от функциональных возможностей системы.*
*Например, при интеграции «WA: Финансист» – решения для ведения финансового учета и управления процессами казначейства, разработанного на базе «1С:Предприятие», эксперты WiseAdvice рекомендуют именно его в качестве мастер-системы. Это обусловлено наличием инструментов контроля для соблюдения правил заявочной политики, а соответственно, и для обеспечения эффективности работы решения.
Далее на основе полученных и зафиксированных требований со стороны пользователей создается список данных для обмена, определяется их объем, требования к частоте обмена, прописывается процесс работы с ошибками и обработки исключительных ситуаций (коллизий).
На этом же этапе в зависимости от парка имеющихся систем и структуры предприятия определяются с форматом обмена:
Распределенная информационная база
- РИБ подразумевает обмен между идентичными конфигурациями баз данных 1С, с четкой структурой управления «главный-подчиненный» для каждой пары обмена. Являясь элементом технологической платформы, РИБ помимо данных может передавать изменения в конфигурации и административную информацию БД (но только от главного к подчиненному).
Универсальный обмен данными в 1С
- Механизм, позволяющий настроить обмен баз 1С, как с конфигурациями на платформе «1С:Предприятие», так и интеграция 1С со сторонними сервисами. Обмен осуществляется посредством перевода данных в универсальный xml-формат в соответствии с «Планами обмена».
EnterpriseData
- Новейшая разработка фирмы 1С, предназначенная для реализации обмена данными в формате xml между продуктами, созданными на платформе «1С:Предприятие», с любыми системами автоматизации. Применение EnterpriseData упрощает доработки, связанные с обменом. Ранее при включении в систему новой конфигурации была необходима реализация механизма импорта и экспорта данных, как для нее, так и для уже имеющихся систем. Теперь системы, поддерживающие EnterpriseData, не нуждаются в доработках, имея только одну точку «входа-выхода».
Определение транспорта (протоколов обмена)
Для системы на платформе «1С:Предприятие 8» предусмотрен широкий спектр возможностей для организации обмена с любыми информационными ресурсами посредством общепринятых универсальных стандартов (xml, текстовые файлы, Excel, ADO-соединение и т.д.). Поэтому при определении транспорта для данных обмена следует отталкиваться от возможностей базы данных сторонней системы.
Синхронизация справочников
Основным принципом эффективной синхронизации справочников является наличие одной точки ввода. Но если речь идет о работе со справочниками, исторически заполнявшимися по разным правилам, необходимо четко определить поля синхронизации для приведения обмена к «общему знаменателю».*
*На этом этапе может потребоваться проведение работ по нормализации НСИ на стороне источника данных. В зависимости от состояния справочников и их объема, процесс сопоставления элементов, распознавания, выявления ошибок и дублей, а также заполнения недостающих полей и назначение полей синхронизации, может потребовать работы целой группы экспертов, как со стороны интегратора (владельца методики нормализации НСИ), так и со стороны заказчика.
Установка правил
Возможность отображения данных систем-источников в приемниках зависит от правильно заданных правил обмена. Правила, представленные в формате xml, регулируют соответствие ключевых реквизитов объектов источника-приемника. Решение «1С:Конвертация данных» предназначено для автоматизации создания правил для реализации как единоразового обмена, так и постоянного.
Гарантирует отсутствие потерь данных при обмене План обмена. Это составная часть любой конфигурации на платформе «1С:Предприятие», полностью описывающая порядок обмена 1С: состав данных (документы с «опознавательными» реквизитами) и узлы (информационные базы приемники-передатчики), а также активацию РИБ для избранных направлений обмена.
Расписание обмена в 1С
Для автоматизации регулярного обмена устанавливается периодичность выгрузки данных. Частота обмена зависит от необходимости и технических возможностей. Также конфигурации на платформе «1С:Предприятие» позволяют настроить обмен данными при наступлении какого-нибудь события.
Рассмотрев стандартный процесс реализации обмена, обратим внимание на факторы, которые потребуют доработок на разных этапах:
- Не типовые, сильно доработанные конфигурации БД;
- Разные версии платформы «1С:Предприятие»;
- Давно не обновлявшиеся, не актуальные версии конфигурации;
- Объекты обмена, ранее подвергшиеся доработкам;
- Необходимость в нестандартных правилах обмена;
- Сильно различающийся набор и состав реквизитов в имеющихся справочниках.
Поскольку даже стандартные действия по реализации первичного обмена данными требуют экспертных знаний, их рекомендуется проводить при участии специалистов 1С. Только после выполнения всех вышеописанных действий следует переходить к настройке обмена в конфигурации. Рассмотрим интеграцию баз данных на примере «1С:УПП» и «1С:Розница» (по этой же схеме настраивается обмен с «1С:УТ»). Также к типовой синхронизации относится обмен УПП - УПП, характерный для масштабных систем автоматизации на крупнейших промышленных предприятиях.
Настройка на стороне «УПП»
Рис.1 Настройка на стороне «УПП»
Рис.2 Настройка обмена данными
Чтобы решить эту проблему, необходимо выбрать «Настройку обмена данными»
Рис.3 Проставляем галочку
Рис.4 Создать обмен с «Розница»
В настройках синхронизации данных выбираем «Создать обмен с «Розница»…
Рис.5 Окно с предложением о синхронизации
Окно с предложением о синхронизации.
Рис.6 Создать необходимый каталог можно прямо из конфигуратора
Перед настройкой параметров подключения через локальный или сетевой каталог следует убедиться, что на диске под каталог есть место. Хотя, как правило, он не занимает более 30-50 Мб, в исключительных случаях под него может потребоваться до 600 Мб. Создать необходимый каталог можно прямо из конфигуратора.
Рис.7 Создаем каталог
Рис.8 Настройка параметров подключения
При подключении через сетевой каталог предложения настроить подключение посредством FTP-адреса и по электронной почте игнорируем, нажимая «Далее».
Рис.9 Настройка параметров синхронизации данных
В настройках вручную проставляем префиксы – условные обозначения баз (как правило, БП, УПП, РО), задаем правила и начальную дату выгрузки данных. Префикс будет указываться в названии документов, для обозначения базы, в которой они были созданы. Если правила выгрузки не будут отредактированы, данные по умолчанию будут выгружаться по всем имеющимся параметрам.
Рис.10 Сводная информация по итогу произведенных действий
Сводная информация по итогу произведенных действий.
Рис.11 Создаем файл настройки обмена для «Розницы»
Создаем файл настройки обмена для «Розницы», чтобы не повторять свои действия. При необходимости немедленной отправки данных сразу после настройки синхронизации – проставляем галочку.
Рис.12 Настраиваем расписание
Для автоматизации процесса обмена необходимо настроить расписание.
Обмен данными с 1С
Гарантируем обмен без ошибок между любыми системами 1С. Условия гарантии прописываем в договоре!
Перенос данных 1С
Переходите на новую программу 1С? Проведем бесплатный анализ и перенесем только необходимые данные
Настройка на стороне «Розница»
Рис.13 Настройка на стороне «Розница»
Рис.14 Выбираем «Синхронизацию»
Проставляем галочку и выбираем «Синхронизацию».
Рис.15 Производим «обратную» настройку
Производим «обратную» настройку, выбирая Управление производственным предприятием.
Рис.16 Обратная настройка С УПП
Рис.17 Загружаем файл с настройками
Загружаем файл с настройками, созданный в УПП.
Рис.18 Настройка подключения
Проставляем галочку, адрес система подхватывает автоматически.
Рис.19 Настройка параметров подключения
Рис.20 Настройка через почту
Действуем так же, как в УПП.
Рис.21 Создаем правила выгрузки
Создаем правила выгрузки.
Рис.22 Сводная информация по итогу произведенных действий
Сводная информация по итогу произведенных действий.
Рис.23 Анализ данных
Рис.24 Сопоставление данных
Рис.25 Сопоставление по видам оплаты
Проверочное сопоставление данных (Ручное сопоставление данных рекомендуется произвести на подготовительном этапе, поскольку эти работу могут стать самыми трудоемкими в процессе реализации обмена). Открытие окна сопоставления происходит по двойному щелчку мыши.
Рис.26 Выгрузка данных
Рис.27 Ошибки отсутствуют
В случае ошибки в синхронизации «Подробно…» будет заменено на «Никогда…».
Рис.28 Журнал регистрации
«Подробно…» открывает журнал регистрации с уточненной информацией по обмену.
Рис.29 Настройка завершена
В заключении хотелось бы добавить, что даже типовая синхронизация требует знаний и максимальной сосредоточенности. Если вы не уверены в своих силах, обращайтесь к нашим специалистам, который предоставляют широкий спектр услуг в части проектирования и настройки обменов и, помимо интеграции решений на платформе 1С:Предприятие, предоставляют услуги интеграции 1С с сайтом, а также любых других вендоров.
Повышение скорости работы 1С, отказоустойчивости системы.
Программные продукты фирмы 1С имеют два основных формата хранения базы данных: файловая база данных и база данных, размещенная на SQL Server средствами СУБД
В список поддерживаемых СУБД входят:
- Microsoft SQL Server
- PostgreSQL
- Oracle Database
- IBM Db2.
Файловые базы данных, как правило, используют небольшие компании с 1-5 пользователями, где нет большого объема документооборота, а также не произойдет быстрого роста объема базы данных.
Когда нужно переходить с файловой базы 1С на СУБД MS SQL?
Если конфигурация долго открывается и также долго открываются и проводятся документы, если периодически выскакивают ошибки «Нарушена целостность базы данных» или «Файл базы данных поврежден», файл ИБД *.1СD имеет объем более 5ГБ, планируется рост пользователей или в результате внедрения еще одной конфигурации 1С планируется достаточно быстрый рост объема данных, пора задуматься о вопросе, как перенести файловую базу 1С на SQL поскорее и узнать, что такое сервер 1С.
Рис.1 Формат хранения информационных баз 1С
Преимущества SQL
Если переход все же вызывает некоторые колебания, стоит учесть, что преимуществ у клиент-серверного варианта значительно больше, чем недостатков, а у файлового – наоборот.
При высокой отказоустойчивости и поддержке бесконечно большой базы данных SQL-сервер дает возможность одновременной работы большому числу пользователей. Конечно, наиболее мощные СУБД – MS SQL Server/Oracle стоят недешево, но бесплатный вариант PostgreSQL также широко используется в среде 1С. Да, SQL требует настройки сервера 1С и администрирования, но подобные услуги оказывает широкий круг компаний-франчайзи 1С, и конечно же – наша.
Работа с файловой базой плохо защищена, потому что доступ к копированию файла БД открыт любому пользователю, плохо масштабируется и начинает «тормозить», когда пользователей становится больше пяти из-за высокого уровня изоляции транзакций, а также имеет ограничения по размеру в 5-10 Гб. При этом отдельные функции конфигурации при таком варианте просто не работают (к примеру, регламентные задания).
Да, быстрая настройка, отсутствие дополнительного ПО и низкая цена – весьма привлекательные «черты» файловых БД, но выбор в их пользу может иметь место только при построении самой простой информационной системы.
Рис.2 Пример частой ошибки при работе с файловой базой объемом более 5Гб
Этапы перехода на внешнюю СУБД
Для переноса файловой базы 1С 8.3 на сервер SQL проделаем следующие шаги:
Шаг №1 Выгрузка ИБ
Откроем конфигуратор файловой версии базы 1С.
Рис.3 Список конфигураций 1С. Запуск конфигуратора
В конфигураторе выбираем пункт меню «Администрирование» и «Выгрузить информационную базу».
Рис. 4 Формирование файла выгрузки ИБД
Итогом процесса выгрузки будет файл *.dt.
Рис. 5 Файл Выгрузки ИБД
Шаг №2 Создание кластера
Для данного пункта запустим консоль управление сервером 1С.
Рис. 6 Ярлык консоли управления сервера 1С
Важно: Для работы сервера 1С обязательно требуется установка лицензии на сервер 1С.
Лицензия бывает 32х-разрядная и 64х-разрядная. Разрядность определяет количество ОЗУ доступное серверу 1С: у 32х до 4ГБ, а 64х более 4ГБ.
Для уточнения цен, подбора сервера для 1С с учетом плановых нагрузок и форматов обслуживания таких систем обратитесь к нашим специалистам. Мы с радостью подберем для вас подходящее решение.
В открывшемся приложении выберите «Кластер-Создать кластер», а если кластер уже создан, выберите существующий.
Рис. 7 Администрирование кластера 1С
Шаг №3 Создание базы данных в кластере
Следующим шагом в процессе миграции базы 1С будет создание новой конфигурации в кластере. Существует два возможных варианта создания базы 1С на сервере 1С:
- Через консоль администрирования кластера 1С;
- Через окно запуска 1С:Предприятие.
Создание информационной базы в кластере через консоль администрирования кластера 1С
Чтобы создать базу 1С в СУБД SQL, выбираем «Создание новой информационной базы» и заполнить обязательные поля:
- Имя – название вашей базы 1С;
- Сервер баз данных – указываем имя кластера 1С;
- База данных – название базы данных в вашей СУБД SQL;
- Пользователь сервера БД – логин от администратора СУБД SQL;
- Пароль сервера БД – пароль от администратора СУБД SQL.
Рис. 8 Создание новой ИБД SQL в кластере 1С
Далее добавляем эту ИБД в список 1С для последующего запуска конфигуратора 1С и загрузки ранее подготовленного файла выгрузки базы. После того как база в кластере создана, добавляем ее в список баз 1С. Для этого запускаем 1С:Предприятие и «Добавить…» базу 1С.
Рис.9 Запуск 1С:Предприятие
Далее выбираем «Добавление в список существующей информационной базы» и переходим «Далее».
Рис. 10 Меню выбора действий
После появления формы добавления базы 1С, заполняем последние строки в списке и переключаем режим работы на «На сервере 1С:Предприятие».
Рис. 11 Окно заполнения данных для подключения базы 1С
Запуск 1С:Предприятие и добавление конфигурации
Этот способ быстрее предыдущего и бывает полезен, когда, например, вы не установили у себя компоненту консоли управления при установке платформы. Чтобы им воспользоваться, запускаем 1С:Предприятие и в открывшемся окне приложения жмем кнопку «Добавить».
Рис. 12 Окно 1С:Предприятие
Далее выбираем «Создание информационной базы».
Рис.13 Создание информационной базы
После перехода в следующий пункт меню выбираем « Создание информационной базы без конфигурации для разработки новой конфигурации» или «Загрузки выгруженной ранее информационной базы».
Рис.14 Создание чистой конфигурации
Следующим шагом будет выбор пункта «На сервере 1С:Предприятие».
Рис.15 Создание на сервере 1С
Мы попадем в искомое нами окно заполнения полей для создания базы на сервере 1С.
Рис. 16 Создание ИБД на сервере SQL
Шаг №4 Завершение переноса
Перенос базы 1С на SQL-сервер
Поможем определить необходимость переноса базы 1С на SQL и подготовить инфраструктуру
Перенос данных 1С
Переходите на новую программу 1С? Проведем бесплатный анализ и перенесем только необходимые данные
Рис. 17 Запуск конфигуратора 1С
После запуска конфигуратора переходим в раздел «Администрирование» и выбираем пункт «Загрузить информационную базу».
Рис. 18 Загрузка информационной базы из файла
Далее выбираем ранее сохраненный файл выгрузки и начинаем непосредственно процесс загрузки базы на СУБД SQL.
Рис. 19 Завершение загрузки ИБД 1С
Готово! Ваша конфигурация успешно переведена из файлового режима на SQL-сервер.
Если повторная работа в конфигураторе не требуется, выбираем вариант «Нет» и запускаем базу в режиме «Предприятия» для проверки ее работоспособности.
Мы рассмотрели процесс миграции файловой базы на сервер 1С. Если в будущем вам потребуется перенос базы 1С SQL на другой сервер или у вас остались вопросы по этому переводу, обратитесь к нашим специалистам за консультацией, мы с радостью вам поможем.
Читайте также: