Показано с 1 по 6 из 6

Тема: Как получить из SQL Server пречеки?

  1. #1
    Новичок
    Регистрация
    15.04.2021
    Адрес
    Лобня
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Question Как получить из SQL Server пречеки?

    Здравствуйте!

    Подскажите, пож-та, как SQL-запросом получить из базы SQL пречеки и нефискальные чеки? В какой таблице они "живут"?

  2. #2
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,311
    Поблагодарил(а)
    187
    Благодарностей: 445 (сообщений: 348)
    В разных...
    Там структура довольно сложная.

    В одних таблицах шапки чеков, в других товары, в третьих оплаты
    Ильин Александр, Компания "Соттос"
    г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
    г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
    www.sottos.ru | vk.com/sottos | fb.com/sottosru
    Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7

  3. #3
    Новичок
    Регистрация
    15.04.2021
    Адрес
    Лобня
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Цитата Сообщение от sibgaba Посмотреть сообщение
    В разных...
    Там структура довольно сложная.

    В одних таблицах шапки чеков, в других товары, в третьих оплаты
    Хотя бы шапку чека бы получить.

    Спасибо!

  4. #4
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,311
    Поблагодарил(а)
    187
    Благодарностей: 445 (сообщений: 348)
    Вот тут описание базы (не полное) но то что вам нужно есть
    https://docs.rkeeper.ru/rk7/7.6.5/ru...db-description
    Ильин Александр, Компания "Соттос"
    г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
    г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
    www.sottos.ru | vk.com/sottos | fb.com/sottosru
    Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7

  5. #5
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,311
    Поблагодарил(а)
    187
    Благодарностей: 445 (сообщений: 348)
    Еще вот это может помочь
    https://docs.rkeeper.ru/rk7/7.6.5/ru....7.CHECKTABLES

    и еще альтернативный вариант

    Воспользоваться вот этим
    https://docs.rkeeper.ru/rk7/7.6.5/ru...v-v-format-dbf

    и брать данные из dbf (там структура проще будет гораздо)
    Ильин Александр, Компания "Соттос"
    г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
    г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
    www.sottos.ru | vk.com/sottos | fb.com/sottosru
    Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7

  6. #6
    Новичок
    Регистрация
    16.03.2018
    Адрес
    Севастополь
    Сообщений
    1
    Поблагодарил(а)
    0
    Благодарностей: 2 (сообщений: 1)
    если еще актуально, то список закрытых чеков можно получить таким запросом:
    Код:
    SET DATEFORMAT DMY
    SELECT
        FORMAT(GLOBALSHIFTS00.SHIFTDATE, 'dd.MM.yyyy') AS CheckDate,
        c.NAME AS CheckFIO,
        CONVERT(varchar,PrintChecks00.CHECKNUM) AS CheckNumber,
        CONVERT(varchar, CurrLines.BINDEDSUM) AS CheckSumm,
        Orders00.VISIT AS CheckVisit
    FROM CURRLINES
    LEFT JOIN Payments P ON P.Visit = CurrLines.Visit AND P.MidServer = CurrLines.MidServer
    LEFT JOIN CURRENCIES c ON c.SIFR = p.SIFR
    LEFT JOIN PaymentsExtra PaymentsExtra00 ON PaymentsExtra00.Visit = CurrLines.Visit AND PaymentsExtra00.MidServer = CurrLines.MidServer AND PaymentsExtra00.PayUNI = CurrLines.PayUNIForOwnerInfo
    LEFT JOIN CASHGROUPS CASHGROUPS00 ON CASHGROUPS00.SIFR = CurrLines.Midserver
    LEFT JOIN RESTAURANTS RESTAURANTS00 ON RESTAURANTS00.SIFR = CASHGROUPS00.Restaurant
    LEFT JOIN PrintChecks PrintChecks00 ON PrintChecks00.Visit = CurrLines.Visit AND PrintChecks00.MidServer = CurrLines.MidServer AND PrintChecks00.UNI = CurrLines.CheckUNI
    LEFT JOIN Orders Orders00 ON Orders00.Visit = PrintChecks00.Visit AND Orders00.MidServer = PrintChecks00.MidServer AND Orders00.IdentInVisit = PrintChecks00.OrderIdent
    LEFT JOIN GLOBALSHIFTS GLOBALSHIFTS00 ON GLOBALSHIFTS00.MidServer = Orders00.MidServer AND GLOBALSHIFTS00.ShiftNum = Orders00.iCommonShift
    WHERE 
        1=1
        AND CurrLines.BINDEDSUM > 0
        AND SHIFTDATE between CAST(N'20210701' AS DateTime) and CAST(N'20210731' AS DateTime)
    ORDER BY GLOBALSHIFTS00.SHIFTDATE, CHECKNUM ASC
    для получения списка строк в конкретном чеке\визите
    Код:
    SELECT
        CAST(mi.NAME AS VARCHAR) AS Product,
        CAST(SUM(sd.QUANTITY) AS VARCHAR) AS Quantity,
        CAST(sd.PRICE AS NUMERIC(10,2)) AS PriceSumm,
        CAST(SUM(sd.CLEARSUM) AS NUMERIC(10,2)) AS ClearSumm,
        CAST(SUM(sd.CLEARSUM - sd.SUMWITHDISCOUNTS) AS NUMERIC(10,2)) AS DiscountSumm,
        CAST(SUM(sd.SUMWITHDISCOUNTS) AS NUMERIC(10,2)) AS FiscalSumm
    FROM SESSIONDISHES sd
    LEFT JOIN MENUITEMS mi ON mi.SIFR = sd.SIFR
    WHERE
        1 = 1
        AND sd.QUANTITY > 0
        AND sd.VISIT IN ({0})
    GROUP BY mi.NAME,sd.PRICE,mi.SIFR,sd.CLEARSUM, sd.SUMWITHDISCOUNTS,sd.CLOSEDPAYSUM
    ORDER BY mi.NAME
    где {0} - список номеров визита из предыдущего запроса, указанных через запятую

  7. 2 пользователей сказали cпасибо aStelm за это полезное сообщение:

    MikhailKricki (29.07.2021),sibgaba (29.07.2021)

Похожие темы

  1. Пречеки!
    от North_NUR в разделе Сервис-печать в R-Keeper 7
    Ответов: 11
    Последнее сообщение: 09.12.2015, 07:21
  2. Ответов: 7
    Последнее сообщение: 14.07.2015, 23:08
  3. Ответов: 8
    Последнее сообщение: 05.02.2015, 15:49
  4. Ответов: 12
    Последнее сообщение: 08.02.2013, 16:58
  5. не выходят пречеки
    от Zeliboba в разделе RK: Сервис-печать, принтеры
    Ответов: 3
    Последнее сообщение: 02.08.2010, 16:08

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •