+7 499 990-10-21

Запрос к transaction

Запрос к transaction

Сообщение kedr19 » 09 дек 2014, 11:08

Переписываю загрузку с касс в очередной раз как из файла так и прямым запросом. Прошу помочь в определении полей. В за комментированных полях после Then стоит ? нужно знать имя колонки от куда берутся данные. Методом подбора часть подобрал с остальными есть сомнения.
Все названия полей взяты из описания.

Код: Выделить всё
SELECT
  transaction.n_transaction AS "НомерТранзакции",
  transaction.tr_type AS "ТипТранзакции",
  transaction.tr_date_time AS "ДатаТранзакции",
  transaction.n_kkm AS "КодККМ",
  transaction.n_pc AS "НомерРМК",
  transaction.seller AS "КодКассира",
  transaction.n_session AS "НомерСмены",
  transaction.n_check AS "НомерЧека",
  transaction.n_doc AS "НомерДокумента",
  transaction.check_type AS "ТипЧека",
  CASE WHEN tr_type >= 11 and tr_type <= 14 THEN code END AS "КодТовара",
  CASE WHEN tr_type >= 15 and tr_type <= 38 THEN code END AS "ТипСкидки",
  CASE WHEN tr_type >= 40 and tr_type <= 41 THEN code END AS "КодВидаОплаты",
  CASE WHEN tr_type = 55 THEN code END AS "НомерЧекаВозврата",
  CASE WHEN tr_type = 14 THEN code_tax_group END AS "КодНалоговойГруппы",
  CASE WHEN tr_type = 14 THEN code_tax_rate END AS "КодНалоговойСтавки",
  CASE WHEN tr_type >= 15 and tr_type <= 38 THEN card_code END AS "ИнформацияПоСкидке",
  CASE WHEN tr_type >= 11 and tr_type <= 12 THEN value_1 END AS "ЦенаТовара",
  --CASE WHEN tr_type >= 15 and tr_type <= 38 THEN ? END AS "Ставка",
  --CASE WHEN tr_type >= 40 and tr_type <= 41 THEN ? END AS "СуммаОплаты",
  --CASE WHEN tr_type = 55 THEN ? END AS "ИтоговаяСуммаКлиента",
  --CASE WHEN tr_type = 50 THEN ? END AS "СуммаВнесения",
  --CASE WHEN tr_type = 51 THEN ? END AS "СуммаВыплаты",
  --CASE WHEN tr_type >= 60 and tr_type <= 63 THEN ? END AS "НаличностьВКассе",
  CASE WHEN tr_type >= 11 and tr_type <= 12 THEN value_2 END AS "КоличествоТовара",
  --CASE WHEN tr_type = 14 THEN ? END AS "СуммаНалога",
  --CASE WHEN tr_type >= 15 and tr_type <= 38 THEN ? END AS "СуммаСкидки",
  --CASE WHEN tr_type = 40 THEN ? END AS "СуммаСдачи",
  CASE WHEN tr_type >= 55 and tr_type <= 58 THEN value_2 END AS "ИтоговаяСуммаЧека",
  --CASE WHEN tr_type >= 60 and tr_type <= 63 THEN ? END AS "СменныйИтог",
  --CASE WHEN tr_type >= 11 and tr_type <= 12 THEN ? END AS "СуммаПозиции",
  --CASE WHEN tr_type >= 55 and tr_type <= 58 THEN ? END AS "СуммаЧекаБезОкругления",
  --CASE WHEN tr_type >= 60 and tr_type <= 63 THEN ? END AS "Выручка",
  CASE WHEN tr_type >= 11 and tr_type <= 12 THEN barcode END AS "ШтрихКод",
  CASE WHEN tr_type >= 40 and tr_type <= 41 THEN payment_type END AS "КодДополнительногоВидаОплаты",
  --CASE WHEN tr_type >= 11 and tr_type <= 12 THEN ? END AS "КодДополненияТовара",
  --CASE WHEN tr_type >= 15 and tr_type <= 38 THEN ? END AS "ВнутреннийКодСкидки",
  --CASE WHEN tr_type >= 11 and tr_type <= 12 THEN ? END AS "НомерСекции",
  --CASE WHEN tr_type >= 11 and tr_type <= 12 THEN ? END AS "КодМенеджера",
  --CASE WHEN tr_type >= 11 and tr_type <= 12 THEN ? END AS "Комментрарий",
  CASE WHEN tr_type = 55 THEN manager END AS "КодМенеджера",
  CASE WHEN tr_type = 55 or tr_type = 56 or tr_type = 11 or tr_type = 12 THEN comment END AS "Комментарий",
  transaction.value_1,
  transaction.value_2,
  transaction.reduction_type,
  transaction.reduction_info,
  transaction.auto_scheme_id,
  transaction.gain,
  transaction.round_sum,
  transaction.protokol_type,
  transaction.shortcut
FROM
  public.transaction;


Спасибо за помощь!
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Запрос к transaction

Сообщение af5gor » 09 дек 2014, 17:47

Вот в теме http://dnc.ru/forum/viewtopic.php?f=16&t=1124 разработчики кое-какую инфу подкинули.
af5gor
 
Постов: 54
Зарегистрирован: 24 сен 2014, 22:44

Re: Запрос к transaction

Сообщение Alexander » 09 дек 2014, 21:00

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

Re: Запрос к transaction

Сообщение kedr19 » 09 дек 2014, 22:28

Отлично, дополню чего не было. Замысел простой получить данные по каждой транзакции отдельно в разные колонки и запросом заполнить таблицу значений в УФ. Полученные данные что из файла что с запроса, поместить в ТЗ и далее их обрабатывать. Подобный метод работает быстрее и визуально в коде понятнее. Сейчас работаю над улучшением понятийности кода, возможности грузить одним и тем же методом как с файла так и прямым запросом. нароботки выложу частично сюда. кому нужно вышлю на почту. Это в се во внешней обработке под УФ
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Запрос к transaction

Сообщение Alexander » 10 дек 2014, 16:31

Таблица с описанием полей в зависимости от типа транзакции - во вложении. В ней не хватает только описания для новых типов транзакций - 44 (инвентаризация через кассу) и 33 (подтверждение перемещения товаров). Эти типы транзакций появятся в готовящейся сейчас к выпуску сборке 1.3.0.
Вложения
Описание полей transaction.zip
(11.55 КБ) Скачиваний: 229
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Запрос к transaction

Сообщение kedr19 » 11 дек 2014, 13:19

Огромное спасибо!!!

Раньше в типе транзакции 55 был Номер чека возврата, по-моему в колонке code. Сейчас не наблюдаю его, куда он пропал?)
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск


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

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

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


cron

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

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

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