Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Откладываение/Восстановление чеков
Форумы общения пользователей продуктов АТОЛ > Программное обеспечение Front-Office > Frontol для Win32 — предприятия торговли
zenik
Есть желание видеть в выгрузке запись при откладывании и восстановлении чека. Поясню: есть у меня отчет - чековая лента. формируется в беке по данным с выгрузки. При откладывании чек "неожиданно" заканчивается и начинается другой. Потом в другом месте закрывается один чек и после него сразу еще одно закрытие. Выглядит "немного странно" и требует дополнительных комментариев со стороны программиста.
Поясню 2:
В некоторых подразделениях (удаленных) было разрешено закрывать смену при наличии отложенного чека. Когда вся эта эпопея с егаисом началась... народу сложно было сориентироваться - откладывали все подряд. А еще при этом 2 ФР на кассе, по одному сумма прошла, по другому нет... Разрыв шаблонов. По выгрузке ничерта не поймешь куда деньги ушли...
так что если вдруг будет желание сделать хорошо для пользователей - сделайте пжлста.
АТОЛ: Средних Владимир
Как вы себе это представляете?
Опишите, пожалуйста
zenik
Цитата(АТОЛ: Средних Владимир @ 16.11.2018, 21:49) *
Как вы себе это представляете?
Опишите, пожалуйста

№ транзакции = 53 - откладывание чека
№ транзакции = 54 - восстановление чека.
Заполняется по подобию транзакций 55, 56
В выгрузке выглядит примерно так:
Цитата
1;27.09.2018;9:11:24;42;18;104976;100686;;;;1;223;0;833;0;223;2;;;223,9;0;0;1;0;;18/833/104976;23;0;;;;;;;;0;0;;;;;;
2;27.09.2018;9:11:25;11;18;104976;100686;263932;;223,9;1;223;0;833;223;223;2;;;223,9;0;0;1;0;;18/833/104976;23;0;;;;0;;;0;;;;;0;;;;
3;27.09.2018;9:11:25;16;18;104976;100686;263932;;;1;0;0;833;223;223;2;;;0;0;0;1;0;;18/833/104976;23;0;;;;0;;;;;;;;;;;;
4;27.09.2018;9:11:25;14;18;104976;100686;263932;;1;1;0;0;833;223;223;2;;;0;;0;1;0;;18/833/104976;23;0;;;;;;;;;;;;;;;;
5;27.09.2018;9:11:26;53;18;104976;100686;;;0;1;223;0;833;0;223;2;0;;223,9;0;0;1;0;;18/833/104976;23;0;;;;;;;0;27.09.2018 9:11:26;0;0;;;;;;
6;27.09.2018;9:30:58;42;18;104977;100686;;;;1;36;0;833;0;36;2;;;36,9;0;0;1;0;;18/833/104977;23;0;;;;;;;;0;0;;;;;;
7;27.09.2018;9:30:59;11;18;104977;100686;128162;;36,9;1;36;0;833;36;36;2;;4607087361374;36,9;0;0;1;0
;;18/833/104977;23;0;;;;0;;;0;;;;;0;;;;
8;27.09.2018;9:30:59;16;18;104977;100686;128162;;;1;0;0;833;36;36;2;;4607087361374;0;0;0;1;0;;18/833/104977;23;0;;;;0;;;;;;;;;;;;
9;27.09.2018;9:30:59;14;18;104977;100686;128162;;1;1;0;0;833;36;36;2;;;0;;0;1;0;;18/833/104977;23;0;;;;;;;;;;;;;;;;
10;27.09.2018;9:31:20;40;18;104977;100686;;1;0;36;36;0;833;0;0;2;;1;;0;0;1;;;18/833/104977;23;;0;;;;;;;;
11;27.09.2018;9:31:20;43;18;104977;100686;;1;0;36;36;0;833;0;0;2;;1;;0;0;1;;;18/833/104977;23;;0;;;;;;;;
12;27.09.2018;9:31:20;49;18;104977;100686;;;0;;36;0;833;0;36;2;;;36,9;;0;1;0;;18/833/104977;23;0;;;;;;;;;;;;;;;;
13;27.09.2018;9:31:20;45;18;104977;100686;;;0;0;36;0;833;0;;2;;;0;;0;1;0;3817567458;5543/19174/102;23;0;;;;;;0;0 - Ошибок нет,0 - Ошибок нет,0 - Ошибок нет;;;;;;;;;
14;27.09.2018;9:31:20;55;18;104977;100686;;;0;1;36;0;833;0;36;2;0;;36,9;0;0;1;0;;18/833/104977;23;0;;;;;;;0;27.09.2018 9:30:58;0;0;;;;;;
15;27.09.2018;9:41:27;54;18;104976;100686;;;0;1;223;0;833;0;223;2;0;;223,9;0;0;1;0;;18/833/104976;23;0;;;;;;;0;27.09.2018 9:41:27;0;0;;;;;;
16;27.09.2018;9:41:29;40;18;104976;100686;;1;0;250;250;0;833;0;0;2;;1;;0;0;1;;;18/833/104976;23;;0;;;;;;;;
17;27.09.2018;9:41:29;43;18;104976;100686;;1;0;250;250;0;833;0;0;2;;1;;0;0;1;;;18/833/104976;23;;0;;;;;;;;
18;27.09.2018;9:41:29;40;18;104976;100686;;1;0;-27;-27;0;833;0;0;2;;1;;0;0;1;;;18/833/104976;23;;0;;;;;;;;
19;27.09.2018;9:41:29;43;18;104976;100686;;1;0;-27;-27;0;833;0;0;2;;1;;0;0;1;;;18/833/104976;23;;0;;;;;;;;
20;27.09.2018;9:41:29;49;18;104976;100686;;;0;;223;0;833;0;223;2;;;223,9;;0;1;0;;18/833/104976;23;0;;;;;;;;;;;;;;;;
21;27.09.2018;9:41:29;45;18;104976;100686;;;0;0;223;0;833;0;;2;;;0;;0;1;0;2652905247;5542/19173/102;23;0;;;;;;0;0 - Ошибок нет,0 - Ошибок нет,0 - Ошибок нет;;;;;;;;;
22;27.09.2018;9:41:29;55;18;104976;100686;;;0;1;223;0;833;0;223;2;0;;223,9;0;0;1;0;;18/833/104976;23;0;;;;;;;0;27.09.2018 9:11:23;0;0;;;;;;


Вроде не сложная доработка должна быть dry.gif
АТОЛ: Средних Владимир
Простите, я наверно слегка туповат.
Не могли бы вы словами сформулировать, что и как записывается в транзакцию?
Если чек три раз откладывался и восстанавливался - как быть?
zenik
Цитата(АТОЛ: Средних Владимир @ 18.11.2018, 2:10) *
Простите, я наверно слегка туповат.
Не могли бы вы словами сформулировать, что и как записывается в транзакцию?
Если чек три раз откладывался и восстанавливался - как быть?

Я исходниками фронтола не владею, мне сложно судить про внутреннюю кухню, но думаю у нас есть как минимум 2 варианта реализации. К примеру у нас есть операция "отмена чека" - она пишется в транзакции. И есть операция "восстановления отмененного чека". Оменять и восстанавливать я могу тоже хоть 3, хоть 4 раза. Фронтола под рукой сейчас нет и как там рисуются транзакции - посмотреть не могу. Но как то работает wink.gif (интуитивно предполагаю, что 56 транзакция меняется на 55 и всего делов). Но это не наш путь - ибо это не тру.

Второй путь - запись каждой операции откладывания/восстановления. 3 раза - так 3 раза.

К примеру:
Покупатель подошел с 1 товаром - пробили - 11 транзакция
Вспомнил что забыл что то - Отложили чек - 53 транзакция, пробили товары по другому чеку.
Восстановили отложенный = 54 транзакция, добавили товар - 11 транзакция. Перешли в расчет, а этот деятель еще и кошелек в машине забыл - отложили = 53....
Вернулся - еще пакет попросил... 54,11,41,43,45,49,55...
Суммы записываем по факту на момент отложили/восстановили. Важно знать, что чек меняет состояние dry.gif
Думаю как то так...
АТОЛ: Средних Владимир
А потом вы как это использовать будете?
Я - не представляю пока.
zenik
Цитата(АТОЛ: Средних Владимир @ 19.11.2018, 6:58) *
А потом вы как это использовать будете?

Открыли в городе магазин в котором есть все. ну пришел мужик.
- Есть у вас перчатки?
- Да есть. Вам какие?
- Коричневые.
- А вы их с чем носить будете?
- С пальто.
- А вы принесите нам пальто, что бы лучше цвет подобрать.
Тут другой мужик подходит и говорит:
- Не слушайте вы их, я уже и жопу показывал и унитаз приносил, а туалетную бумагу так и не купил...

Так вот, к чему это я... Есть у меня отчет... Чековая лента. Красивый. Давайте скрин покажу: https://yadi.sk/i/at1qVgtCXJe6aA
вот... идет чек, а после него хуяк... и новый чек. информации о расчете в чеке нет. Информации об отмене чека - тоже нет. Спрашивают у меня - "вас ис дас?". Я себе не доверяю - ищу косяк... мало ли - не догрузились транзакции. Просто чек отложили. А была бы там транзакция - я бы написал: "чек отложен". Красным цветом бы написал.
Листаем чековую ленту дальше: https://yadi.sk/i/s2AmsiSgHpG4OA и опять меня зовут... и опять страшивают - "ватс а фак?" А была бы там транзакция - я бы написал - чек восстановлен. Синим бы цветом написал... Да синий тут подойдет.

А еще вот какая история у меня случилась: звонят с удаленки и жалуются что отчет о продажах не совпадает по сумме с бумажкой с кассы. Начинаем рыть. Тут маленькое отступление - все выгрузки я записываю в БД MSSQL... по полям все разделено, каждая транзакцию в новую запись... поэтому могу следать так: (номера полей совпадают с номерами полей во фронтол)
Код
DECLARE @CashID SMALLINT
DECLARE @DT DATETIME

-- Параметры
SET @CashID = 15                -- Номер кассы
SET @DT = '20181029 00:00:00'    -- Дата

DECLARE @BEGIN DATETIME
DECLARE @END DATETIME

SET @BEGIN = dbo.BeginDay(@DT)
SET @END = dbo.EndDay(@DT)

DECLARE @@R TABLE (R23 SMALLINT, R4 SMALLINT, R17 SMALLINT, R10 REAL, R11 REAL, R12 REAL, R16 REAL)

INSERT INTO
    @@R
SELECT
    R23, R4, R17, SUM(R10) AS R10, SUM(R11) AS R11, SUM(R12) AS R12, SUM(R16) AS R16
FROM
    Report
WHERE
    R5 = @CashID AND DT BETWEEN @BEGIN AND @END
GROUP BY
    R23, R4, R17

INSERT INTO
    @@R
SELECT
    R2.R23, 0, R2.R4, R1.R10 + R2.R10, R1.R11 + R2.R11, R1.R12 + R2.R12, R1.R16 + R2.R16
FROM
    @@R AS R1
    LEFT JOIN
        @@R AS R2
            ON R1.R23 = R2.R23
            AND R2.R4 = 12
            AND R1.R17 = R2.R17
WHERE
    R1.R4 = 11
    AND R2.R23 IS NOT NULL

SELECT
    R.*, D.Name
FROM
    @@R AS R
LEFT JOIN
    dbo.DescriptTransaction AS D
        ON D.ID = R.R4
WHERE
    R.R4 NOT IN (40, 42, 55, 62, 120)
ORDER BY
    R4, R23, R17

Говоря простым языком: вижу накопленные суммы по каждой транзакции, в разрезе групп печати. (дополнительная запись нужна для вычитания 11 и 12 транзакции, что бы руками не считать суммы. сервис для ленивых.) И тут я вижу, что по 11 транзакции сумма не совпадает ни с 43 ни с 49 транзакцией... Но в 11 транзакции я вижу "ожидаемую суммы". так, ну я же себе не доверяю в первую очередь... поэтому проверяем непрерывность выгрузки. выгрузка непрерывна. еще раз запрашиваю выгрузку с кассы - результат не меняется. Делаю вывод что поломалась база и прошу прислать мне базу. Мне присылают базу и в базе я нахожу отложенный чек, закрытый по одной группе печати и не закрытый по другой. Времени потрачено дох... много... А вот была бы у меня транзакция - она была бы видна. и вывод о том, что чек отложен можно было сделать сразу. Эта история случилась не потому, что я такой тупой и не могу сразу это понять. Просто у меня на магазинах нельзя закрыть смену с отложенным чеком... и за мой не малый опыт работы - такого со мной не случалось и понять это быстро у меня не хватило опыта.

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

Что еще? А как я себе это представляю: откладывается чек - в транзакции делается запись, к примеру, с номером 53. Почему 53? Она не занята... и она логически встает в ряд с 55 и 56 транзакцией. Восстанавливаем чек - записываем транзакцию 54. Откладываем - 53. Восстанавливаем - 54. Откладываем - 53... Восстанавливаем... Но это уже на уровне бреда конечно. в "штатном режиме" обычно чек откладывается 1 раз. Важная информация в транзакции: дата, время, смена, номер чека, кассир... (это потом можно соединить с началом чека SQL запросом) 10, 11, 12, 16 поля - по вкусу, но было бы неплохо, если там будет информация.

В режиме он-лайн (да у меня читается оперативная сводка, и чековую ленту можно видеть тут же), 42 транзакцию можно соединить с 55 или 56... или получить хрен... ну то есть null в случае отложенного чека, но это будет предположение. А программа которая показывает аналитику не должна делать никаких предположений.
zenik
Цитата(zenik @ 19.11.2018, 11:23) *
В режиме он-лайн (да у меня читается оперативная сводка, и чековую ленту можно видеть тут же), 42 транзакцию можно соединить с 55 или 56... или получить хрен... ну то есть null в случае отложенного чека, но это будет предположение.

В опер-сводку не пишутся отложенные чеки
Но это не отменяет пожелание касательно других вариантов применения. dry.gif
АТОЛ: Средних Владимир
Вообще-то, у документа есть статус.
См. руководство Интегратора
Цитата
18.44. Document/Документы
...
12 State Integer
Состояние документа:
 0 – открыт;
 1 – закрыт;
 2 – отменён;
 3 – отложен;
 4 – зарезервирован.
АТОЛ: Царюков Роман
Цитата(АТОЛ: Средних Владимир @ 19.11.2018, 15:34) *
Вообще-то, у документа есть статус.
См. руководство Интегратора

Так это БД фронтола )
zenik
Цитата(АТОЛ: Средних Владимир @ 19.11.2018, 15:34) *
Вообще-то, у документа есть статус.
См. руководство Интегратора

У вас там либо школа специальная? "как правильно отвечать на форуме" blink.gif
Сергей Гуревич
АПну тему. Нужна транзакция для откладывания/восстановления
POUL
Цитата(zenik @ 19.11.2018, 15:42) *
У вас там либо школа специальная? "как правильно отвечать на форуме" blink.gif


Роман там директор smile.gif
АТОЛ: Средних Владимир
И...?
Что вы с ней будете делать, опишите.

Вот у вас в выгрузке закрытый чек, который один раз откладывали.
Или два раза откладывали.
И...?
zenik
Цитата(АТОЛ: Средних Владимир @ 13.3.2019, 13:11) *
И...?
Что вы с ней будете делать, опишите.

Вот у вас в выгрузке закрытый чек, который один раз откладывали.
Или два раза откладывали.
И...?

Мы будем знать ЗАКРЫЛИ отложенный чек или нет. Я уже приводил примеры - выше написано зачем, но от вас только одно"я тупой - я не понимаю".
Вот идут транзакции по чеку... 11,16,14,17... а потом идут такие же только уже от другого чека... внезапно... Вот вы как программист который выгружает данные поставьте себя на место программиста который загружает данные и попытайтесь понять, как вы будете ОДНОЗНАЧНО трактовать ситуацию, когда внезапно в середине чека идет другой чек. Откуда он взялся?
АТОЛ: Средних Владимир
Если у вас в выгрузке такие данные, значит в БД испорчены данные.

В выгрузку НЕ ПОПАДАЕТ НИ ОДИН незакрытый чек.
Если чек попал в выгрузку - значит он считается закрытым.
zenik
Цитата(АТОЛ: Средних Владимир @ 13.3.2019, 13:48) *
Если у вас в выгрузке такие данные, значит в БД испорчены данные.

В выгрузку НЕ ПОПАДАЕТ НИ ОДИН незакрытый чек.
Если чек попал в выгрузку - значит он считается закрытым.

Я приводил пример, когда 2 ГП, по одной чек закрыли по другой нет. Зетка с кассы говорит одну сумму, выгрузка другую. Касса от меня за 150 км... доступа у меня к ней нет. Есть только выгрузка. Вот сидишь, смотришь на выгрузку и думаешь - либо там базе 3.14-здец либо там еще что. dry.gif

Да, я понимаю теперь, почему вы этого не сделаете... Что даже в этом случае - я все равно не увижу этот чек и транзакций по нему...
POUL
расскажите лучше подробнее о проблеме
zenik
Цитата(POUL @ 13.3.2019, 14:35) *
расскажите лучше подробнее о проблеме

Да не издевайтесь вы надо мной. Если лениво читать сначала - хули толку что я буду по 3 раза писать blink.gif
Первое пожелание было, что бы в отчет можно было выводить чек последовательно. В принципе решается собиранием чека от момента закрытия.
Второе - когда при закрытии чека по 2-м ГП на одном ФР закрытие проходило на втором нет. Чек не будет выгружен совсем. Поэтому не будет и транзакции со сторно, даже если бы они были.
Тема исчерпана, можно закрыть.
Сергей Гуревич
Ну я бы совсем не закрывал тему. Нам например нужно знать количество отложенных для того что бы контролировать продавцов. Заведки будут знать сколько отложенных и разбираться в причинах. Просто механизмом откладывания часто злоупотребляют. Запрет закрытия смены если есть отложенные, тоже не подходит. Не очень охота итшникам 23:00 в субботу разбираться с чеками.
АТОЛ: Царюков Роман
Вот прям если ток количество и если прям оч надо, то считайте их и пишите в глобальную переменную
zenik
Цитата(Сергей Гуревич @ 13.3.2019, 18:43) *
Нам например нужно знать количество отложенных для того что бы контролировать продавцов.

Чек который отложен и не закрыт - не будет выгружен. Про что и разговор. Так что будет там транзакция или нет - вы ее все равно не увидите... Это тогда надо и делать выгрузку отложенных чеков, что будет ломать сам механизм выгрузки, так как не в каждой товароучетке будет учтено наличие отложенных чеков... Вот и вся песня.
АТОЛ: Царюков Роман
Цитата(zenik @ 13.3.2019, 21:15) *
Чек который отложен и не закрыт - не будет выгружен. Про что и разговор. Так что будет там транзакция или нет - вы ее все равно не увидите... Это тогда надо и делать выгрузку отложенных чеков, что будет ломать сам механизм выгрузки, так как не в каждой товароучетке будет учтено наличие отложенных чеков... Вот и вся песня.

Тут другая песня нужна - про количество и расстрел кассиров
алексас
Прям вот понадобилось видеть количество и на какие позиции отложили чеки.

Вот в настройках фронтола есть 118 галочек что делать при закрытии смены.
А можно 119 галочку - "Выгрузить отложенные чеки."

А туда выгружаем как есть (как предусмотрено обычной выгрузкой) тогда и не придётся ломать механизм выгрузки. Только имя файла будет другим (). Наши товароучётки будут сами сортировать откуда брать товарные отчёты, а откуда брать остальное...

Очень надобно...
zenik
Цитата(алексас @ 6.8.2019, 12:58) *
Очень надобно...

Если вы пытаетесь на отложенные чеки возложить какой то бизнес-процесс, то не надо этого делать, оно совсем не для этого.
алексас
Цитата(zenik @ 6.8.2019, 14:06) *
Если вы пытаетесь на отложенные чеки возложить какой то бизнес-процесс, то не надо этого делать, оно совсем не для этого.



Да какой нафиг бизнес процесс. Хочется возложить административный процесс. Контроль со стороны администратора системы.
про егаис наверное слыхали. Дык вот некоторые ошибки приводят к остановке кассы. И есть только один вариант не копить очередь, пока кассир позвонит, оператор проверит и т д. Чек не закрывается при ошибке того-же доброекучево егаис. Попробуйте закрыть чек при продаже тогоже алкоголя который проведён по карте, деньги списались, а оператор забыла подтвердить накладную в егаис (можно не подтверждать в регламентный срок). Дык вот есть один вариант - отлоджить чек. и дальше с ним разбираться. сейчас фронтол предлагает этот процесс пустить на самотёк. Вы-ж поймите что у кассира нет возможности сразу выявить проблему. Этот рычаг есть только у администратора системы. Фронтол же всётаки не счёты. Это-ж инструмент, програмно-аппаратный комплекс который может нам помочь, как администраторам. Но помогите и Вы нам контролить что делают наши директора, продавцы, операторы. Этож не сильно затруднительно сделать выгрузку ещё и по отложенным чекам. Ведь не сильно сложно. Тем более мы-ж не бесплатно просим. Заранее спасибо!

Помогите вытаскивать эту информацию относительно отложенных чеков.

ps Часто продавцы не виноваты что им приходится показывать обходные пути. Они и знать не знали. Но когда приходится удалённо подключаться и всё одно сбрасывать чеки, рано или поздно приходится им показывать как обойти. Этож не правильно.
АТОЛ: Царюков Роман
Так и не понял, как вы будете разбираться с выгрузкой отложенных чеков
Подробнее расскажите
zenik
Цитата(алексас @ 6.8.2019, 23:20) *
Попробуйте закрыть чек при продаже тогоже алкоголя который проведён по карте, деньги списались, а оператор забыла подтвердить накладную в егаис (можно не подтверждать в регламентный срок). Дык вот есть один вариант - отлоджить чек. и дальше с ним разбираться.

blink.gif Нормальный подход. А покупатель что должен при этом делать? Тоже ждать, когда придет "умелец дел административных"?
Отменить платеж, предложить другую бутылку, которую подтвердили в егаисе... Не надо решать проблемы учета за счет отложенных чеков.
АТОЛ: Средних Владимир
Цитата(алексас @ 6.8.2019, 23:20) *
Помогите вытаскивать эту информацию относительно отложенных чеков.

В настоящий момент что-то такое можно организовать через печать отчета (см. Системные справочники\Прочее\Отчеты)
отчет можно сохранить в файл (смотрите использование функции ExportReport)
и отправить его (к примеру, банально CreateOleObject() + запуск утилиты которая отправит в сетевую папку /почту/FTP)
lmlg1
Цитата(АТОЛ: Средних Владимир @ 7.8.2019, 10:07) *
В настоящий момент что-то такое можно организовать через печать отчета (см. Системные справочники\Прочее\Отчеты)
отчет можно сохранить в файл (смотрите использование функции ExportReport)
и отправить его (к примеру, банально CreateOleObject() + запуск утилиты которая отправит в сетевую папку /почту/FTP)

Здравствуйте, итого прошло 3года, появилась какая нибудь возможность выгружать, запрашивать список отложенных чеков и кассы для административного контроля без дописываний?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2022 IPS, Inc.