Обмен данными между Бухгалтерией 3.х и Розницей 2.х через DBF
28.09.17 21:28

Досталась мне фирма, где уже был настроен обмен данными. Это два удаленных розничных магазина (в разных городах ) где установлена Розница2. На сервере предприятия крутится отдельная Розница 2 (сводная), в которую эти два розничных магазина сливали данные посредством РИБ. А дальше из Розницы (сводная) на сервере, посредством обмена через универсальный формат данные попадали в БП3. Так вот при обновлении Розницы, возникли некоторые проблемы, которые сломали весь процесс обмена. Я, конечно разобрался с этим, потратив день. Оказалось, что были косяки в сводной Рознице, в периферийных базах. После  правки я обменялся данными с Розницами и как только Сводная Розница всосала обновления, обновился с Бухгалтерией. Тут начался кошмар! Оказывается бухгалтера, уже несколько месяцев не обменивались и  правили вручную документы ОРП в БП3, выравнивая остатки подготавливаясь так сказать к отчетному периоду. А я, обменявшись данными стер их многомесячный труд. Н-да! Восстановив бухгалтерию я задумался - как обмениваться данными что бы ничего не порушить. И решили мы написать свой обмен данными. Розница2 <-> БП3

Из БП3 мы выгружаем ПриходнуюНакладную и ПеремещениеТМЦ

Указываем период выгрузки

Напротив "[x] Выгр перемещение" надо указать склад приемник и склад источник

Для выгрузки ПриходнойНакладной для отбора за указанный период необходимо указать Склад

Жмем Выгрузить.

В каталоге "Путь" появится папка BP_R в ней файлы DBF

Переходим к рознице. Запускаем обработку. Переходим на закладку "Загрузка"

 

Указываем организацию

Вид Номенклатуры (для создания новых элементов номенклатуры)

Ставим галочки.

"Разрешить исправлять наименования номенклатуры" - если связь номенклатуры организована по артикулу, тогда  если выгруженное наименование из БП отличается от найденного по артикулу в Рознице, то исправляем его на то, что указано в БП3

"Синхронизация по артикулу" - ищем номенклатуру в Рознице сперва по артикулу, потом по наименованию.

"Вид номенклатуры" - всегда Товар

"Группа для создания новых эл-тов номенкл" - группа справочника Номенклатура, где будут созданы новые элементы номенклатуры, которые не были найдены ни по артикулу ни по наименованию

" Магазин по умолчанию для создаваемых док-тов" - из этого параметра для создаваемых документов ПоступлениеТМЦ и Перемещение будет взят Магазин получатель и Склад

Еще для создаваемого в Рознице документа Перемещение указываются СкладОтправитель, МагазинОтправитель и СкладПолучатель

 

При загрузке всегда проверяется, есть ли такой документ в 1с. Делается это просто. Всегда в выгрузке есть дата документа. Тип создаваемого документа мы знаем. Делаем выборку за дату по виду документа и смотрим в комментарий если он содержит "Создан из Торговли"

тогда расшифровываем остальной текст("Создан из Торговли документ № 00БП-000101 от 08.09.2017 0:00:00") и понимаем  какой документ соответствует в базе отправителе.

Выгружаем из БП3

На закладке "Результат" можем видеть какие документы выгружены.

Загрузка в Розницу. Запускаем обработку

На этой закладке можно зайти в загруженный документ. Если он вдруг не провелся автоматом, то увидим сообщение об ошибке. Но! В отличии от 1с обмена, когда все стопорится и ошибку надо нудно искать в Ж.... одном месте, под названием журнал ошибок, здесь все наглядно. Непроведенный документ будет записан в Розницу и мы сможем его подкорректировать и провести вручную в дальнейшем.

Если у загруженного документа поменять комментарий

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

Выгрузка из Розницы

Указываем период выгрузки

Отмечаем галочками, какие документы нам надо выгрузить

Для каждого документа есть условия отбора.

Для БП3 загрузка

Если контрагент не найден по инн в бухгалтерии он создастся. Для создания договоров предназначены шаблоны наименований договоров - реквизиты "НаименованиеДоговораСПокупателем" и "НаименованиеДоговораСПоставщиком"

Все остальные реквизиты работают как описано выше.

Выгрузка из БП3 Номенклатуры.

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

Первым делом присвоим Артикул элементам номенклатура в БП3. Нажав "Присвоить артикул" обработка пробежится по справочнику номенклатуры и присвоит Артикул=КодТовара. После этого выгружаем номенклатуру.

В Рознице

снимаем галочку "Синхронизация по Артикулу" на закладке Загрузка и на закладке Номенклатура жмем "Загрузить номенклатуру". Что сделает обработка? Ищет номенклатуру по наименованию из БП3 и если нашла присваивает Артикул из БП3. Все! Дальше нам эта закладка не нужна. Ставим обратно галочку "Синхронизация по Артикулу" и пользуемся закладка "Выгрузка" и "Загрузка".

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

Кстати при загрузке из Розницы Поступлений - в БП3 создается Счет-Фактура, а при загрузке из Розницы ОРП, создается ПКО с розничной выручкой.

Обработки можно запускать из 1с через Файл/Открыть или подключить как внешние обработки.

Роботает под Упрапвляемыми формами! Проверено на Розница, редакция 2.2 (2.2.6.33) и Бухгалтерия предприятия, редакция 3.0 (3.0.52.32)

В обмене учавствует Номенклатура с видом = Товар. 

Если кому не подходит данный алгоритм работы - могу доработать под Ваши требования. Пишите в личку!

Пароль на архив 1

 

Read Full Article