+7 499 990-10-21

ДЭНСИ: КАССА без принтера

Re: ДЭНСИ: КАССА бес принтера

Сообщение Alexander » 23 окт 2014, 16:58

Для начала имеет смысл почитать про типы транзакций в документации на формат обмена "ДЭНСИ" (доступна на странице сайта [Скачать]).
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: ДЭНСИ: КАССА бес принтера

Сообщение af5gor » 27 окт 2014, 15:00

Alexander писал(а):Для начала имеет смысл почитать про типы транзакций в документации на формат обмена "ДЭНСИ" (доступна на странице сайта [Скачать]).


Формат «ДЭНСИ» обмена данными с внешним товароучетным ПО страница 16 - Типы транзакций в таблице.
62 - открыть смену
61 - закрыть смену
50 - ВН
51 - ВП
11 - Регистрация
41 - оплата чека
...
Переход на следующий уровень?
af5gor
 
Постов: 54
Зарегистрирован: 24 сен 2014, 22:44

Re: ДЭНСИ: КАССА бес принтера чеков

Сообщение Бродяга_Джон » 27 окт 2014, 19:18

af5gor писал(а):Подозреваю что всё это есть у вас в исходниках

а вот есть такой огроооомный секрет :D :D :D
исходники есть на полном дистрибутиве
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: ДЭНСИ: КАССА бес принтера

Сообщение Alexander » 27 окт 2014, 20:03

Если про дистрибутив на базе Lubuntu говорить, то в установленной системе исходники также есть - в папке /usr/share/dnc/

Если с типами транзакций все понятно, то дальше открываем таблицу transaction в БД Transaction и смотрим её структуру.
Названия колонок в основном не должны вызывать затруднений в сопоставлении:
n_transaction - порядковый номер транзакции
tr_type - тип транзакции (см. список типов выше).
tr_date_time - дата/время транзакции
n_pc - номер рабочего места (см. настройки обмена)
n_kkm - зав. номер ФР/ПД
seller - код кассира (из таблицы кассиров в БД LinCash)
n_session - номер смены на ФР/ПД
n_check - номер чека
n_doc - номер документа
check_type - тип чека ( 0 - продажа, 1 - возврат )
code - код товара
code_tax_group - код налоговой группы
code_tax_rate - код ставки налога
payment_type - код типа оплаты (для транзакции оплаты)
card_code - код дисконтной карты (для транзакций скидок)
value_1/value_2 - назначение зависит от типа транзакции (например, для транзакции 11 это цена и кол-во)
reduction_type - тип скидки
reduction_info - доп. информация по скидке
auto_scheme_id - код схемы автоскидок (если участвует)
barcode - штрихкод товара/скидки
round_sum - зависит от типа транзакции (для 11 - сумма товара с учетом всех скидок/надбавок и условий их комбинирования, для 55 - сумма округления по чеку)
manager - код продавца-консультанта
comment - комментарий на позицию/чек
shortcut - наименование товара на момент закрытия чека
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: ДЭНСИ: КАССА бес принтера

Сообщение af5gor » 30 окт 2014, 16:54

Имею следующие вопросы:
1. По какому полю определить оплату налом и безналом?
2. Можно ли, при возврате товара, оплаченного безналом, возвращать покупателю налом?
3. Почему после внесения или выплаты каждый раз появляется транзакциия открытия смены?
af5gor
 
Постов: 54
Зарегистрирован: 24 сен 2014, 22:44

Re: ДЭНСИ: КАССА бес принтера

Сообщение af5gor » 30 окт 2014, 16:56

Прошу оценить правильность запроса для получения сумм z-отчета

Код: Выделить всё
--Last Closed Session
SELECT n_session
      FROM transaction tr   
   WHERE tr_type=61
   ORDER BY n_transaction DESC   
   LIMIT 1;

--16

--Calc Register from  transaction from  last session
SELECT 
   /* Внесение */
   sum(case when tr_type=50 then value_1 end ) as sum_in,
   sum(case when tr_type=50 then 1 end) as count_in,
   /* Выплаты */
   sum(case when tr_type=51  then value_1 end ) as sum_out,
   sum(case when tr_type=51 then 1 end) as count_out,
   /* Продажи наличкой+безнал */
   sum(case when tr_type=55 AND check_type = 0 then value_1 end ) as sum_Sales,
   sum(case when tr_type=55 AND check_type = 0 then 1 end) as count_Sales,
   /* Возвраты наличкой+наличкой */
   sum(case when tr_type=55 AND check_type = 1 then value_1 end ) as sum_Refund,
   sum(case when tr_type=55 AND check_type = 1 then 1 end) as count_refund,   
   /* Наличка в кассе на конец смена = временно для отладки*/
   sum(case when tr_type=50 then value_1 end ) - sum(case when tr_type=51  then value_1 end ) +
   sum(case when tr_type=55 AND check_type = 0 then value_1 end ) - sum(case when tr_type=55 AND check_type = 1 then value_1 end ) as Cash
  FROM transaction tr   
   WHERE n_session=16
af5gor
 
Постов: 54
Зарегистрирован: 24 сен 2014, 22:44

Re: ДЭНСИ: КАССА бес принтера

Сообщение Бродяга_Джон » 30 окт 2014, 18:58

af5gor писал(а):Имею следующие вопросы:
1. По какому полю определить оплату налом и безналом?

если верно помню то 40 и 41 транзакция поле №9, код вида оплаты

af5gor писал(а):2. Можно ли, при возврате товара, оплаченного безналом, возвращать покупателю налом?

вообще-то нет

af5gor писал(а):3. Почему после внесения или выплаты каждый раз появляется транзакциия открытия смены?

фискальная операция в смене :-)
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: ДЭНСИ: КАССА бес принтера

Сообщение Alexander » 30 окт 2014, 19:49

Бродяга_Джон писал(а):если верно помню то 40 и 41 транзакция поле №9, код вида оплаты

Поле №10 - код вида оплаты (1 - нал, 2 - безнал)
В таблице transaction это колонка payment_type
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: ДЭНСИ: КАССА бес принтера

Сообщение Alexander » 30 окт 2014, 19:51

af5gor писал(а):2. Можно ли, при возврате товара, оплаченного безналом, возвращать покупателю налом?

Чисто технически, если возврат по номеру чека, то нет. Но есть возможность просто открыть чек возврата, подобрать в него возвращаемый товар и закрыть любым типом оплаты.
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: ДЭНСИ: КАССА бес принтера

Сообщение Бродяга_Джон » 30 окт 2014, 19:54

Alexander писал(а):
Бродяга_Джон писал(а):если верно помню то 40 и 41 транзакция поле №9, код вида оплаты

Поле №10 - код вида оплаты (1 - нал, 2 - безнал)
В таблице transaction это колонка payment_type

сорри, я для формата Атол вписал
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Пред.След.

Вернуться в Техподдержка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


cron

Кто сейчас на конференции

Сейчас посетителей на конференции: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (180) здесь было 29 апр 2024, 13:15

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1