Коррекция чека в 1С:Розница

Опубликовал valery ziyazutdinov (west__) в раздел Обработки - Обработка документов

Простенькая обработка для ручного корректирования некоторых реквизитов документа "Чек ККМ" в типовой конфигурации 1С:Розница 1.0.

Обработка позволяет менять реквизиты уже пробитого или заархивированного чека ККМ, не касаясь при этом остальных данных самого документа.

В этой версии реализованы пока только:

 1. Замена товара (и/или характеристики этого товара)  на другой товар (и/или характеристику этого товара)

 2. Смена даты чека

 3. Смена статуса чека (Архивный, Пробитый, Аннулированный)

 4. Простенькая защита от дурака

 5. Исправлена пара ошибок выбора характеристики товара

 6. Добавлен отбор характеристик для выбора по наличию штрих-кода

 

МИНУСЫ:

- Пока что не реализованно сохранение бэкапной копии исходного документа (не придумал ещё как). В связи с этим настоятельно рекомендую делать архивные копии.

- Документ "Отчет о розничных продажах" необходимо перезаполнять вручную.

Скачать файлы

Наименование Файл Версия Размер
Изменение чека для Розницы начиная с версии 1.0.16.*
.epf 16,85Kb
22.11.15
8
.epf 1.1b 16,85Kb 8 Скачать
Изменение чека для Розницы до 1.0.16.*
.epf 15,14Kb
16.12.09
281
.epf 1.0b 15,14Kb 281 Скачать

См. также

Комментарии
1. Юрий Тимофеев (Tatitutu) 3568 16.12.09 17:01 Сейчас в теме
обработка то хорошая , но строго для тех людей кто понимает что делает и делает это во блага (себя любимого - шутка)

и называется так хороошо "Замена товара в чеке"

ты представь себе сколько сейчас продавцов скачают и наменяют (а % тебе будут слать - ты БОГАТ)

менять можно даже если чек пробит по ФР

ИМХО.Страшная эта штука - она больше вреда принесет , чем пользы.
Продумай на доступом (лог журнала пусть ведет, бекап(откат) додумай)
2. valery ziyazutdinov (west__) 12 16.12.09 17:11 Сейчас в теме
(1) Огромное спасибо, за отличные советы! Про лог сразу и не подумал..

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

Постараюсь в скором времени довести до ума =)
3. Юрий Тимофеев (Tatitutu) 3568 16.12.09 17:22 Сейчас в теме
(2) добавляй проверку прав (как минимум Админ)
да и Админам это нежно, поверь - приведет только к хаусу
потом будешь не только архивный чеки разбирать но и за оперативные отвечать. Без контроля и проверки (истории) такого можно наворотить, что потом ни одна обработка не поможет.
Тот кто продумывал логику программы изначально - ставил условие
"проведен - не хрен трогать"
Живи по уставу - завоюешь честь и славу"
лучше продавцов "пугайте" сильнее за косяки, а то они вообще расслабятся
4. valery ziyazutdinov (west__) 12 16.12.09 17:38 Сейчас в теме
(3) Чего-то от Ваших слов мне не по себе стало - действительно "монстра" создал. Верно подмечено.
А ещё сначала думал её администраторам отдать на пользование.. нафиг-нафиг! С историей и бэкапом обязательно разберусь сначала.

5. stalnoypes (stalnoypes) 19.01.10 13:28 Сейчас в теме
Позвольте! А как Вы собираетесь изменить данные в памяти фискального регистратора, если мне не изменяет память, то по стечению обстоятельств фискальный регистратор имеет встроенную память для контроля проверяющими органами и пробитый чек аннулировать можно только в день его проведения до закрытия смены(т.е. если мы с вами хотим аннулировать чек прошлого периода, то мы получим результат только в базе, а никак не повлияем на результат в памяти "хитрого устройства", а также не вижу смысла подмены характеристик или товара - при возврате товара к Вам придет покупатель и покажет чек, в итоге вы не увидите товар пробитый в его чеке у себя в базе...)? Много вопросов... хотя задумка хороша, но она обязательно должна реализовывать действительность и в памяти регистратора, и иметь ограничения по доступу.
6. valery ziyazutdinov (west__) 12 19.01.10 16:01 Сейчас в теме
(5) Стоп! Во-первых, в эклз мы никак не залезем и это запрещено законом. Аннулирование сделано для того, чтобы при ошибке пробития (случай когда чек есть в базе, но его нет в ККМ) можно было поправить ситуацию.

а также не вижу смысла подмены характеристик или товара - при возврате товара к Вам придет покупатель и покажет чек, в итоге вы не увидите товар пробитый в его чеке у себя в базе...


Во-вторых, в любом случае чек в базе мы найдём по его номеру. А если мы действительно пробили не тот товар, то пересорт и инвентаризация нам помогут конечно же. Но не во всех случая это возможно, иногда для оперативного контроля в базе необходимо иметь актуальную информацию об остатках, А это возможно только при замене товара в чеке и Z-отчёте. Сам по себе архивный чек не влияет на остаток, так что ничего страшного в итоге мы не делаем, если занимаемся только архивными чеками, но зато получаем верные отчёты по чекам.

а ещё вот:
и пробитый чек аннулировать можно только в день его проведения до закрытия смены


Чек нельзя аннулировать после его пробития, это тоже незаконно, можно лишь оформить возврат на товары из чека (до закрытия смены, конечно же).
7. Михаил Ражиков (tango) 466 19.01.10 16:04 Сейчас в теме
(6) "эклз мы никак не залезем"
смените обслуживающую организацию
8. valery ziyazutdinov (west__) 12 19.01.10 17:49 Сейчас в теме
Ещё разок для не особо внимательных читающих:
в эклз мы никак не залезем и это запрещено законом
9. Михаил Ражиков (tango) 466 19.01.10 17:52 Сейчас в теме
"... и з/п у нас вся пушистая!"
10. valery ziyazutdinov (west__) 12 19.01.10 18:37 Сейчас в теме
(9)проконтролировать изменения в эклз гораздо проще.. конечно, найдутся изворотливые люди. но смысл моей обработки не в том, чтобы кого-то обманывать, а чтобы упростить жизнь операторам.
11. stalnoypes (stalnoypes) 20.01.10 09:55 Сейчас в теме
О чем я в принципе и говорю, что данные телодвижения запрещены законом... Поэтому я и не вижу в ней смысла, тем более, что я еще ни разу не встречал Розницу без ЭКЛЗ..
12. valery ziyazutdinov (west__) 12 20.01.10 18:11 Сейчас в теме
(11)С лета прошлого года организациям, переведённым на ЕНВД по отдельным видам деятельности, разрешается не использовать ЭКЛЗ в розничной торговле. Т.к. что пожалуйста. А полезность этой обработки я уже описал (см. комм. №(6)). Если кому ещё не очень понятно, пишите - постараюсь объяснить. ;)
13. Александр Волков (aavolkoff) 63 24.01.10 16:25 Сейчас в теме
Здравствуйте!

Как некогда автор и разработчик механизма статусов чеков ККМ могу сказать, что:

- Изменение данных архивного документа повлечет за собой несоответствие отчетов по чекам и по регистрам. Для того чтобы этого не произошло необходимо при изменении данных в чеке менять данные в связанном документе "ОтчетОРП" (предварительно убедившись, что "ОтчетОРП" проведется задним числом и нигде ничего не всплывет :) ).

- Изменение данных о товарах пробитого чека, в принципе, возможно если не менять сумму чека (но, в любом случае, нежелательно). Как сказано в (3) "Проведен - нехрен трогать" - примерно такой логики, мне кажется, следует придерживаться вообще всегда, но это, увы противоречит основной логике типовых решений "1С" :)

P.S. При разработке механизмов есть такая штука, как цель, требования и задачи. Советую их описать и все станет понятно :)

Александр Волков,
В прошлом автор и разработчик "1С: Розница 8".
14. valery ziyazutdinov (west__) 12 24.01.10 17:39 Сейчас в теме
(13)Большое спасибо, приятно послушать мнение разработчика.

На самом деле я полностью согласен с "Проведен - нехрен трогать"(с), если предусмотрен другой механизм корректировки ошибочных данных. Но и так не всегда получается (я говорю только о своей ситуации, когда отчётность надо предоставлять без всяких лишних движений. если кому это не нужно, ради бога..).

А на счёт:
- Изменение данных архивного документа повлечет за собой несоответствие отчетов по чекам и по регистрам. Для того чтобы этого не произошло необходимо при изменении данных в чеке менять данные в связанном документе "ОтчетОРП"

Это я понимаю, админ сам должен поправить отчёт о продажах, конечно хотелось бы всё делать автоматически, но пока руки не дошли.

Ещё раз спасибо.
15. Л Изм (leon_031275) 16.12.10 16:21 Сейчас в теме
СПАСИБО ЗА ОБРАБОТКУ!!!! ОЧЕНЬ ПОМОГЛА. :D
16. Sk0rp (Sk0rp) 100 25.08.11 21:51 Сейчас в теме
Очень помогла.
Когда сбоит ФР и в документе не ставится отметка о пробитии чека, хотя сам чек вылез и в памяти ККV учтен - это единственная возможность исправить косяк.
Единственно, я бы удалял и создавал новый чек в транзакции, что бы вдруг не получилось, что старый чек будет удален, а новый не создан.
17. Griper Ink (griper) 21.09.11 11:20 Сейчас в теме
Очень полезная обработка для исправления чеков. Большое спасибо.
18. Алексей Тарасов (overdriver) 17.07.12 13:55 Сейчас в теме
Полезная обработка. Начал писал такую сам, но вовремя заглянул сюда и писать не пришлось :)
Есть замечание, товар и характеристика меняется для всей строки чека. А если нужно заменить только одну позицию и из нескольких проданных?
Пример:
я собираюсь использовать данную обработку для замены характеристики, в моем случае размера одежды. Продали пять футболок S, но спустя час принесли обратно одну и попросили поменять на M, вот тут эта обработка и нужна, чтобы не совершать лишних телодвижений с возвратами. Но так, как количество никак не учитывается, то отработает неверно
19. Алексей Тарасов (overdriver) 17.07.12 19:11 Сейчас в теме
(18) в продолжение. Дописал проверку количества. Ниже кусок кода из процедуры ЗаменаТовараЧека(). Может кому пригодится

	// Если нашли строку со старым товаром,
	// то заменяем в ней товар на Новый Товар с Новой Характеристикой.
	Если СтрокаТовара  <> Неопределено Тогда
		Если СтрокаТовара.Количество=1 тогда
			СтрокаТовара.Номенклатура = ПулТовара.НовыйТовар;
			СтрокаТовара.ХарактеристикаНоменклатуры = ПулТовара.ХарактеристикаНовая;
		ИначеЕсли СтрокаТовара.Количество>1 тогда
			СтрокаТовара.Количество = СтрокаТовара.Количество-1;
			СтрокаТовара2 = Отчет.Товары.Добавить();
			ЗаполнитьЗначенияСвойств(СтрокаТовара2,СтрокаТовара);
			СтрокаТовара2.ХарактеристикаНоменклатуры = ПулТовара.ХарактеристикаНовая;
		Иначе
			Возврат Ложь;
		КонецЕсли;
	Иначе
		Результат = "Не корректно задан старый товар для замены!";
		Возврат Ложь;
	КонецЕсли;	
...Показать Скрыть
20. artem senkovskiy (sazabi) 06.03.13 16:54 Сейчас в теме
Планируете ли доработку для массового изменение состояния чеков?
21. valery ziyazutdinov (west__) 12 06.03.13 21:30 Сейчас в теме
(20)Если вопрос будет актуален до понедельника, то на выходных займусь.
22. valery ziyazutdinov (west__) 12 06.03.13 21:32 Сейчас в теме
(19) overdriver, Спасибо, буду учитывать..