Андрей Овсянкин | Профессиональный разработчик | ООО Серебряная Пуля

«1Script.Web - будущее интернет-приложений на 1Script»

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

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

Обработки - Обработка документов

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

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

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

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

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

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

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

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

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

 

МИНУСЫ:

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

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

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

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

См. также

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

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

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

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

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

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

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

13. aavolkoff 68 24.01.10 16:25 Сейчас в теме
Здравствуйте!

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

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

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

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

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

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

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

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

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

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


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

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


Чек нельзя аннулировать после его пробития, это тоже незаконно, можно лишь оформить возврат на товары из чека (до закрытия смены, конечно же).
7. tango 480 19.01.10 16:04 Сейчас в теме
(6) "эклз мы никак не залезем"
смените обслуживающую организацию
8. west__ 14 19.01.10 17:49 Сейчас в теме
Ещё разок для не особо внимательных читающих:
в эклз мы никак не залезем и это запрещено законом
9. tango 480 19.01.10 17:52 Сейчас в теме
"... и з/п у нас вся пушистая!"
10. west__ 14 19.01.10 18:37 Сейчас в теме
(9)проконтролировать изменения в эклз гораздо проще.. конечно, найдутся изворотливые люди. но смысл моей обработки не в том, чтобы кого-то обманывать, а чтобы упростить жизнь операторам.
11. stalnoypes 20.01.10 09:55 Сейчас в теме
О чем я в принципе и говорю, что данные телодвижения запрещены законом... Поэтому я и не вижу в ней смысла, тем более, что я еще ни разу не встречал Розницу без ЭКЛЗ..
12. west__ 14 20.01.10 18:11 Сейчас в теме
(11)С лета прошлого года организациям, переведённым на ЕНВД по отдельным видам деятельности, разрешается не использовать ЭКЛЗ в розничной торговле. Т.к. что пожалуйста. А полезность этой обработки я уже описал (см. комм. №(6)). Если кому ещё не очень понятно, пишите - постараюсь объяснить. ;)
15. leon_031275 16.12.10 16:21 Сейчас в теме
СПАСИБО ЗА ОБРАБОТКУ!!!! ОЧЕНЬ ПОМОГЛА. :D
16. Sk0rp 109 25.08.11 21:51 Сейчас в теме
Очень помогла.
Когда сбоит ФР и в документе не ставится отметка о пробитии чека, хотя сам чек вылез и в памяти ККV учтен - это единственная возможность исправить косяк.
Единственно, я бы удалял и создавал новый чек в транзакции, что бы вдруг не получилось, что старый чек будет удален, а новый не создан.
17. 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.ХарактеристикаНоменклатуры = ПулТовара.ХарактеристикаНовая;
		Иначе
			Возврат Ложь;
		КонецЕсли;
	Иначе
		Результат = "Не корректно задан старый товар для замены!";
		Возврат Ложь;
	КонецЕсли;	
Показать
22. west__ 14 06.03.13 21:32 Сейчас в теме
(19) overdriver, Спасибо, буду учитывать..
20. sazabi 06.03.13 16:54 Сейчас в теме
Планируете ли доработку для массового изменение состояния чеков?
21. west__ 14 06.03.13 21:30 Сейчас в теме
(20)Если вопрос будет актуален до понедельника, то на выходных займусь.
Оставьте свое сообщение