Не проходит синхронизация в 1с. Публикации

В этой статье я предлагаю поговорить на тему синхронизации данных. Из предыдущей статьи мы должны были понять, как настроить наш компьютер на волну 1С, как решить самые частые проблемы, которые у нас могут возникнуть в момент нашего диалога с компьютером. Но в этой статье пойдет речь о немного других вещах. Давайте подумаем – как же мы можем заставить работать мобильное приложение с нашей центральной базой?

Общие принципы

О чем же пойдет сегодня речь? А речь пойдет о том, как можно зарегистрировать изменения в одной базе и передать их в другую. Т.е. сегодня мы будем говорить о том, каким образом эти данные передать, и мы будем говорить о том, как их получить.

Ну тут сразу возникает как минимум две идеи:

  • Использовать планы обмена;
  • Использовать самописный вариант синхронизации;

Но я сразу добавлю еще и третий вариант – гибридный:

  • Использовать самописный вариант синхронизации, но данные регистрировать при помощи планов обмена.

Давайте условно дадим каждому из этих вариантов краткую характеристику и попробуем выяснить их положительные и отрицательные стороны.

Планы обмена

Те, кто использовал ранее распределенные базы данных, знает на сколько это круто и удобно, но увы, с мобильными технологиями – это не реально. И это не реально не по той причине, что эта технология попросту не доступна в мобильном решении, а по той причине, что она не нужна. Почему? Давайте попробуем разобраться.

Какие у нас есть плюсы в использовании РБД?

    Переносимость структуры конфигурации в узлы, т.е. если мы что-то изменили в конфигурации ЦБ, то оно перенесется в узлы, и конфа узлов соответствует конфе ЦБ;

    Готовый механизм регистрации объектов и передачи их дальше в узлы, т.е. достаточно подстроить новый или существующий план обмена;

  • Возможность создать первоначальный образ распределенного узла, с дальнейшим его разворачиванием в нужном месте;
  • Куча готовых внешних обработок по обслуживанию и исправлению косяков.

Какие минусы, при переносе этого всего в область мобильной платформы:

    Переносимость структуры конфигурации в узлы, так как конфигурации в итоге являются идентичными – то это нас не устраивает, у нас, к примеру, нет партионного учета, нам не нужны все реквизиты в мобильном приложении;

    Готовый механизм регистрации объектов и передачи их дальше в узлы, так как передача данных выполняется при помощи сериализации объектов, а это возможно, только при выполнении первого пункта, то для нас это без толку;

    Возможность создать первоначальный образ распределенного узла, с дальнейшим его разворачиванием в нужном месте. А это сделать на мобильник не так то и просто, так как база данных находится на рутованном разделе, то доступ получить к ней не тривиальная задача, а если просто кидать ее пользователю, то ему нужны админские права, что чревато последствиями, а бегать каждому и ставить отдельно – в чем тогда преимущество?

    Куча готовых внешних обработок по обслуживанию и исправлению косяков. Все хорошо, но на компе, на телефоне мы сможем их запустить в большинстве случаев, и это даже не столько из-за текущих ограничений платформы, а сколько из-за специфики работы с мобильным телефоном. Хотя их можно встроить.

Первые два пункта, которые являются самыми главными – абсолютно бесполезны в мобильной среде. Что, по большей части, сводит на нет все плюсы. Хотя, я не исключаю, что 1С-таки что-то придумает.

Но кроме РБД у нас еще есть и полные обмены, но у них тоже присутствуют эти критерии.

Универсальный обмен данными на основе КД

Вот тут уже становится все немного ближе, т.е. мы можем использовать КД (Конвертация данных) для настройки правил обмена между мобильной платформой и центральной базой данных, но тут есть одна проблема – ограничение мобильной платформы.

А именно – в мобильной платформе нет запросов. Это сводит на нет использование данного метода, ну если только кто-то не решит переписать эти обработки так, чтобы они работали без запросов.

Но, что если мы поступим другим образом, а если быть точнее, то так – у нас по любому есть конфигурация мобильной платформы, ну ведь логично, мы же и так на компе ее программируем, так давайте тогда сделаем все без лишнего мусора, а именно – ту конфигурацию задействуем в качестве промежуточной базы.

В итоге у нас выйдет следующая схема:

Давайте теперь посмотрим, что же происходит тут. Зелеными стрелочками я показал обмен данными, а красной – обмен конфигурацией. Т.е. логика проста – МП получает данные от ПБ, и от нее же получает конфигурацию. А ПБ обменивается данными с ЦБ.

В чем преимущество данной архитектуры:

  • У вас одна и та же база для мобильного приложения и для стационарного;
  • Вы гарантированно не даете возможность получить запрещенные данные из ЦБ в мобильное приложение. Тут надо понимать, что если в офисе еще можно сделать некоторые ограничения на доступ к данным, и даже в случае ошибки в конфигурации, из-за которой человек получит доступ к данным, то забрать с собой их – это уже будет сложнее. В случае с мобильной платформой – если он после синхронизации получил некие данные, то он может просто скопировать базу с этими данными себе на компьютер и работать дальше и что самое печальное – ничего нельзя будет потом сделать и никак это не отследить;

    Нет необходимости конфигурировать ЦБ для реализации обменов, так как при обмене между ЦБ и ПБ – вы можете использовать типовой обмен данными при помощи «Конвертации данных»;

    Так как у вас метаданные в МП и ПБ будут идентичными, то для обмена между МП и ПБ – вы можете использовать план обмена;

  • Вы не будете нагружать ЦБ лишними регламентами (о некоторых мы поговорим ниже);

Из недостатков:

  • Использование ПБ – это еще одно звено, а чем меньше звеньев, тем стабильней;

Здесь зеленными стрелочками я выделил обмен данными, а красными – обмен конфигурацией.

Что особенного происходит в данном случае? У нас есть центральная база, в которой настроены планы обмена (соответственно мы «гоняем» данные из приложения в ЦБ и обратно), но одновременно у нас есть отдельная база, в которой мы пишем конфигурацию для мобильных телефонов.

Таким образом, ЦБ не должна располагаться именно на платформе 8.3, она может располагаться на любой платформе, просто в планах обмена (ну или чем вы там выберете делать обмен) нужно учитывать особенности разных платформ.

Минусы такого подхода очевидны – необходимо постоянно переделывать конфигурацию, нужно создавать новые планы обменов и/или web-сервисы и т.д.

Кроме этого не стоит забывать, что база должна будет иметь выход в интернет, при чем как первая, так и вторая (та что с конфигурацией), если же вы используете вариант фиксированной конфигурации, скомпилированной до apk-файла, то правую часть из картинки можно выкинуть. Но придется добавить другую – это сервис обновления приложения на мобильной платформе. Про то, как это сделать – мы подумаем дальше.

Почему ЦБ должна иметь доступ в интернет, почему ЦБ на платформе 8.х? Все очень просто, самый удобный способ обмена – это обмен при помощи веб-сервисов. А они появились с 8.х и требуют выход базы в интернет.

Гибрид

Какой вариант обмена выбрать? Тут все зависит от поставленных целей, можно по идее выбрать и гибрид. К примеру, у вас есть справочник товара, контрагентов и прочего, из этого практически ничего и никогда не меняется, не обновляется. Но вот заказы – это динамическая информация.

Тогда можно просто в промежуточную базу выгрузить всю вот такую статическую информацию, и подтягивать ее на мобильное приложение, а вот заказы перегонять на прямую в ЦБ.

Таким образом, вы получаете ряд преимуществ:

    Вы не грузите центральную базу при обновлении справочников, например, при первой авторизации мобильного телефона или в случае, когда надо добавить еще какой-то новый реквизит.

    Также вы спокойно в промежуточную базу выгружаете штрихкода, цены и даже остатки можно, а с мобильника все это забирать.

    В ЦБ вы выгружаете только заказы, и как практика показывает после выгрузки их редактировать нельзя, т.е. с ЦБ, в лучшем случае вы можете получать только список статусов заказов, ну там принят, отклонен, собран и т.д.

Так как у вас практически все будет гоняться между ЦБ и ПБ при помощи КД, и только заказы будут самописные, то, когда, наконец то, в мобильной платформе появятся запросы – вы очень быстро сможете вообще избавиться от ПБ и все перенести полностью на мобильный телефон, при минимальном редактировании ЦБ.

Какой вариант синхронизации выбрать?

Ну а вот это уже достаточно сложный вопрос, тут каждый подходит в меру своих способностей, возможностей своих и задач клиентов.

К примеру, если вы выберете вариант самописного обмена, то вы должны понимать, что на любой чих клиента – вам придётся обновлять ЦБ, а если база работает 24/7? То я так думаю, что клиент вряд ли будет рад вашим обновлениям среди рабочего дня. Тогда вам подойдет второй или третий вариант.

А если у вас самописная конфигурация, то вы вряд ли почувствуете особое преимущество от использования планов обмена. Если конфигурация у вас базовая, то у вас и вариантов то немного. Поэтому каждый из вас должен выбирать путь сам.

Фирма «1С» уже давно объявила о завершении поддержки конфигурации «1С:Зарплата и управление персоналом 2.5». После перехода на новую версию ЗУП 3.1 пользователи столкнутся с новым механизмом обмена данными с программой «1С: Бухгалтерия 3.0». Этот механизм называется синхронизация. По сути программы начинают сами обмениваться данными между собой. На начальном этапе у пользователей возникает много проблем по настройке и отладке процесса синхронизации так как обмен происходит в автоматическом режиме. В связи с этим может возникнуть необходимость каким-то образом проконтролировать состав передаваемых данных как в одну, так и в другую сторону.

Для осуществления такого контроля достаточно настроить синхронизацию в режим обмена через передачу файлов. В этом случае файлы, выгружаемые из одной программы в другую, сначала попадают в указанную пользователем папку и только потом по команде из базы приемника загружаются в нее. Кстати, для базовых версий программ такой режим обмена является основным.

В результате у нас появляется возможность просмотреть состав выгружаемых данных. Сам файл с данными (xml) легко открывается любым интернет браузером, однако прочитать и понять его содержимое смогут далеко не все т.к. в нем присутствует масса технической информации. Для повышения наглядности была разработана специальная внешняя обработка, представленная в моей более ранней публикации ().

Теперь немного подробнее - что и как надо делать. Процесс настройки синхронизации на стороне «ЗИК 3.1» можно посмотреть на картинках. Переходим в настройку синхронизации:

Укажем способ настройки - вручную

Выберем другие каналы связи:

Укажем каталог выгрузки данных

Настройки (FTP и электронную почту) просто пропускаем.

По окончании настроек запускаем синхронизацию. Сама процедура настройки и синхронизации описана подробно на сайте ИТС.

Далее запускаем внешнюю обработку из публикации (),
выбираем файл переноса (в нашем случае Massage_ЗК_БП, нажимаем кнопку "Выполнить анализ файла" и получаем в наглядном виде состав передаваемых данных.

Раскроем, например, ветку дерева для справочника "Организации", здесь первые три реквизита, которые обозначены лупой - это поля синхронизации. Сначала программа будет искать в файле приемнике (в нашем случае в 1С:Бухгалтерии) запись справочника по универсальному идентификатору. Если не найдет - тогда по наименованию и ИНН организации. Если опять не найдет - тогда создаст новую запись. Если найдет - будет выполнена коррекция данных в базе-приемнике.

Можно также посмотреть состав документов, включая их табличные части. На картинке показана информация по документу "ОтражениеЗарплатыВБухучете". Здесь синхронизация идет сначала по Универсальному идентификатору, если не нашли, то по дате и номеру документа, если не нашли - будет создан новый документ.

Таким же образом анализируем данные, передаваемые из Бухгалтерии в ЗУП. Вот кратко и все.

Обмен данными между программой 1С ЗУП 8.3 и Бухгалтерией 8.3 необходим для отражения операций по расчетам с сотрудниками в бухгалтерском учете. Если вы ведете кадровый учет и рассчитываете зарплату в программе 1С ЗУП 8.3, то читайте здесь, как выгрузить данные из 1с ЗУП 8.3 в 1С Бухгалтерия 8.3.

При небольшом количестве сотрудников кадровый учет и расчет зарплаты можно вести в бухгалтерской программе 1С 8.3 Бухгалтерия. Но если у вашей организации появилась потребность в более масштабном и детальном учете зарплаты и кадров, то вам для этого потребуется дополнительная программа 1С 8.3 Зарплата и управление персоналом. Вести учет в двух программах не очень удобно, но 1С решил эту проблему. Теперь обмен данными между базами 1С 8.3 из ЗУП 3.1 в Бухгалтерию 3.0 происходит автоматически. Но для этого надо настроить синхронизацию 1С 8.3 Бухгалтерия и ЗУП. Как это сделать самостоятельно, не привлекая технических специалистов, читайте в этой статье. Как в несколько шагов настроить обмен данными между базами 1С 8.3 из ЗУП 3.1 в бухгалтерию 3.0 смотрите далее.

Шаг 1. Настройте синхронизацию в 1С ЗУП 3.1

Зайдите в 1С ЗУП 8.3 в раздел «Администрирование» (1) и кликните на ссылку «Синхронизация данных» (2). Откроется окно для настройки обмена.

В открывшемся окне поставьте галочку напротив надписи «Синхронизация данных» (3) и кликните на ссылку «Настройки синхронизации данных» (4). Откроется окно настроек.

В открывшемся окне нажмите кнопку «Настроить синхронизацию данных» (5) и кликните на ссылку «Бухгалтерия предприятия, редакция 3…» (6). Откроется окно для продолжения настройки.

В новом окне выберете «Указать настройки вручную» (7) и нажмите кнопку «Далее» (8). Откроется окно для заполнения параметров обмена.

В открывшемся окне вам необходимо указать некоторые системные параметры обмена. Сначала нужно выбрать вариант подключения в другой программе. В нашем примере это «Прямое подключение к программе на этом компьютере…» (9). Этот способ применяют, если программа 1С 8.3 Бухгалтерия находится на одном компьютере или в одной локальной сети с 1С 8.3 ЗУП. Далее надо указать параметры подключения в другой программе. В нашем примере возможны два варианта:

  1. На данном компьютере или на компьютере в локальной сети
  2. На сервере 1С:Предприятия

В нашем примере мы выбираем второй вариант (10) и заполняем поля «Кластер серверов» (11) и «Имя информационной базы» (12). Где взять данные для этих полей читайте в следующем шаге (Шаг 2).

Далее выберете «Аутентификация 1С:Предприятия» (13) и введите пользователя (14) и пароль (15), которые используете для входа в 1С 8.3 Бухгалтерия. Данные введены, теперь проверьте подключение, нажав на кнопку «Проверить…» (16). Если проверка пройдет успешно, то через некоторое время появится сообщение «Проверка подключения успешно завершена». Если что-то пойдет не так, то вы увидите сообщение об ошибке с кратким описанием проблемы.

В следующем шаге мы расскажем, где взять данные по кластеру серверов и имени базы данных, а в третьем шаге вернемся к настройке синхронизации.

Шаг 2. Где в 1С 8.3 взять данные по кластеру и имени информационной базы

При входе в 1С вы видите меню запуска. В этом меню кликните один раз мышкой на базу, с которой настраиваете синхронизацию, на 1С 8.3 Бухгалтерия (1). Далее нажмите кнопку «Изменить» (2). Откроется окно редактирования базы.

В этом окне вы видите данные по кластеру серверов (3) и имени информационной базы (4).

Теперь снова вернемся к настройке синхронизации.

Шаг 3. Продолжите настройку синхронизации в 1С ЗУП 3.1

В первом шаге мы остановились на проверке подключения. Если все прошло успешно, нажмите кнопку «Далее» (1). Откроется окно для дальнейшей настройки синхронизации.

В новом окне вы видите правила (2) по выгрузке данных из 1С ЗУП в 1С Бухгалтерия. Для изменения этих настроек кликните на ссылку «Изменить» (3). Откроется настройка правил обмена.

В этом окне можно указать дату начала обмена (4), выбрать организации для обмена (5). Также вы можете выбрать способ формирования проводок в 1С 8.3 Бухгалтерия:

  • «с детализацией по сотрудникам» (6);
  • «сводно по сотрудникам» (7).

Для сохранения настроек нажмите кнопку «Записать и закрыть» (8). Для перехода к следующей настройке нажмите «Далее» (9). Откроется окно для дальнейшей настройки.

В этом окне вы видите правила (10) по выгрузке данных из 1С Бухгалтерия в 1С ЗУП. При необходимости вы можете их изменить по аналогии с предыдущей настройкой, кликнув на ссылку «Изменить» (11). Для продолжения нажмите кнопку «Далее» (12). Откроется окно с обобщающей информацией по настройке синхронизации.

Если ошибок нет, то откроется окно с сообщением об успешной синхронизации данных (15). Программа по умолчанию предложит провести синхронизацию (16). Для этого нажмите кнопку «Далее» (17). Откроется окно с информацией по сопоставлению данных.

В новом окне видны справочники, по которым есть несинхронизированные данные (18). Поскольку вы с указанной в настройке даты будете синхронизировать информацию двух разных информационных баз – 1С ЗУП и 1С Бухгалтерия, необходимо чтобы определенные справочники в обеих базах имели одинаковые значения. К таким справочникам относятся, например, «Физические лица», «Организации», «Способы отражения зарплаты в учете». В этом окне вы видите справочники (18), по которым данные не совпадают. Программа автоматически создаст недостающие элементы справочников в обеих базах. Для этого нажмите кнопку «Далее» (19). Откроется следующее окно для синхронизации данных.

В открывшемся окне программа информирует о составе данных, которые будут отправлены. Для просмотра отчета, в котором виден список этих данных, кликните на ссылку «Отчет о составе…» (20). Для завершения обмена нажмите «Далее» (21). Запустится процедура обмена, она займет некоторое время.

После завершения обмена данными откроется окно с сообщением о завершении синхронизации (22). В этом окне вы можете настроить так называемое «расписание обмена», т.е. временные правила, по которым автоматически будет проходить обмен данными между двумя базами. Для настройки этих правил нажмите кнопку «Настроить» (23). Откроется сценарий синхронизации данных.

В окне сценария кликните на пиктограмму «Настроить расписание регламентного задания» (24). Откроется настройка расписания обмена.

В этой настройке вы можете на свое усмотрение установить, через какой временной интервал программы должны обмениваться данными. Например, в поле «Повторять через» (25) вы можете установить количество секунд, через которые будет повторяться обмен. Для сохранения настройки нажмите «ОК» (26).

Вы успешно настроили синхронизацию между базами и начали обмен данными. Изменять настройки обмена и контролировать процесс синхронизации вы можете в окне «Синхронизация данных». Зайти в него можно через раздел «Администрирование» (27) кликнув на ссылку «Синхронизация данных» (28).

Настройка сайта

Настройки модуля интеграции с 1С доступны на странице модулей:

Для настройки интеграции с 1С необходимо указать следующие параметры:

  • Размер единовременно загружаемой части файла (в байтах) - рекомендуется указывать не менее 1024000 байтов.
  • IP адрес сервера можно оставить по умолчанию.
  • Для использования пароля нужно проставить галочку и указать логин и пароль, далее для использования логина и пароля нужно будет указать в 1С на странице настройке подключения.
  • Указать нужно ли создавать резервную копию базы данных.
  • Для обмена заказами нужно указать статусы заказов, которые будут отправляться в 1С.
  • Если вы хотите чтобы система автоматически создавала и присваивала бренди товарам вам нужно указать свойство которое будет записываться как бренд.
  • Указать статус заказов которые импортированы в 1С. Например, "В обработке"
  • Если вы хотите, чтобы при импорте каталога автоматически запускался ресайз изображений, то нужно поставить соответствующую галочку.
  • Режим отладки для запущенных проектов включать не рекомендуется. Он предназначен для тестирования работы синхронизации.
  • Вписать адрес администратора для отправки ему сообщений ошибках синхронизации.

Настройка 1С 7.х для установления соединения с сайтом

Настройка соединения

1.Запускаем 1С, на вкладке Сервер выбираем опцию “Обмен данными с WEB-сайтом” далее “Настроить обмен данными с WEB-сайтом”.

2. В появившемся окне создаем новую настройку обмена с WEB-сайтом.

3. После этого переходим непосредственно к настройке соединения с сайтом. Выбираем тип данных, с которыми будет происходить обмен с сайтом (товары и заказы), и тип обмена данными (для того чтобы данные выгрузились на сайт выбираем “Выгрузка на сайт”, если выбрать “Выгрузка в каталог”, то данные загрузятся в заданный каталог). Для выгрузки данных на сайт нужно задать путь для инициализации соединения с сайтом, имя пользователя необходимо задать такое как имя вашей учетной записи в 1С (задано по умолчанию).

Поле “Пароль” задавать не нужно (если в административной части сайта проставлена опция “Использовать пароль для доступа с 1С сервера”, то ее необходимо снять).

После задания конфигураций для установления соединения с сайтом проверяем соединение:

Настройка выгрузки товаров

Теперь нужно выбрать отбор для выгрузки товаров на сайт и раздел каталога в столбце Значение. Кликните на кнопке “Далее”. На этом этапе нужно указать виды цен и группы номенклатуры, которые будут выгружаться на сайт. Если установить флажок “Выгружать картинки”, то вместе с номенклатурой будут выгружены присоединенные изображения товаров. Кроме этого, можно задать дополнительные отборы. Например, можно установить отбор по полю “Остаток больше 0” и на сайт будут выгружаться только те товары, которые есть в остатках.

С помощью отбора устанавливаются ограничения по выгрузке товаров.

Настройки для обмена заказами покупателей

На этом шаге нужно указать настройки для обмена заказами (настройка отображается, если на первом этапе установлен флажок “Обмениваться заказами”). При загрузке заказов покупателей с сайта, новые элементы номенклатуры идентифицируются по наименованию, а контрагенты в соответствии с установленным способом поиска, который указывается в поле “Способ идентификации контрагентов”. Например, можно искать контрагентов по наименованию или по ИНН + КПП. При этом, если контрагент не найден, то он создается. Если нет необходимости создавать новые контрагенты при загрузке заказов с сайта, то в качестве значения поля “Способ загрузки контрагентов” можно указать “Не создавать” и в появившемся поле выбрать контрагента, который будет подставляться в загруженные заказы. Кроме этого, в полях “Группа для новой номенклатуры” и “Группа для новых контрагентов” можно указать группы, в которые будут загружены ненайденная номенклатура и контрагенты. Укажите группу номенклатуры “Товар” (с этим видом номенклатуры будут записываться новые товары). Укажите единицу измерения для новой номенклатуры. Создаваемые товары будут записываться с этой единицей измерения. При необходимости заполните группу новой номенклатуры. В эту группу помещаются товары и услуги, создаваемые при загрузке заказов с сайта. Укажите соглашение, с которым будут создаваться документы “Заказ клиента”. Если это требуется, то укажите организацию и менеджера, от имени которых будут создаваться данные документы.

Другие настройки

Режим обмена данными с сайтом:

Теперь можно выбрать интервал для периодического обмена данными с каталогом на сайте. Для завершения нажмите “Готово”. Вам будет предложено произвести первый обмен данными с каталогом.


Если все сделано правильно, то вы увидите сообщение примерно следующего содержания:

Настройка 1С 8.х для установления соединения с сайтом

Настройка соединения


Принцип обмена

Выгрузка каталогов продукции

Каталоги для публикации на сайте выгружаются одним пакетом.

A. Начало сеанса


http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=checkauth.

  • слово "success" ;
  • имя Cookie;
  • значение Cookie.

Примечание.

B. Запрос параметров от сайта

1. zip=yes
или
zip=no

2. file_limit=<число> , где <число>

C. Выгрузка на сайт файлов обмена

Затем "1С:Предприятие" запросами с параметрами вида
http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=file&filename=<имя файла>
выгружает на сайт файлы обмена в формате CommerceML 2, посылая содержимое файла или его части в виде POST.

В случае успешной записи файла система управления сайтом выдает строку "success ".

D. Пошаговая загрузка каталога

На последнем шаге по запросу из "1С:Предприятия" производится пошаговая загрузка каталога по запросу с параметрами вида http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=import&filename=<имя файла>

Во время загрузки система управления сайтом может отвечать в одном из следующих вариантов.

1. Если в первой строке содержится слово "progress " - это означает необходимость послать тот же запрос еще раз. В этом случае во второй строке будет возвращен текущий статус обработки, объем загруженных данных, статус импорта и т.д.

2. Если в ответ передается строка со словом "success ", то это будет означать сообщение об успешном окончании обработки файла.

Примечание.

Примеры файлов выгрузки

Обмен информацией о заказах

Заказы, оформленные на сайте, загружаются в систему "1С:Предприятие".

Последовательность действий при работе с заказом

1. Заказ оформляется на сайте

2. При передаче в систему "1С:Предприятие" в заказе устанавливается категория "Заказ с сайта".
При формировании заказа в системе "1С:Предприятие" записываются номер и дата заказа, с которыми он оформлен на сайте. Поиск контрагента осуществляется по ИНН или наименованию, в зависимости от указанных настроек.

3. При загрузке заказа производится поиск договора с контрагентом. Договор ищется среди существующих договоров с клиентом, с признаком ведения взаиморасчетов по заказам (по указанной в настройках загрузки Организации). Если не находится ни один договор, то создается новый.

4. При загрузке заказа загружаются все его свойства, переданные с сайта. Свойства ищутся в системе "1С:Предприятие" по наименованию. Если с таким наименованием свойства нет, то заводится новое свойство со значениями типа строка или число.

5. Заказ может модифицироваться в системе "1С:Предприятие", при этом его изменения будут выгружаться на сайт

6. Если заказ оплачивается или отгружается в системе "1С:Предприятие", то состояния заказа по оплате и по отгрузке выгружаются на сайт только при полном выполнении операции (полной оплате и полной отгрузке). До этого момента заказ считается не оплаченным и не отгруженным.

7. При попытке в системе "1С:Предприятие" изменить заказ, по которому произведена оплата или отгрузка, заказ на сайт не загрузится как измененный. При этом пользователь получит об этом сообщение.

8. После каждой выгрузка заказа на сайт, на стороне сайта определяются значения его категорий (ссылка на категории). Эти значения устанавливаются в системе "1С:Предприятие" так, как они присвоены заказу на сайте

A. Начало сеанса

Выгрузка каталога начинается с того, что система "1С:Предприятие" отправляет http-запрос следующего вида:
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=checkauth.

В ответ система управления сайтом передает системе «1С:Предприятие» три строки (используется разделитель строк "\n"):

  • слово "success" ;
  • имя Cookie;
  • значение Cookie.

Примечание. Все последующие запросы к системе управления сайтом со стороны "1С:Предприятия" содержат в заголовке запроса имя и значение Cookie.

B. Уточнение параметров сеанса

В ответ система управления сайтом передает две строки:

1. zip=yes , если сервер поддерживает обмен в zip-формате - в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
или
zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.

2. file_limit=<число> , где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Предприятие" понадобится передать файл большего размера, его следует разделить на фрагменты.

C. Получение файла обмена с сайта

Затем на сайт отправляется запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=query.

Сайт передает сведения о заказах в формате CommerceML 2 . В случае успешного получения и записи заказов "1С:Предприятие" передает на сайт запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=success

D. Отправка файла обмена на сайт

Затем система "1С:Предприятие" отправляет на сайт запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=file&filename=<имя файла>
,
который загружает на сервер файл обмена, посылая содержимое файла в виде POST.

В случае успешной записи файла система управления сайтом передает строку со словом "success ". Дополнительно на следующих строчках могут содержаться замечания по загрузке.

Примечание. Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса.
Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.

Довольно часто встречаются ситуации, когда в организации для расчетов с сотрудниками используется конфигурация «1С: Зарплата и управление персоналом 8», именно тогда возникает необходимость выгружать в бухгалтерскую программу данные по начислению заработной платы, налогу на доходы физических лиц, страховым взносам и прочим выплатам.

В программе 1С: ЗУП 8 ред. 2.5 обмен данными осуществлялся при помощи выгрузки документа в формате XML, также можно было выгружать платежные документы. Затем данные необходимо было загрузить в базу бухгалтерской программы, предварительно произведя определенные настройки. Сделать это можно на вкладке «Зарплата и кадры», выбрав пункт «Загрузка из ЗУП ред. 2.5»

Для загрузки данных нужно было выбрать файл, сформированный ранее при выгрузке из 1С: ЗУП.


Синхронизация данных при использовании программ 1С: ЗУП 8 ред. 3 и 1С: Бухгалтерия 8 ред. 3.0 существенно изменилась. Сейчас нет необходимости каждый раз выгружать и загружать документы в программу 1С: Бухгалтерия. Появилась возможность один раз сделать определенные настройки синхронизации и установить временной отрезок, когда необходимо выполнять обмен. Также пользователь может самостоятельно запускать синхронизацию при необходимости, а не по расписанию.

В БП 3.0 в Параметрах учета (раздел Администрирование) необходимо установить следующую настройку.


В этом же разделе «Администрирование» выбираем пункт «Настройка синхронизации данных», где необходимо установить галочку "Синхронизация данных". Сразу становится доступной одноименная ссылка.


Переходим в 1С: ЗУП и устанавливаем аналогичную галочку в том же пункте на вкладке «Администрирование». Далее необходимо выбрать программу, с которой будет проходить синхронизация. Осуществляем выбор и проставляем префикс ИБ, чтобы знать, в какой из баз был введен документ.



Затем выбираем каталог, через который будет происходить синхронизация.


Здесь проставляем необходимые настройки. Если нужно выгружать только проводки по начислению зарплаты, налогов, взносов, при этом в бухгалтерии расчеты по счету 70 НЕ ведутся в разрезе сотрудников, тогда устанавливаем точку «Сводно по сотрудникам», в этом случае ведомости выгружаться не будут.


В следующем окне показаны параметры синхронизации данных. Проверяем, если все данные введены корректно нажимаем «Далее», если что-то необходимо изменить – «Назад». В нашем случае всё введено корректно, идем Далее.


Теперь проверяем настройки на стороне 1С: Бухгалтерии


Данные настройки необходимо сделать один раз для первой синхронизации. Затем их можно корректировать при необходимости.

Сейчас снова заходим в 1С: Зарплата и управление персоналом 8 и нажимаем на кнопку «Синхронизировать».


Для проверки в БП открываем документ "Отражение зарплаты в бухучете".


Он будет без проводок, для их появления необходимо поставить галочку "Отражено в учете". После установки галочки можно заметить, что данный документ заблокировался для внесения изменений.


И теперь нам нужно заблокировать документ и на стороне программы 1С: Зарплата и управление персоналом. Для этой цели в 1С: Бухгалтерии нажмем кнопку «Синхронизировать».

Проверим результат в 1С: ЗУП: заходим в меню «Зарплата» - «Отражение в бухучете». Видим, что данный документ недоступен для редактирования и автоматически проставлена галочка, которую снять нельзя.


В программах также автоматизирована настройка расписания синхронизации. Здесь пользователь может выбрать удобные для себя параметры.


Таким образом, мы рассмотрели, как настраивается и выполняется синхронизация между программами 1С: ЗУП 8 редации 3 и 1С: Бухгалтерия 8.