1с при обновлении правил обмена данными возникли ошибки
Если организация использует несколько систем на базе 1С, то рано или поздно возникает вопрос о необходимости обмена данными между этими системами. В лучшем случае, об обмене подумали заранее, и его настройка совпала с внедрением одной из интегрируемых систем. Тогда вся необходимая НСИ переносится из уже наполненной данными системы в новую.
Но если по каким-то причинам, необходимо настроить обмен данными между системами, в каждой из которых уже есть данные, возникает необходимость сопоставления данных в этих системах при первом обмене. Если данные не будут корректно сопоставлены, велика вероятность появления дублей в одной из систем, или в обеих.
2. Подготовка данных перед настройкой обмена данными
Перед тем как приступить к настройке обмена данными и сопоставлению данных в интегрируемых системах необходимо выполнить анализ и исправление ошибок в объектах данных участвующих в обмене:
· удалить дубли в справочниках обеих систем, например, с помощью стандартной обработки поиска и замены дублей;
· заполнить при необходимости ключевые реквизиты, по которым будет выполнено сопоставление данных (например, для справочника «Контрагенты» ключевыми являются реквизиты ИНН и КПП).
3. Начальная выгрузка данных в 1С 8.3
При настройке любого типового обмена система предлагает выполнить этап первоначальной выгрузки данных в 1С 8.3.
Рис. 1 Начальная выгрузка данных в 1С 8.3
Начальная выгрузка данных подразумевает выгрузку всех объектов, участвующих в настраиваемом обмене данными в 1С 8.3. Тут нужно обратить внимание на некоторые моменты.
· Предполагаемый объем данных, участвующих в обмене. Например, если в обеих базах стотысячный справочник контрагентов, договоров, номенклатуры, то выгрузка и анализ данных в системе-корреспонденте будет выполняться очень долго. Возможно, есть смысл отказаться от первоначальной выгрузки данных (просто закрыть окно настройки обмена), регистрировать данные к обмену в 1С 8 самостоятельно, и частями отправлять данные в систему корреспондент, часть из них сопоставляя в ручном режиме, часть – в автоматическом;
· Какие НСИ участвующие в обмене, в какой из баз заполнены более корректно? Есть вероятность, что часть данных удобнее выгрузить к сопоставлению из одной системы, а часть из другой.
Если при первоначальной настройке обмена данными был выполнен отказ от начальной выгрузки данных, то впоследствии можно выгрузить все данные в программу-корреспондент, выбрав пункт меню «Выгрузка данных для сопоставления», указав нужную настройку обмена данными.
Рис. 2 1С 8.3 – Выгрузка данных для сопоставления
Система предложит выбрать вариант выгрузки данных, а после нажатия на кнопку «Далее» – зарегистрирует к обмену и выгрузит объекты всех типов данных участвующих в обмене.
Рис. 3 Окно 1С 8.3 Выгрузка данных для сопоставления
4. Сопоставление данных в 1С
Если был выбран метод сопоставления данных, предложенный системой по умолчанию – начальная выгрузка данных, либо при первом получении данных обменом (зависит от конфигурации и версии синхронизируемых систем), программа автоматически запускает режим сопоставления данных.
Если регистрация выгружаемых объектов выполняется самостоятельно или начальная выгрузка данных выполняется после завершения настройки обмена, для запуска сопоставления данных необходимо запустить синхронизацию нажатием на кнопку «Синхронизировать данные, задав дополнительные отборы»
Рис. 4 Запуск синхронизации с сопоставлением данных в 1С
При сопоставлении данных системой будет выполнен анализ полученных данных и для каждого полученного из другой системы объекта НСИ будет выполнен поиск соответствующего ему объекта в текущей системе. Данные будет сопоставлены по полям поиска, установленным в правилах обмена данными между 1С. Пользователю будет выведена таблица с результатом автоматического сопоставления данных.
Рис. 5 Окно сопоставления данных в 1С
Таблица результата сопоставления данных содержит следующие колонки:
· Данные, всего принято, шт. – в колонке отображается наименование типа данных и количество объектов полученных с обменом из программы корреспондента;
· В этой программе – выводится количество данных указанного типа в текущей программе;
· Осталось – количество объектов, которые не удалось сопоставить;
· % - процент сопоставленных данных указанного типа.
Двойной клик по строке таблицы сопоставления открывает окно сопоставления объектов определенного типа данных.
Рис. 6 Сопоставление данных конкретного типа при обмене данными в 1С 8.3
В этом окне необходимо указать системе, какое действие выполнить и в каждом конкретном случае: сопоставить существующий объект с одним из полученных или добавить новый объект.
По умолчанию список сопоставления открывается с отбором, в таблице отображаются только несопоставленные данные. Это те данные, которым не нашлось однозначного соответствия. Таких данных либо совсем нет в системе, либо по ключевым полям нашлось более одного объекта. По возможности желательно снять фильтр, отобразить результат автоматического сопоставления полностью, и оценить его корректность.
Кнопки формы позволяют установить соответствие объектов (Рис.7_, отменить соответствие, если оно было установлено некорректно, а также сопоставить объекты автоматически, изменив поля для сопоставления объектов данных по умолчанию (Рис. 8).
Рис. 7 Установка соответствия между объектами при обмене данными в 1С 8.3
Рис. 8 Изменение полей сопоставления объектов данных
Полученный результат сопоставления объектов данных необходимо записать. Когда все данные будут сопоставлены, можно завершить обмен данными в 1С 8. Сопоставленные и новые объекты будут записаны в систему. Заданное соответствие сохраняется в специализированных регистрах системы, и используется при последующих запусках обмена.
Перед тем как настраивать обмен данными в рабочих базах, желательно выполнить тестовую настройку, сопоставление данных в копиях интегрируемых систем. Нужно учитывать также, что после обмена данными в 1С 8.3 реквизиты сопоставленных объектов могут быть заменены соответствующими значениями из системы корреспондента.
Пример. Выполняется обмен данными 1С:Бухгалтерия предприятия (БП) и 1С:Зарплата и управление персоналом (ЗУП). В справочнике Организации БП есть элемент с наименованием «ООО Крон-ц». В справочнике Организации ЗУП есть элемент с наименованием «ООО Крон-Центр». Полями поиска при сопоставлении данных являются поля Наименование, ИНН. Выгружаем данные из ЗУП в БП. Допустим, ИНН совпадает, но так как наименование отличается, объекты не будут сопоставлены. Выполним ручное сопоставление объектов и завершим обмен данными. В результате наименование организации в БП будет обновлено из соответствующего поля в ЗУП и в обеих системах в качестве наименования организации будет установлено «ООО Крон-Центр». Следует отметить, что правила обмена могут быть написаны таким образом, что реквизит хотя и участвует в обмене, но заполняется в систему-корреспондент, только если там не заполнено соответствующее поле. Но это скорее исключение, чем правило. Наиболее часто встречающийся вариант – это обновление всех реквизитов при обмене.
5. Принцип работы механизма сопоставления данных 1С при обмене
Рассмотрим, как устроен механизм сопоставления данных в 1С с технической точки зрения. Для сопоставления объектов данных разных систем обычно используется регистр сведений, содержащий информацию о сопоставленных объектах. При обмене по технологии «Конвертация данных 2» эта информация записывается в регистр сведений «Соответствие объектов информационных баз». Если обмен использует технологию «Конвертация данных 3» (Универсальный формат обмена данными EnterpriseData), то для этих целей служит регистр сведений «Публичные идентификаторы синхронизируемых объектов».
Структура этих регистров схожа. Каждый из них содержит следующие ключевые реквизиты:
· Узел информационной базы – это узел плана обмена системы корреспондента, в разрезе которого хранится информация об объектах обмена;
· Ссылка на объект (Уникальный идентификатор приемника) – Ссылка на объект в текущей системе;
· Уникальный идентификатор (Уникальный идентификатор источника) – Уникальный идентификатор объекта(GUID) в системе корреспонденте.
Возможные варианты поиска:
· по уникальному идентификатору;
· по полям поиска;
· сначала по уникальному идентификатору, потом – по полям поиска.
Выбор варианта зависит от конкретного объекта обмена данными. Но чаще всего используется вариант «Сначала по уникальному идентификатору, потом по полям поиска», так как он в наибольшей степени защищает системы, участвующие в обмене, от появления дублей.
При поиске по уникальному идентификатору:
· выполняется анализ регистра сопоставления данных (Например, «Публичные идентификаторы информационных систем»);
· выполняется попытка получения объекта по уникальному идентификатору.
При поиске по полям выполняется анализ реквизитов объекта. Список реквизитов поиска задается в правилах обмена данными для каждого типа объектов. Причем в правилах может быть указано несколько вариантов поиска по полям. Например, для справочника «Контрагенты» может выполняться поиск сначала по «ИНН + КПП + Наименование», а затем, если не удалось найти соответствия, по «ИНН + Наименование».
Любая программа, установленная на компьютер, может время от времени работать неправильно. Периодические сбои, которые приводят к невозможности использования ПО, называются ошибки. Чтобы суметь диагностировать и устранять ошибки в 1С, пользователь должен хотя бы немного разбираться в особенностях работы программ. Наличие минимальных знаний позволяет решать проблемы самостоятельно.
Прежде чем рассматривать основные разновидности ошибок, стоит заметить, что они отличаются между собой по происхождению. Приложение может привести к физическому или логическому сбою. В результате 1С просто не запускается или начинает работать в режиме «Конфигуратор». Пользовательский режим бывает недоступен или, при использовании определенных команд, будет появляться сбой.
Чтобы научиться быстро исправлять ошибки в 1С необходимо изначально их проанализировать. Часто во всплывающем окне написана суть некорректного поведения, что помогает решить проблему.
Причины появления ошибки в 1С
Разберем основные моменты, связанные с частым появлением сбоев при работе с базой данных. Они возникают в разных ситуациях, и определить их истинную причину не всегда возможно.
Одна из самых частых причин нарушение работы связанна с компьютером, на который установлена база данных 1С. Рабочая область может автоматически закрываться из-за нехватки оперативной памяти на сервере. Все возникающие неисправности должны быстро устраняться. В противном случае есть вероятность потери данных.
Часто возникающие ошибки 1С
Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:
- Недостаточно памяти.
- Ошибка доступа.
- Ошибка формата потока.
- Ошибка СУБД: Файл базы данных поврежден.
- Неправильное отображение блоков формы.
- Внутренняя ошибка компоненты dbeng.
- Dump при запуске.
- Неверный формат хранилища.
- Ничего не работает.
Для того, чтобы научиться исправлять возникающие ошибки, рассмотрим каждый пункт по отдельности.
Недостаточно памяти
Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.
Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.
Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.
Ошибка доступа
Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.
Ошибка формата потока
Когда пользователь только запускает программу, на экране может появиться окно сбоя. Оно предлагает завершить работу или перезапустить. Причиной выступает некорректное завершение работы приложения.
Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:\Users\Username\AppData\Local\1C или C:\Users\Username\AppData\Roaming\1C. Для Windows ХР другой путь – Local Settings\Application Data\1C\. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.
Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.
Ошибка СУБД: Файл базы данных поврежден
Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:
- Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
- Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.
Неправильное отображение блоков формы
Такая неисправность возникает от разных факторов. Чтобы привести программу к нормальной работоспособности, пользователю необходимо последовательно выполнить несколько команд. После проведения каждой проверяется устранение сбоя:
Если приведенные методы не помогают, рационально будет провести обновление платформы.
Внутренняя ошибка компоненты dbeng
Dump при запуске
Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».
На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.
Неверный формат хранилища
Ничего не работает
Если программа перестала нормально работать без видимых причин, значит пользователю придется самостоятельно искать неисправность. Для восстановления работоспособности базы данных проводятся следующие мероприятия:
- чистится кэш;
- открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
- выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
- обновление «1С».
Если это не критичная ошибка, она должна исправляться при установке актуальной версии программного комплекса. В остальных ситуациях необходимо пользоваться помощью профессиональных мастеров, которые отлично понимают принцип подобных продуктов.
Привет всем. Такая ситуация. После очередного автоматического обновления БП-3.0(она в облаке) слетел обмен БП-3.0 - ут 11. Бп в событиях получения данных пишет - изменен номер версии формата обмена.И данные не приходят. Весь фокус в том что УТ - обновлена до последнего релиза. Дальше некуда. Пытался пересоздать настройку синхронизации - тот же результат. Самое непонятное что до упора обновленная УТ создает план обмена (синхронизация через универсальный формат) с версией формата обмена 1.1. Что может быть ? - у меня идеи кончились.
версии обмена, емнип, в каждой базе надо указать одинаковые, максимально возможные
(2) У Вас что-то получилось? Сейчас столкнулась с той же проблемой обмена УТ(ГРМ)-БП(Фреш)версии обмена 2.01
Оказалось дело в косяке 47 -го релиза БП-3.0 , сегодня ночью обновился на 48 - и обещают что будет норм. Но надо заново перенастроить обмен. Пока не делал.
Создал настройку обмена для 98 релиза БП(ошибся - не 48) теперь соообщения о измененении номера формата обмена нет,ошибок нет , предупреждений нет но обработано 0 объектов. Документы на регистрации есть.
При создании настройки синхронизации на стороне УТ (227 релиз) ставит номер формата обмена 1.10.
На стороне БП ничего не могу - она во фреше - все задраено
Там кажись есть механизм, что если в одной из сторон обновилась версия универсального формата, то обмен передает это на другую сторону. В БП установился формат 1.10, а в УТ максимальный 1.8, что не помешало обмену поставить версию обмена 1.10, отчего все сломалось.
Вероятно можно принудительно установить использовать версию 1.8 на обеих сторонах обмена, но не могу сейчас попробовать - нет доступа.
10) Непонятно - разве при настройке синхронизации базы не должны перетереть между собой по какому формату работать ?.
В принципе я могу в плане обмена УТ уже готовой синхронизации поставить формат 1.8. Но что делать с БП 3.0 - она во фреше - обработкой не изменить и интерактивно там тоже нет возможности. Только выгружать - менять и заливать обратно. Очень не хочется.
(11) Администрирование - Обслуживание - Корректировка данных - Групповое изменение реквизитов
не работает?
Напишите свой обмен. Хватит типовым, из коробки мля, уг пользоваться!
(11) Да увидел - там на стороне каждой базы 2 узла. Я так понимаю поставить 1.8 нужно в каждый ?
(17) можно и в каждую
но я еще не пробовал так исправлять - так что на свой страх и риск))) но по идее ничего сломаться не должно, если не взлетит, можно будет обратно 1.10 прописать
Поддержка говорит что 227 релиз торговли в принципе не дружит обменом с БП 3.0 98 релиза. Говорит делайте даунгрейд на 209 :)
а на 227 новые счет фактуры и УПД которых не было в 209. Офигительно феерично :)
(26) я канеш понимаю зуд по написанию своего велосипеда, когда типовой чото барахлит))) (особенно учитывая что одна из баз во фреше)
но в данной ситуации проблем вообще никаких нет - просто обмен чего-то решил обмениваться по версии формата 1.10, когда у него только формат 1.8 в наличии есть - надо ему просто сказать, чтобы он обменивался по старому формату и всё. Нет тут каких-то кардинальных проблем, чтобы решиться ваять свой обмен)
(29) Работает но только один раз. Опять устанавливается 1.10. При следующем запуске уже обмена нет. попробую поменять место
(30) в коде УТ один раз и в БП 2 раза (или наоборот) "закоментируй" расширением строки, содержащие "1.10", там их будет много, но нужны всего три.
Всем, добрый день! Удалось как-то решить проблему. Пытался подменить версии вормата в обоих базах и на 1.10 и на 1.3, ничего не помогает. Синхронизация проходит, а данные не прилетают в Бух не прилетают
Победил. Сначала очистил версии формата в обоих базах в обоих узлах. Далее по совету (31) закомментил с помощью расширения 2 строки в Бух и 1 строку в УТ с версией 1.10. После этого запустил обмен данные в бух попали, обратно выдало ошибку , что нет менеджера под версию 1.2. Оказалось в Бух автоматом поставилась на одном из узлов версия формата 1.2. Подменил ее на 1.3. и все заработало.
(37) молодец, помни, что "сгорела" вся регистрация изменений за то время, когда оно якобы работало. И документами это может не ограничиваться
(38) да это понятно, юзеров уже предупредил, чтобы не удивлялись)
Столкнулся с этой проблемой.
Подробности:
Не загружались данные из УТ в БП. Обмен проходил, но загружено 0.
Помогла установка патчей в обеих базах, удаление настроек синхронизации в обеих базах, и создание настроек синхронизации заново.
Патч УТ:
EF_00_00385576
Отсуствствует EnterpriseData 1.10
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.
Фредерик Брукс-младший
Рассмотрим пример существующей синхронизации данных в 1С с выявлением и исправлением нескольких видов ошибок. Синхронизация данных в программе может выполнятся как в ручном режиме (по кнопке «Синхронизировать» на форме где отображаются «Настройки синхронизации»), так и в автоматическом по заданному расписанию.
ВАЖНО! Рекомендуется проводить синхронизацию данных в 1С 8.3 не в рабочее время пользователей, так как синхронизация с большим объёмом данных может существенно замедлить быстродействие выполняемых операций в базе (формирование отчетов, проведение или запись документов и т.д.)
После выполнения синхронизации в ручном режиме программа сразу выдаст информацию о том, с какими результатами завершился процесс синхронизации данных в программе. (Рис. 1).
Рис. 1 Результата синхронизации данных в 1С 8.3
Чтобы отследить ошибку при автоматической синхронизации в журнале регистрации достаточно задать нужные отборы (Рис. 2). Подробную информацию о том, какие ошибки возникли при отправке и получении данных, можно посмотреть в журнале регистрации (Перейти в журнал регистрации).
Рис. 2 Ошибки при автоматической синхронизации
2. Предупреждение при синхронизации данных в 1С 8.3
Кроме отображения ошибок, журнал регистрации также отображает «предупреждения» при синхронизации. Отображаются они в журнале регистрации треугольником со вписанным в него восклицательным знаком (пиктограмма) и свидетельствуют о том, что синхронизация данных между базами произошла, но есть проблемные ситуации (не проведенные документы, незаполненные реквизиты, конфликты, непринятые по дате запрета).
Рис. 3 Настройки синхронизации данных
Здесь необходимо просто выполнить требования программы, чтобы избежать проблемной ситуации, например, заполнить реквизиты организации (Рис. 4).
Рис. 4 Заполнение реквизитов организации для корректной синхронизации в 1С
3. Ошибки синхронизации в 1С
Ошибки синхронизации в 1С можно разделить на два типа:
· связанные с данными, которые участвуют в обмене (документы, справочники);
· не связанные с данными – вызванные ошибками в релизах конфигурации 1С, обновлением платформы 1С:Предприятие или сбоем подключения к другой базе данных, которая участвует в синхронизации данных 1С.
При обновлении платформы часто возникает потребность в ручной регистрации стандартных библиотек через командую строку с правами администратора. Сбои подключения могут возникать из-за неправильного пути расположения каталога обмена или пути расположения базы данных, правами на чтение и запись в каталоге, также нужно учитывать правильность данных пользователя базы данных (логин и пароль, от которого будет происходить обмен), если используется прямое подключение к базам для синхронизации данных.
Читайте также: