gifts2017

Обмен между R-Keeper и 1С:Рарус-Общепит

Опубликовал kserdyukov (kserdyukov) в раздел Обмен - Перенос данных из 1C8 в 1C8

Описана пошаговая настройка выгрузки данных из R-Keeper в 1С:Рарус-Общепит

Для тех, кто впервые настраивает обмен между R-Keeper и 1С:Рарус-Общепит есть информация на сайтах:
Форум: "1С: Общепит 8 // 1C-Рарус: Общепит"
http://www.1c-menu.ru/forum/index.php?PAGE_NAME=read&FID=5&TID=535
Особенности применения обработки "Загрузка данных о реализации из программы R-Keeper v.6"
http://club-1c.com/page/index.html/_/1-8-2-1373872279/%D0%BE%D0%B1%D1%89%D0%B5%D0%BF%D0%B8%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0/%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0-r11287

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

1. Выгрузка данных в промежуточный файл из R-Keeper 6

В рабочем каталоге RK6 есть программа Transp32.exe, которая осуществляет выгрузку из файлов данных R-Keeper с расширением DB в файлы DBF.

Настройки хранятся в RKEEPER.INI, обычно менять их не надо.
В разделе [Transport] задается параметр - путь к папке выгрузки StockPath=С:\rk6\STOCK
Для выгрузки запускаем Transp32.exe (при регулярном использовании лучше сделать ярлык), пароль по умолчанию - "1".
Далее Меню "Файл" - "Выгрузка Склад", задается период.
После выгрузки в папке, заданной в RKEEPER.INI появляются следующие файлы:
Acheck.dbf - список чеков - TOTAL - 4 знака после запятой
ADcheck.dbf
Apcheck.dbf - оплата чеков BASESUMEQW, ORIGSUM - 4 знака после запятой
Archeck.dbf - блюда в чеках PAYSUM - 6 знаков после запятой
AVcheck.dbf
Categ.dbf - категории товаров
Charges.dbf - скидки
Control.dbf - служебная количество записей в других таблицах по точкам
Menu.dbf - перечень блюд
Modify.dbf - замены блюд
Money.dbf - оплаты по видам (нал, безнал, неплательщики, банкет)
Personal.dbf - персонал
Reasons.dbf

У R-Keeper есть особенность - суммы хранятся с точностью не до копеек а больше (4-6 знаков после запятой), поэтому иногда цифры могут "гулять" и не сходиться с Z-отчетом.
R-Keeper 7 использует для хранения данных SQL-сервер, для выгрузки служит отдельная программа kr7_dbf.exe.
Она раздаётся на партнерском сайте UCS, необходимо указать строку подключения к базе, классификацию блюд для экспорта и путь для экспорта DBF. Поля совпадают с выгрузкой r-keeper 6, только добавлены дополнительные поля в таблицы ARcheck (COMPLEX, CONTENT, VATNUM - номер НДС, VATPERCENT размер НДС в %) и Menu (COMPLEX).
Загрузка из R-Keeper 7 не проверялась, но скорее всего тоже будет работать.

2. Загрузка из файлов обмена в 1С:Общепит

В конфигурации используется обработка ОбщепитЗагрузкаRKeeper.epf, внешний вид приведен на рисунке
Путь "Соответствие" указываем такой же, как и при выгрузке (С:\rk6\STOCK). Выбираем организацию, подразделение, склад. Выбираем нужные параметры.

Сначала нажимаем "Заполнить соответствия".
При этом можно выбрать критерии: по полному совпадению наименований; по частичному совпадению наименований; по совпадению шифра R-keeper и кода 1C; по совпадению кода R-keeper и кода 1C. Если не все заполнено, можно заполнить соответствие руками.
Нажимаем "Получить номенклатуру", номенклатура из R-Keeper, которой нет в общепите, будет создана при выборе "Создавать товары".

По кнопке "Создать документы" можно создать следующие документы:
- Закрытие кассовой смены, с хоз. операцией Акт о реализации;
- Выпуск продукции, с хоз. операцией Выпуск с розничной реализацией;
- Установка цен номенклатуры.

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

Проблемы при обновлении платформы на 8.3

В версии 8.3 во временное хранилище можно помещать только сериализуемые значения
После обновления конфигурации 1С:Рарус Общепит на версию 3.0.28 изменились требования к платформе, теперь необходимо работать в версии 1с 8.3.
Но возникла неожиданная проблема:
при выполнении кода

БД_ТС = ПолучитьИзВременногоХранилища(Объект.АдресВХДБФБД_ТС);
ПоместитьВоВременноеХранилище(БД_ТС, АдресВХДБФБД_ТС);

Объект xBase не сериализуется, поэтому не может быть помещен во временное хранилище.

Подробнее написано в ИТС: http://its.1c.ru/db/metod81#content:5293:1
Но от объяснения не становится легче.
Варианты решения:
1. Обновиться до конфигурации 3.0.29.7 (обращение в службу поддержки позволило исправить ошибку в новом релизе)
2. Исправить выгрузку:

&НаСервере
Перем БД_ТС; // Храним её пока на сервере
&НаСервере
Процедура УстановитьСоответствиеСервер(ОбъектСсылка, Соответствие)

Если БД_ТС = Неопределено Тогда // Возможно, выпрыгивали с сервера и переменная пропала
ИдентификаторКонфигурации = ЗначениеВСтрокуВнутр(Метаданные);
ИдентификаторКонфигурации = Сред(УбратьСимволы(ИдентификаторКонфигурации, "{}#"","),1,8);
ФайлТС = Объект.ПутьСоответствий + "\" +ИдентификаторКонфигурации + ".dbf";
ФайлИндексовТС = Объект.ПутьСоответствий + "\" + ИдентификаторКонфигурации + ".cdx";
//Надо открыть БД_ТС заново
БД_ТС = Новый XBase;
БД_ТС.ОткрытьФайл(ФайлТС, ФайлИндексовТС, Ложь);
БД_ТС.ТекущийИндекс = БД_ТС.индексы.Найти("IndSource");
КонецЕсли;
&НаСервере
Процедура ЗаполнитьНоменклатуруСервер(ЗаполнитьИзПродаж, ЗаполнитьБлюда, ЗаполнитьМодификаторы)

Объект.ТаблицаСоответствия.Очистить();
Если БД_ТС = Неопределено Тогда
//Надо открыть БД_ТС заново
ИдентификаторКонфигурации = ЗначениеВСтрокуВнутр(Метаданные);
ИдентификаторКонфигурации = Сред(УбратьСимволы(ИдентификаторКонфигурации, "{}#"","),1,8);
ФайлТС = Объект.ПутьСоответствий + "\" +ИдентификаторКонфигурации + ".dbf";
ФайлИндексовТС = Объект.ПутьСоответствий + "\" + ИдентификаторКонфигурации + ".cdx";

БД_ТС = Новый XBase;
БД_ТС.ОткрытьФайл(ФайлТС, ФайлИндексовТС, Ложь);
БД_ТС.ТекущийИндекс = БД_ТС.индексы.Найти("IndSource");
КонецЕсли;
&НаСервере
Функция ПроверитьТаблицуСоответствияСервер()

ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
ОбработкаОбъект.БД_ТС = БД_ТС;
Возврат ОбработкаОбъект.ПроверитьТаблицуСоответствия();

КонецФункции

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Объект.ПолныйРежимЗагрузкиДокументов = 1;
Объект.КоличествоЭлементовКипера = 0;
Объект.КоличествоЭлементов1С = 0;
Объект.СоздаватьНоменклатуру = 0;
Элементы.СтраницаДерево.Видимость = Ложь;
Элементы.СтраницаСоответствие.Видимость = Истина;
Элементы.ТаблицаСоответствияКоманднаяПанельТаблицыСоответствияИерархия.Доступность = Ложь;
Элементы.ТаблицаСоответствияКоманднаяПанельТаблицыСоответствияИерархияД.Пометка = Истина;
Объект.ВыгружатьДокументыНаДату = НачалоДня(ТекущаяДата());
Элементы.ГруппаСоздатьДокументы.Доступность = Ложь;
Объект.СтруктураПоискаСоответствия = Новый Структура("ШифрКипер,БлюдоМодификатор");
КонецПроцедуры
&НаСервере
Процедура ЗакрытьТС()
Попытка БД_ТС.ЗакрытьФайл();
Исключение КонецПопытки;
КонецПроцедуры

В модуле обработке, функции "ПроверитьТаблицуСоответствия()" убрать строки (так как БД_ТС передана перед вызовом метода):

БД_ТС = ПолучитьИзВременногоХранилища(АдресВХДБФБД_ТС);
ПоместитьВоВременноеХранилище(БД_ТС, АдресВХДБФБД_ТС);
 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
общепитзагрузкаrkeeper-3.0.29.7
.epf 52,94Kb
16.02.14
35
.epf 52,94Kb 35 Скачать
r-keeper7-dbf
.rar 313,01Kb
16.12.13
19
.rar 313,01Kb 19 Скачать
общепит загрузка r-keeper
.epf 51,53Kb
16.02.14
26
.epf 51,53Kb 26 Скачать
rkeeper7-dbf
.rar 313,01Kb
16.02.14
18
.rar 313,01Kb 18 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Бертыш (ignor) 18.12.13 08:31
Рарус Общепит имеет штатную загрузку из R-keeper 6 кажется. Во всяком случае допиливать её для клиента не приходилось. А вот для R-keeper 7 го писал http://infostart.ru/public/194961/ .
2. Алексей Т. (CratosX) 20.12.13 12:33
(1) ignor, да, действительно есть встроенная рабочая загрузка из RKeeper6, а вот из RK7 нет
3. Андрей Бертыш (ignor) 20.12.13 14:00
(2) CratosX, У RK7 Только через формирование отчетов и вывод их в формате CSV
4. Андрей Струков (Strucka) 11.08.14 16:16
А в обратную сторону есть обмен? Выгрузить номенклатуру из 1С в GameKeeper нужно?
5. Виктор Назаров (androgin) 06.12.14 20:17
Чем отличаются обработки приложенные с публикации?
6. Алексей Т. (CratosX) 10.03.15 16:16
Мануал по загрузке в связи с реконструкцией сайта переехал с 1c-menu на https://rarus.ru/forum/forum58/topic8813/
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа