PDA

Просмотр полной версии : Из R-keeper в 1С



Mr_Pasternak
12.02.2015, 17:59
Коллеги, приветствую.
Имеется r-keeper 7. Стоит задача поставить счетчик посетителей. Данные счетчика будут регистрироваться в мускуле. Хочу отображать данные о продажах и количестве посетителей в удобном виде. Для этого напишу небольшую конфу на 1С и в нее планирую заливать данные из r-keeper и мускуля. Вопрос состоит в том, как r-keeper хранит данные в скуле. По большому счету, нужно следующее: дата чека, сумма чека, состав чека(блюда, цена и количество). В скуле не смог обнаружить всех таблиц. Коллеги, поделитесь информацией о бд...

VampireKB
12.02.2015, 18:33
Эт как же ты посетителей считать будешь?)))

Насчет данных- они там все навиду..бери-не хочу)

Mr_Pasternak
12.02.2015, 18:37
2 датчика на двери. От них провод в ком-порт. Человек зашел - в базу единичка записалась. база отдельная на mysql.

VampireKB
12.02.2015, 18:41
Хозяин заведения зашел/вышел,зашел вышел.
Посетитель зашел /вышел покурить,снова зашел,снова вышел
Персонал бегом туда\бегом сюда.
Погрешность твой статистикии будет более 15%

Mr_Pasternak
12.02.2015, 19:44
Да, в курсе всего этого. Среднее значение погрешности потом выберем.

beda
12.02.2015, 21:09
а нахуа? очередная попытка ловить блох?

зы: кол-во гостей из кипера не будет ли достаточной точностью, без таких извращений?


Стоит задача поставить счетчик посетителей.

Mr_Pasternak
12.02.2015, 21:42
Собственник хочет видеть, сколько народа пришло, сколько купило, а сколько развернулось и ушло.

VampireKB
12.02.2015, 21:51
Собственник хочет видеть, сколько народа пришло, сколько купило, а сколько развернулось и ушло.

увидит с точностью в 50% максимум.Если хочет 100%,- то надо ставить видеонаблюдение с софтиной распознавания лиц :) Причем 1 на вход,а остальные на кассу :)

Mr_Pasternak
12.02.2015, 21:56
Справочник номенклатуры загрузил из dbo_MENUITEMS. С этим проблем не возникло. Дальше хочу документ "Чек" и его состав.
Не могу понять, откуда взять дату чека, номер и сумму. Запрос отчета "Список чеков":
SELECT
PrintChecks."BINDEDSUM" AS "PAYSUM",
PrintChecks."CHECKNUM" AS "CHECKNUM",
PrintChecks."CLOSEDATETIME" AS "CLOSEDATETIME",
CASHES00."NAME" AS "STATION",
EMPLOYEES00."NAME" AS "CASHIER",
EMPLOYEES01."NAME" AS "WAITER",
EMPLOYEES02."NAME" AS "DELETEDBY",
ORDERVOIDS00."NAME" AS "REASON",
TABLES00."NAME" AS "TABLE",
GLOBALSHIFTS00."SHIFTNUM" AS "SHIFTNUM",
GLOBALSHIFTS00."SHIFTDATE" AS "SHIFTDATE",
PrintChecks."STATE" AS "STATE",
PrintChecks."PRLISTSUM" AS "PRICESUM",
Orders00."ORDERNAME" AS "ORDERNAME",
Visits00."SIFR" AS "VISIT",
Visits00."GUESTCNT" AS "GUESTCNT",
PrintChecks."GLOBALIDENT" AS "PRINTCHECKID",
1 AS "CHECKCNT",
Orders00."OPENTIME" AS "OPENTIME"
FROM PRINTCHECKS
LEFT JOIN CASHES CASHES00
ON (CASHES00.SIFR = PrintChecks.iCloseStation)
LEFT JOIN EMPLOYEES EMPLOYEES00
ON (EMPLOYEES00.SIFR = PrintChecks.iAuthor)
LEFT JOIN Orders Orders00
ON (Orders00.Visit = PrintChecks.Visit) AND (Orders00.MidServer = PrintChecks.MidServer) AND (Orders00.IdentInVisit = PrintChecks.OrderIdent)
LEFT JOIN EMPLOYEES EMPLOYEES01
ON (EMPLOYEES01.SIFR = Orders00.MainWaiter)
LEFT JOIN EMPLOYEES EMPLOYEES02
ON (EMPLOYEES02.SIFR = PrintChecks.iDeleteManager)
LEFT JOIN ORDERVOIDS ORDERVOIDS00
ON (ORDERVOIDS00.SIFR = PrintChecks.iVoid)
LEFT JOIN TABLES TABLES00
ON (TABLES00.SIFR = Orders00.TableID)
LEFT JOIN GLOBALSHIFTS GLOBALSHIFTS00
ON (GLOBALSHIFTS00.MidServer = Orders00.MidServer) AND (GLOBALSHIFTS00.ShiftNum = Orders00.iCommonShift)
LEFT JOIN Visits Visits00
ON (Visits00.Sifr = Orders00.Visit) AND (Visits00.MidServer = Orders00.MidServer)
WHERE
(PrintChecks."IGNOREINREP" = 0)

Как я понял, номер - Orders00."ORDERNAME" AS "ORDERNAME"
Но что-то не сходится. В таблице Orders нет ничего, похожего на номер чека...

---------- Добавлено в 20:54 ---------- Предыдущее сообщение было размещено в 20:53 ----------


увидит с точностью в 50% максимум.Если хочет 100%,- то надо ставить видеонаблюдение с софтиной распознавания лиц :) Причем 1 на вход,а остальные на кассу :)
Камеры стоят. Мне, по большому счету, все равно. Задача стоит - надо сделать:)

---------- Добавлено в 20:56 ---------- Предыдущее сообщение было размещено в 20:54 ----------

И как-то скуль-запрос показывается криво... При копи-паст в скуль не отрабатывает: ругается на кавычки и т. п....

mnekin
12.02.2015, 22:17
Справочник номенклатуры загрузил из dbo_MENUITEMS. С этим проблем не возникло. Дальше хочу документ "Чек" и его состав.
Не могу понять, откуда взять дату чека, номер и сумму. Запрос отчета "Список чеков":
SELECT
PrintChecks."BINDEDSUM" AS "PAYSUM",
PrintChecks."CHECKNUM" AS "CHECKNUM",
PrintChecks."CLOSEDATETIME" AS "CLOSEDATETIME",
CASHES00."NAME" AS "STATION",
EMPLOYEES00."NAME" AS "CASHIER",
EMPLOYEES01."NAME" AS "WAITER",
EMPLOYEES02."NAME" AS "DELETEDBY",
ORDERVOIDS00."NAME" AS "REASON",
TABLES00."NAME" AS "TABLE",
GLOBALSHIFTS00."SHIFTNUM" AS "SHIFTNUM",
GLOBALSHIFTS00."SHIFTDATE" AS "SHIFTDATE",
PrintChecks."STATE" AS "STATE",
PrintChecks."PRLISTSUM" AS "PRICESUM",
Orders00."ORDERNAME" AS "ORDERNAME",
Visits00."SIFR" AS "VISIT",
Visits00."GUESTCNT" AS "GUESTCNT",
PrintChecks."GLOBALIDENT" AS "PRINTCHECKID",
1 AS "CHECKCNT",
Orders00."OPENTIME" AS "OPENTIME"
FROM PRINTCHECKS
LEFT JOIN CASHES CASHES00
ON (CASHES00.SIFR = PrintChecks.iCloseStation)
LEFT JOIN EMPLOYEES EMPLOYEES00
ON (EMPLOYEES00.SIFR = PrintChecks.iAuthor)
LEFT JOIN Orders Orders00
ON (Orders00.Visit = PrintChecks.Visit) AND (Orders00.MidServer = PrintChecks.MidServer) AND (Orders00.IdentInVisit = PrintChecks.OrderIdent)
LEFT JOIN EMPLOYEES EMPLOYEES01
ON (EMPLOYEES01.SIFR = Orders00.MainWaiter)
LEFT JOIN EMPLOYEES EMPLOYEES02
ON (EMPLOYEES02.SIFR = PrintChecks.iDeleteManager)
LEFT JOIN ORDERVOIDS ORDERVOIDS00
ON (ORDERVOIDS00.SIFR = PrintChecks.iVoid)
LEFT JOIN TABLES TABLES00
ON (TABLES00.SIFR = Orders00.TableID)
LEFT JOIN GLOBALSHIFTS GLOBALSHIFTS00
ON (GLOBALSHIFTS00.MidServer = Orders00.MidServer) AND (GLOBALSHIFTS00.ShiftNum = Orders00.iCommonShift)
LEFT JOIN Visits Visits00
ON (Visits00.Sifr = Orders00.Visit) AND (Visits00.MidServer = Orders00.MidServer)
WHERE
(PrintChecks."IGNOREINREP" = 0)

Как я понял, номер - Orders00."ORDERNAME" AS "ORDERNAME"
Но что-то не сходится. В таблице Orders нет ничего, похожего на номер чека...

---------- Добавлено в 20:54 ---------- Предыдущее сообщение было размещено в 20:53 ----------


Камеры стоят. Мне, по большому счету, все равно. Задача стоит - надо сделать:)

---------- Добавлено в 20:56 ---------- Предыдущее сообщение было размещено в 20:54 ----------

И как-то скуль-запрос показывается криво... При копи-паст в скуль не отрабатывает: ругается на кавычки и т. п....
Открыть отчет в котором содержаться необходимые Вам данные и вытащить из него SQL запрос, лишнее из запроса выкинуть, если надо.

beda
12.02.2015, 22:27
это называется соцопрос.
на входе (фудкорт, я правильно понял?) ставится студент за еду, после этого собственник начинает задавать другие столь же дибильные вопросы.
ы?


Собственник хочет видеть, сколько народа пришло, сколько купило, а сколько развернулось и ушло.

Mr_Pasternak
13.02.2015, 00:02
это называется соцопрос.
на входе (фудкорт, я правильно понял?) ставится студент за еду, после этого собственник начинает задавать другие столь же дибильные вопросы.
ы?
Бггг.

sibgaba
13.02.2015, 08:13
Если с SQL ничего не выйдет, то можно ежедневно (в том числе и автоматом) выгружать данные в dbf. Там в таблице check.db будет все что вам нужно.

Mr_Pasternak
13.02.2015, 11:16
Если с SQL ничего не выйдет, то можно ежедневно (в том числе и автоматом) выгружать данные в dbf. Там в таблице check.db будет все что вам нужно.
Вот, это уже интересно. Как реализовать выгрузку, не подскажете?

sibgaba
13.02.2015, 12:46
Есть специальная утилита. Называется RK7_DBF.

Брать на фтп /rk7/INSTALL/RK7_DBF/

Немного обсуждали вот тут http://www.carbis.ru/forum/showthread.php?p=70230&t=8451

И еще где то пара тем была на форуме...

Mr_Pasternak
13.02.2015, 14:05
Ага, со скулем разобрался. dbo_MENUITEMS - справочник блюд. dbo_PRINTCHECKS - список чеков. CLOSEDATETIME - дата чека, CHECKNUM - номер чека, BINDEDSUM - сумма чека. Что в чеке - смотрим в dbo_SESSIONDISHES. dbo_PRINTCHECKS и dbo_SESSIONDISHES связываем по полю VISIT. QUANTITY - количество, PRICE - цена, SIFR - код товара(есть в таблице dbo_MENUITEMS).
Теперь стоит вопрос о текущей дате. Пока не могу найти данные об открытой смене...

Mr_Pasternak
15.02.2015, 02:16
Коллеги, информации по текущей смене нет в sql? Я правильно понял?

SH
15.02.2015, 03:48
Правильно.
Текущую смену следует читать с кассового сервера через XML.