Документ «Розничная продажа (чек)» и интеграция с WebKassa 6

Документ ЧекККМ регистрирует продажу в розницу и возвраты, пробивая фискальные чеки через подключенную онлайн-ККМ (интеграция WebKassa 6). Кассовое рабочее место кассира настраивается через Справочник.НастройкиИнтеграцииWebKassa и управляется в АРМ Обработка.Панель1СWebKassa. Проведение документа списывает себестоимость со склада (регистр РеализацияТМЗ), начисляет НДС и формирует бухгалтерские проводки (Дт 62.03 Кт 6010, Дт 7010 Кт 1320, Дт 1010/1030 Кт 62.03).

Бухгалтерия для Казахстана, ред. 3.0 · v3.0.72.1 · обновлено 2026-06-05

🎯 Что это и зачем

В розничной торговле каждый платеж покупателя должен сопровождаться выдачей фискального чека. В Казахстане для этого широко используется онлайн-фискализация через систему WebKassa. Интеграция 1С с WebKassa 6 позволяет пробивать чеки непосредственно из учетной системы без ручного ввода на внешних кассах.

Интеграция состоит из трех ключевых компонентов: 1. Справочник «Настройки интеграции WebKassa»: Хранит параметры подключения (URL, пользователи) для каждой организации. 2. Обработка «Панель 1С WebKassa»: Кассовое АРМ администратора/кассира для регистрации касс, управления кассирами, токенами ОФД и просмотра истории. 3. Документ «Розничная продажа (чек)» (ЧекККМ): Отражает факт продажи или возврата товаров, рассчитывает суммы оплаты и посылает команду на печать фискального чека в WebKassa.

Кто работает: кассиры, продавцы-консультанты и системные администраторы при первичной настройке касс.

🧭 Где найти в программе

📷 СКРИН 01
СКРИН 01 — Панель 1С:WebKassa с выбором организации и доступными командами управления кассами и кассирами. (AccountingKZ30 во Fresh; маршрут: Банк и касса → Панель 1С:WebKassa)

👤 Часть 1. Для пользователя

Разбираем первичную настройку интеграции, работу в панели WebKassa, создание чека, прием оплаты (в т.ч. картой), возврат товара, создание чека на основании счёта и закрытие смены.

Урок 1. Настройка интеграции с WebKassa 6

Когда: вы впервые подключаете организацию к фискальному оператору WebKassa.

  1. Откройте «Панель 1С:WebKassa».
  2. Если для вашей организации настройки не созданы, перейдите в «Настройки интеграции» (или создайте новый элемент справочника настроек).
  3. Укажите Организацию и Адрес сервиса WebKassa (например, https://webkassa.kz/api).
  4. В табличной части Пользователи добавьте имена пользователей 1С, которым разрешена продажа на кассах этой организации.
  5. Нажмите «Записать и закрыть».
📷 СКРИН 02
СКРИН 02 — Форма настройки интеграции WebKassa: выбор организации, адреса API и списка кассиров.

Урок 2. Рабочее место кассира (АРМ Панель WebKassa)

Панель WebKassa позволяет управлять кассами без перехода в личный кабинет на сайте фискального оператора.

Доступные операции:

📷 СКРИН 03
СКРИН 03 — Процедура смены адреса сервиса и обновления токена ОФД в Панели WebKassa.

Урок 3. Оформление розничной продажи (новый чек)

Когда: покупатель стоит у кассы с товарами и готов расплатиться.

Шаг 1. Создаем чек

В списке чеков нажмите «Розничная продажа». Система откроет новый документ ЧекККМ с автоматически заполненными полями: Организация, Касса, Склад и Валюта (по умолчанию KZT).

Шаг 2. Подбор товаров

Вы можете добавлять товары тремя способами: 1. Сканирование штрихкода: Считайте штрихкод товара сканером. Номенклатура добавится в табличную часть автоматически с заполнением цены. 2. Подбор по каталогу: Нажмите кнопку «Подбор» (ПодборТовары), выберите товары из открывшегося списка. 3. Поиск по наименованию: Добавьте строку вручную и начните вводить название товара.

Шаг 3. Прием оплаты

  1. После формирования списка товаров и проверки итоговой суммы нажмите кнопку «Принять оплату» (ПринятьОплату). Откроется диалоговое окно оплаты.
  2. Наличные: Укажите полученную сумму наличных. Система автоматически рассчитает сдачу.
  3. Безналичные (карта): Выберите тип оплаты «Банковская карта». Система пошлет сигнал на эквайринговый терминал (при интеграции) или попросит приложить карту к терминалу. После успешной транзакции терминал вернет ссылочный номер.
  4. Смешанная оплата: Вы можете указать, например, 5000 тенге наличными и остаток по карте в табличной части оплаты.
  5. Нажмите «Выполнить операцию». Документ запишется, проведется в базе и распечатает чек через WebKassa.
📷 СКРИН 04
СКРИН 04 — Диалог приема оплаты в чеке ККМ: расчет сдачи и выбор платежных карт.

Урок 4. Возврат товара по чеку

Когда: покупатель возвращает товар, купленный ранее.

  1. В списке чеков найдите исходный чек продажи.
  2. Нажмите кнопку «Возврат по чеку» (ВозвратПоЧеку). Создастся новый документ с видом операции «Возврат» и ссылкой на исходный чек в поле Основание.
  3. Табличные части товаров и оплат автоматически заполнятся данными из исходного чека.
  4. Если покупатель возвращает не всю покупку, удалите лишние строки или уменьшите количество товаров до фактически возвращаемых.
  5. Нажмите кнопку «Принять оплату» (возврат денег).
  6. Нажмите «Провести». Деньги спишутся из кассы, товар вернется на склад, а WebKassa распечатает фискальный чек возврата.
📷 СКРИН 05
СКРИН 05 — Оформление возврата товара: связь с чеком-основанием и расчет суммы возврата.

Урок 5. Создание чека на основании счёта покупателю

Когда: покупатель оплачивает предоплаченный заказ или корпоративный клиент предъявляет счёт.

  1. Откройте документ «Счёт на оплату покупателю» (СчетНаОплатуПокупателю), нажмите «Создать на основании» → выберите «Чек ККМ».
  2. Система автоматически заполнит:
    • Контрагент и ДоговорКонтрагента из счёта.
    • Табличную часть Товары из табличной части счёта (номенклатура, количество, цены).
    • Поле СчетНаОплатуПокупателю (основание для связи).
  3. Откорректируйте Склад и Кассу (если не подставились по умолчанию).
  4. Нажмите «Принять оплату» → оформите оплату как в Уроке 3.
  5. После проведения статус счёта изменится на «Оплачен», а стандартные движения чека сформируются автоматически.
📷 СКРИН 07
СКРИН 07 — Создание чека ККМ на основании счёта покупателю: автозаполнение ТЧ Товары из счёта.

Урок 6. Закрытие смены и отчет о розничных продажах

Когда: рабочий день завершен, кассир должен сдать выручку и снять Z-отчет.

  1. В списке чеков ККМ нажмите кнопку «Закрыть смену» (ЗакрытьСмену).
  2. В диалоге «Закрытие смены» (ФормаЗакрытиеСмены) выберите Организацию и ИдентификаторУстройства (ККМ).
  3. Система автоматически:
    • Соберёт все проведённые чеки за смену (функция СформироватьОтчетыОРозничныхПродажах).
    • Суммирует продажи по видам оплаты.
    • Создаст и проведёт сводный документ «Отчет о розничных продажах» (ОтчетОРозничныхПродажах).
  4. WebKassa распечатает Z-отчет (фискальный отчет о закрытии смены) и обнулит смену в кассе.
  5. Во всех чеках за смену заполнится поле ОтчетОРозничныхПродажах, и они заблокируются для изменения.
📷 СКРИН 06
СКРИН 06 — Процесс закрытия смены: формирование Отчета о розничных продажах и печать Z-отчета.

Важно: все чеки смены должны иметь статус «Проведён». Если обнаружены непроведённые чеки, система предложит их провести или удалить перед закрытием.


🛠 Часть 2. Для программиста

Технический разбор структуры документа ЧекККМ, всех реквизитов и табличных частей, обработчиков событий, проводок, регистров, зависимостей, связей и заметок для разработчика.

Структура объекта

Документ.ЧекККМ — Реквизиты шапки (полный перечень)

Имя Тип Обязательность Зачем нужен
Автор Справочник.Пользователи Необязательный Пользователь, создавший документ (для аудита). Устанавливается в ПередЗаписью.
ВалютаДокумента Справочник.Валюты ShowError Валюта цен товаров и оплаты; влияет на пересчёт сумм. По умолчанию KZT.
ВидОперации Перечисление.ВидыОперацийРозничнаяПродажа Необязательный Определяет тип операции (Продажа / Возврат); влияет на форму и логику проводок.
ДоговорКонтрагента Справочник.ДоговорыКонтрагентов Необязательный Договор с контрагентом (обычно типовой для розницы); может подтягиваться автоматически.
ИдентификаторУстройства Справочник.ПодключаемоеОборудование Необязательный Устройство ККМ для передачи чека (интеграция с фискальным регистратором).
Касса Справочник.Кассы ShowError Место учёта денежных средств (касса магазина); обязательна для движений по оплате.
Комментарий Строка Необязательный Произвольное примечание к чеку.
Контрагент Справочник.Контрагенты Необязательный Покупатель (по умолчанию — «Розничный покупатель», предопределённый элемент).
КратностьВзаиморасчетов Число Необязательный Коэффициент пересчёта валюты взаиморасчетов с контрагентом.
КратностьДокумента Число Необязательный Коэффициент пересчёта валюты документа.
КурсВзаиморасчетов Число ShowError Курс валюты для расчётов с контрагентом (обязателен при валютных операциях).
КурсДокумента Число Необязательный Курс валюты документа (обычно совпадает с курсом взаиморасчетов).
НомерЧекаККМ Число Необязательный Номер фискального чека (присваивается ККМ или вручную); обнуляется при копировании.
Организация Справочник.Организации ShowError Юридическое лицо, от имени которого совершена продажа; используется для RLS.
Основание Документ.ЧекККМ ShowError Документ-основание для возврата (ссылка на исходный чек при возврате товара).
Ответственный Справочник.Пользователи Необязательный Лицо, ответственное за оформление чека (обычно кассир).
ОтчетОРозничныхПродажах Документ.ОтчетОРозничныхПродажах Необязательный Ссылка на сводный отчёт смены; если заполнен — проведение чека блокируется.
РучнаяКорректировка Булево Необязательный Признак ручного редактирования табличных частей (отменяет автозаполнение).
Склад Справочник.Склады ShowError Место хранения товаров для списания; обязателен при наличии товаров в ТЧ.
СтатьяДвиженияДенежныхСредств Справочник.СтатьиДвиженияДенежныхСредств Необязательный Статья для ДДС-отчётов (движение денежных средств).
СтруктурноеПодразделение Справочник.ПодразделенияОрганизаций Необязательный Подразделение организации (точка продаж).
СуммаВключаетНДС Булево Необязательный Флаг: цены указаны с НДС (влияет на расчёт суммы НДС).
СуммаДокумента Число Необязательный Итоговая сумма чека (заполняется автоматически как сумма ТЧ Товары + Услуги).
СчетНаОплатуПокупателю Документ.СчетНаОплатуПокупателю Необязательный Документ-основание (счёт); используется для заполнения табличных частей.
ТипЦен Справочник.ТипыЦенНоменклатуры Необязательный Тип цен для подбора товаров (розничная цена, оптовая и т.д.).
УчитыватьНДС Булево Необязательный Признак учёта НДС (влияет на видимость колонок НДС и формирование движений).

Табличные части

ТЧ «Товары» — полный перечень колонок

Перечень проданных товаров с количеством, ценами, счетами учёта и аналитикой.

Имя Тип Назначение
Номенклатура Справочник.Номенклатура Наименование товара. Обязательна для строки.
ЕдиницаИзмерения Справочник.КлассификаторЕдиницИзмерения Единица учёта (шт., кг, л и т.д.). Заполняется из карточки номенклатуры.
Коэффициент Число Коэффициент пересчёта единиц измерения (для неосновных ЕИ).
Количество Число Количество проданного товара. Должно быть > 0.
Цена Число Цена за единицу товара. Подтягивается из регистра цен по ТипЦен.
Сумма Число Стоимость (Количество × Цена, с учётом/без учёта НДС в зависимости от СуммаВключаетНДС).
СтавкаНДС Справочник.СтавкиНДС Ставка НДС (0%, 12%, без НДС). Определяется по номенклатуре.
СуммаНДС Число Сумма НДС по товарной позиции.
СчетУчетаБУ ПланСчетов.Типовой Счёт учёта товаров (обычно 1320 «Товары на складах»).
СчетДоходовБУ ПланСчетов.Типовой Счёт доходов от продажи (обычно 6010 «Доход от реализации товаров»).
СчетСписанияСебестоимостиБУ ПланСчетов.Типовой Счёт себестоимости (обычно 7010 «Себестоимость реализованных товаров»).
СчетУчетаНДСПоРеализации ПланСчетов.Типовой Счёт начисленного НДС (обычно 3130 «НДС к уплате»).
НДСВидОперацииРеализации Справочник.ВидыРеализации Вид операции для НДС (розничная продажа).
СубконтоДоходовБУ1 Характеристика (множественный тип) Субконто 1 аналитики доходов (обычно Номенклатура).
СубконтоДоходовБУ2 Характеристика (множественный тип) Субконто 2 аналитики доходов (обычно Контрагент).
СубконтоДоходовБУ3 Характеристика (множественный тип) Субконто 3 аналитики доходов (дополнительная аналитика).
СубконтоСписанияСебестоимостиБУ1 Характеристика (множественный тип) Субконто 1 аналитики себестоимости (обычно Номенклатура).
СубконтоСписанияСебестоимостиБУ2 Характеристика (множественный тип) Субконто 2 аналитики себестоимости (обычно Склад).
СубконтоСписанияСебестоимостиБУ3 Характеристика (множественный тип) Субконто 3 аналитики себестоимости (дополнительная аналитика).
Штрихкод Строка Штрихкод товара для подбора сканером.
КодМаркировки Строка Код маркировки (для маркированных товаров — алкоголь, табак, ЕГАИС).

ТЧ «Услуги» — полный перечень колонок

Перечень оказанных услуг (консультирование, ремонт и т.д.).

Имя Тип Назначение
Номенклатура Справочник.Номенклатура Наименование услуги. Обязательна для строки.
Содержание Строка Описание услуги (дополнительные сведения, текст для чека).
Количество Число Количество единиц услуг. Должно быть > 0.
Цена Число Цена за единицу услуги.
Сумма Число Стоимость (Количество × Цена).
СтавкаНДС Справочник.СтавкиНДС Ставка НДС.
СуммаНДС Число Сумма НДС по услуге.
СчетДоходовБУ ПланСчетов.Типовой Счёт доходов от услуг (обычно 6010 или 6020).
СчетУчетаНДСПоРеализации ПланСчетов.Типовой Счёт НДС (обычно 3130).
НДСВидОперацииРеализации Справочник.ВидыРеализации Вид операции НДС.
СубконтоДоходовБУ1 Характеристика (множественный тип) Субконто 1 аналитики доходов.
СубконтоДоходовБУ2 Характеристика (множественный тип) Субконто 2 аналитики доходов.
СубконтоДоходовБУ3 Характеристика (множественный тип) Субконто 3 аналитики доходов.

ТЧ «Оплата» — полный перечень колонок

Способы оплаты чека (наличные, карта, смешанная оплата, мобильный платёж).

Имя Тип Назначение
ВидОплаты Справочник.ДоговорыЭквайринга Способ оплаты (наличные, банковская карта, мобильный платёж). Обязателен для строки.
Сумма Число Сумма платежа данным способом. Должна быть > 0.
НомерПлатежнойКарты Строка Номер карты (маскированный, например **** **** **** 1234). Для безналичной оплаты.
СсылочныйНомер Строка Номер транзакции (RRN) в платёжной системе. Заполняется терминалом.
НомерЧекаЭТ Строка Номер чека эквайрингового терминала.
ДанныеПереданыВБанк Булево Признак передачи данных в банк-эквайер (для сверки итогов).
МобильныйПлатеж Булево Признак оплаты через мобильное приложение (Kaspi Pay, Halyk QR и др.).

Формы документа

Имя формы Назначение Статус
ФормаДокумента Основная форма для создания/редактирования чека; содержит ТЧ Товары, Услуги, Оплата. Команды подбора, сканирования, приёма оплаты. Ключевая
ФормаОплаты Диалог приёма оплаты: выбор способов оплаты, расчёт сдачи, интеграция с эквайринговым терминалом, печать чека. Служебная
ФормаСписка Список всех чеков организации; доступны команды: «Розничная продажа», «Возврат по чеку», «Закрыть смену». Справочная
ФормаВыбора Выбор чека из списка (для документов-оснований, например при оформлении возврата). Служебная
ФормаЗакрытиеСмены Диалог закрытия кассовой смены: выбор организации и ККМ, передача Z-отчёта в WebKassa. Служебная

Справочник.НастройкиИнтеграцииWebKassa — Реквизиты


Per-field reference (ключевые реквизиты)

Организация (Справочник.Организации)

Юридическое лицо, от имени которого оформляется чек. Обязательный (ShowError). Устанавливается автоматически при открытии формы (основная организация пользователя). Влияет на: - Определение системы налогообложения (ОСН/УСН). - Выбор доступных счетов учёта (через СчетаУчетаВДокументах). - Ограничение доступа (RLS: документ виден только пользователям с правами на эту организацию).

Валидация: проверяется на заполнение в ОбработкаПроверкиЗаполнения. Типичное значение: единственная организация базы или организация точки продаж.


Касса (Справочник.Кассы)

Место учёта денежных средств. Обязательный (ShowError). Подставляется по умолчанию из настроек рабочего места (справочник Кассы, элемент с признаком «Основная для пользователя»). Влияет на: - Формирование движений по приходному кассовому ордеру (для наличных). - Выбор устройства ККМ (связь через реквизит ИдентификаторУстройства). - Закрытие смены (отчёты формируются по кассе).

Валидация: должна принадлежать выбранной Организации; проверяется на заполнение. Типичное значение: «Касса магазина № 1».


Склад (Справочник.Склады)

Место хранения товаров для списания при продаже. Обязательный (ShowError). Устанавливается по умолчанию из настроек точки продаж. Влияет на: - Движения по регистру РеализацияТМЗ (списание товара). - Проверку остатков товара (при проведении система проверяет наличие достаточного количества на складе).

Валидация: обязателен если в ТЧ Товары есть хотя бы одна строка. Типичное значение: «Торговый зал», «Склад розничный».


ВидОперации (Перечисление.ВидыОперацийРозничнаяПродажа)

Определяет тип операции: Продажа или Возврат. Необязательный, но критически важен для логики. Влияет на: - Выбор формы документа (обработчик ОбработкаПолученияФормы в менеджере). - Знак движений (при возврате — сторнирующие, с минусом). - Доступность команд (кнопка «Возврат по чеку» недоступна для документов-возвратов).

Обработчик ПриИзмененииВидаОперации (форма): скрывает/показывает поле Основание, изменяет заголовок формы. Типичные значения: «Продажа», «Возврат».


Основание (Документ.ЧекККМ)

Ссылка на исходный чек при оформлении возврата. Обязательный (ShowError) для ВидОперации = «Возврат». Заполняется автоматически при создании документа командой «Возврат по чеку». Влияет на: - Заполнение табличных частей (копируются из исходного чека через функцию СкопироватьТабличныеЧасти). - Проверку суммы возврата (не более суммы оригинала). - Отображение в печатной форме (ссылка на оригинальный чек).

Валидация: должен быть проведённым документом типа ЧекККМ с ВидОперации = «Продажа». Обработчик ПриИзмененииОснование: перезаполняет ТЧ, пересчитывает суммы.


СуммаДокумента (Число)

Итоговая сумма чека (включая НДС). Необязательный (рассчитывается автоматически). Влияет на: - Проверку полноты оплаты (сумма строк ТЧ Оплата должна равняться СуммаДокумента). - Отображение в форме (поле «Итого» на панели итогов). - Движения по бухгалтерским счетам (кредит счёта доходов).

Обработчик ПриИзмененииТаблицыТоваров, ПриИзмененииТаблицыУслуг: пересчитывается как сумма всех строк ТЧ Товары и Услуги (с учётом НДС).


УчитыватьНДС (Булево)

Флаг учёта НДС. Необязательный (по умолчанию = Истина для ОСН, Ложь для УСН). Влияет на: - Видимость колонок СтавкаНДС, СуммаНДС в ТЧ Товары и Услуги. - Формирование движений по регистру НДС (при Истина). - Расчёт суммы НДС (при Ложь — колонки скрываются, НДС не выделяется).

Обработчик ПриИзмененииУчитыватьНДС: перезаполняет колонку СтавкаНДС (устанавливает «Без НДС» при Ложь), пересчитывает СуммаНДС.


ТипЦен (Справочник.ТипыЦенНоменклатуры)

Тип цен для подбора товаров (розничная, оптовая, специальная). Необязательный, но рекомендуется устанавливать. Влияет на: - Заполнение колонки Цена в ТЧ Товары при подборе (цена берётся из регистра сведений ЦеныНоменклатуры для указанного типа). - Автоматическое применение скидок (если поддерживается модулем скидок).

Обработчик ПриИзмененииТипЦен: пересчитывает цены всех строк ТЧ Товары. Типичное значение: «Розничная».


Товары.Номенклатура (Справочник.Номенклатура)

Наименование товара. Обязательный для строки ТЧ Товары. Влияет на: - Определение счетов учёта (через запрос к регистру сведений СчетаУчетаНоменклатуры). - Проверку остатков на складе (запрос к регистру накопления ТоварыНаСкладах). - Заполнение ЕдиницаИзмерения, Цена (из карточки номенклатуры и регистра цен).

Обработчик ПриИзмененииНоменклатура: подтягивает ЕИ, цену, ставку НДС, счета учёта; проверяет классификацию (товар/услуга — если услуга, предлагает перенести в ТЧ Услуги). Валидация: не может быть пустой; должна быть активна (без пометки на удаление).


Товары.Количество (Число)

Количество единиц товара. Обязательный (должен быть > 0). Влияет на: - Расчёт суммы строки (Сумма = Количество × Цена). - Проверку достаточности остатков на складе (при проведении). - Движения по регистру РеализацияТМЗ (расход товара).

Обработчик ПриИзмененииКоличество: пересчитывает Сумма, СуммаНДС; проверяет остатки (если включена соответствующая настройка). Валидация: должно быть > 0; проверяется на заполнение.


Товары.Цена (Число)

Цена за единицу товара. Обязательный (должен быть > 0). Влияет на: - Расчёт суммы строки (Сумма = Количество × Цена). - Проверку соответствия типу цен (опционально).

Обработчик ПриИзмененииЦена: пересчитывает Сумма, СуммаНДС. Типичное значение: заполняется автоматически из регистра цен по ТипЦен при выборе Номенклатуры.


Оплата.ВидОплаты (Справочник.ДоговорыЭквайринга)

Способ оплаты: «Наличные», «Банковская карта», «Мобильный платёж» и т.д. Обязательный для строки ТЧ Оплата. Влияет на: - Видимость колонок НомерПлатежнойКарты, СсылочныйНомер (только для безналичной оплаты). - Формирование движений по кассе (для наличных) или расчётному счёту (для безнала). - Доступность команды ПровестиОплатуЧерезТерминал (только для карт).

Обработчик ПриИзмененииВидОплаты: скрывает/показывает поля карточных реквизитов; подставляет договор эквайринга. Типичное значение: «Наличные», «Visa/MasterCard».


Оплата.Сумма (Число)

Сумма платежа данным способом. Обязательный (должен быть > 0). Влияет на: - Проверку полноты оплаты (сумма всех строк ТЧ Оплата = СуммаДокумента). - Движения по кассе / расчётному счёту.

Обработчик ПриИзмененииСуммаОплата: пересчитывает остаток к оплате (в форме оплаты). Валидация: сумма не может быть отрицательной.


НомерЧекаККМ (Число)

Номер фискального чека, присваиваемый ККМ. Необязательный (может заполняться вручную или автоматически при интеграции с ККМ). Влияет на: - Отображение в печатной форме чека. - Идентификацию чека при возврате (покупатель называет номер).

Обработчик: при копировании документа (ПриКопировании в модуле объекта) обнуляется. Типичное значение: числовой код (например, 1234567890).


ОтчетОРозничныхПродажах (Документ.ОтчетОРозничныхПродажах)

Ссылка на отчёт о продажах, в который включён чек. Необязательный (заполняется при закрытии смены). Влияет на: - Блокировку проведения (если поле заполнено — документ не проводится, движения формируются только через отчёт). - Доступность редактирования (чеки в закрытом отчёте нельзя изменять).

Валидация: при заполненном поле документ проходит проверку «уже закрыт», повторное проведение невозможно. Обработчик: заполняется функцией СформироватьОтчетыОРозничныхПродажах (ManagerModule).


Жизненный цикл — обработчики событий и бизнес-логика

1. Справочник.НастройкиИнтеграцииWebKassa

2. Документ.ЧекККМ — обработчики модуля объекта

ОбработкаЗаполнения (ObjectModule, ~41 строка)

Инициализирует новый чек при создании. Основные действия: - Устанавливает Организацию по умолчанию (основная организация пользователя). - Устанавливает Дату (текущая), Ответственного (текущий пользователь), Автора. - Заполняет Кассу, Склад из настроек рабочего места пользователя. - Устанавливает ВидОперации = «Продажа» по умолчанию. - Если передан параметр СчетНаОплатуПокупателю — вызывает ЗаполнитьПоСчетуНаОплатуПокупателю (копирует табличные части из счёта: контрагент, договор, товары, цены). - Если передан параметр чека-основания (возврат) — вызывает СкопироватьТабличныеЧасти для заполнения ТЧ данными исходного чека.

// Фрагмент: заполнение по счёту покупателю
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.СчетНаОплатуПокупателю") Тогда
    ЗаполнитьПоСчетуНаОплатуПокупателю(ДанныеЗаполнения);
КонецЕсли;

ПередЗаписью (ObjectModule, ~28 строк)

Подготовка документа перед записью в базу: - Проверяет заполнение Контрагента; если пуст — подставляет «Розничный покупатель» (справочник Контрагенты, предопределённый элемент). - Устанавливает Автора (если не заполнен) = текущий пользователь. - Вызывает перерасчёт итоговой суммы (СуммаДокумента) как сумму всех строк ТЧ Товары и Услуги.

// Фрагмент: подстановка контрагента по умолчанию
Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
    Контрагент = Справочники.Контрагенты.РозничныйПокупатель;
КонецЕсли;

ОбработкаПроверкиЗаполнения (ObjectModule, ~119 строк)

Комплексная проверка перед записью/проведением. Последовательность проверок:

  1. Обязательные реквизиты шапки: Организация, Касса, Склад, ВалютаДокумента — все должны быть заполнены (ShowError).
  2. КурсВзаиморасчетов: обязателен, если валюта документа не совпадает с валютой учёта организации.
  3. Основание для возврата: при ВидОперации = Возврат проверяется заполнение поля Основание.
  4. Табличные части: должна быть заполнена хотя бы одна из ТЧ Товары или Услуги (иначе ошибка «Не указаны товары или услуги»).
  5. Счета учёта: если включена опция ИспользоватьУправлениеСчетамиУчета — все счета в ТЧ (СчетУчетаБУ, СчетДоходовБУ и т.д.) должны быть заполнены (иначе ошибка «Не заполнен счёт учёта для позиции [Номенклатура]»).
  6. Соответствие сумм оплаты: перед проведением проверяется, что сумма строк ТЧ Оплата ≥ СуммаДокумента (если меньше — ошибка «Сумма оплаты недостаточна»).
  7. Контроль суммы возврата: при ВидОперации = «Возврат» сумма возврата не может превышать сумму исходного чека (проверяется запросом к документу-основанию).
  8. Остатки товаров: при проведении (если не отключена настройка) проверяется достаточность остатков на складе (запрос к регистру ТоварыНаСкладах); если недостаточно — ошибка «Товар [Номенклатура] отсутствует на складе в количестве [Количество]».
  9. Функциональные опции: реквизиты, управляемые отключёнными опциями (например, ОтчетОРозничныхПродажах), исключаются из проверки.

ОбработкаПроведения (ObjectModule, ~85 строк)

Формирование движений при проведении. Последовательность:

  1. Проверяет флаг ФормироватьДвижениеВДокументахЧекККМ (константа конфигурации). Если Ложь — проведение пропускается, движения не формируются.
  2. Проверяет заполнение ОтчетОРозничныхПродажах: если заполнен — проведение игнорируется (все движения будут созданы через сводный отчёт).
  3. Вызывает функцию ПодготовитьПараметрыПроведения из ManagerModule → получает структуру с таблицами значений для формирования движений.
  4. Формирует движения по регистрам: - РеализацияТМЗ — расход товаров со склада. - НДС — начисление НДС к уплате. - КорректировкаНДС — если требуется корректировка. - Типовой — бухгалтерские проводки (Дт 62 Кт 6010, Дт 7010 Кт 1320, Дт 6010 Кт 3130).
  5. Вызывает процедуру СформироватьДвиженияПоПлатежам — формирует движения по кассе для каждого вида оплаты из ТЧ Оплата.
// Фрагмент: проверка блокировки проведения
Если ЗначениеЗаполнено(ОтчетОРозничныхПродажах) Тогда
    Возврат; // Движения формируются через ОтчетОРозничныхПродажах
КонецЕсли;

СтруктураПараметров = Документы.ЧекККМ.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
    Возврат;
КонецЕсли;

// Формирование движений
УчетТоваров.СформироватьДвиженияРеализацияТМЗ(СтруктураПараметров, Движения);
УчетНДСИАкциза.СформироватьДвиженияНДС(СтруктураПараметров, Движения);
ПроцедурыБухгалтерскогоУчета.СформироватьПроводки(СтруктураПараметров, Движения);

ПриКопировании (ObjectModule, ~12 строк)

Обработка копирования документа: - Обнуляет НомерЧекаККМ (номер должен быть уникальным для каждого чека). - Обновляет Дату (устанавливается текущая дата). - Обновляет Ответственного (текущий пользователь). - Очищает ОтчетОРозничныхПродажах (копия не должна быть привязана к отчёту оригинала).

ПриЗакрытииФормы (Form.ФормаДокумента)

Завершение работы с формой: - Сохраняет настройки видимости колонок табличных частей в пользовательские настройки. - Вызывает подсистему МенеджерОборудования для отключения сканера штрихкодов (если был подключён при открытии формы). - Освобождает блокировку ККМ-устройства.


Бухгалтерские проводки и регистры (детализация)

При непосредственном проведении одиночного чека (до закрытия смены) формируются следующие записи:

Регистр: РеализацияТМЗ (AccumulationRegister)

Параметр Значение
Вид движения Расход
Измерения Организация, Склад, Номенклатура
Ресурсы Количество, Сумма (себестоимость)
Логика Для каждой строки ТЧ Товары создаётся движение расхода. Количество берётся из ТЧ, себестоимость рассчитывается партионным учётом (FIFO). При возврате — приход (сторнирующее движение).

Регистр: НДС (AccumulationRegister)

Параметр Значение
Вид движения Расход (для начисленного НДС к уплате)
Измерения Организация, СчетУчетаНДС, ВидРеализации
Ресурсы СуммаНДС
Логика Суммируется НДС из всех строк ТЧ Товары и Услуги с группировкой по ставке. Движение создаётся только при УчитыватьНДС = Истина.

Регистр: КорректировкаНДС (AccumulationRegister)

Параметр Значение
Вид движения Расход
Измерения Организация, ВидРеализации
Ресурсы СуммаКорректировки
Логика Формируется при необходимости корректировки НДС (изменение ставки, перерасчёт). Обычно пуст для стандартных продаж.

Регистр: Типовой (AccountingRegister) — бухгалтерские проводки

№ Дебет Кредит Сумма Субконто Описание
1 62.03 (Расчёты с розничными покупателями) СчетДоходовБУ (обычно 6010) СуммаДокумента (с НДС) Номенклатура, Контрагент Отражение выручки от продажи
2 СчетСписанияСебестоимостиБУ (обычно 7010) СчетУчетаБУ (обычно 1320) Себестоимость (FIFO) Номенклатура, Склад Списание себестоимости товаров
3 СчетДоходовБУ (6010) СчетУчетаНДСПоРеализации (обычно 3130) СуммаНДС — Начисление НДС к уплате
4 1010 (Касса) 62.03 Сумма наличной оплаты Касса Приём наличных денег
5 1030 (Расчётный счёт / Переводы в пути) 62.03 Сумма безналичной оплаты ДоговорЭквайринга Приём оплаты банковской картой

Примечание. При Возврате все проводки формируются со сторнирующими (отрицательными) суммами.


Валидации (сводно)

№ Правило Условие срабатывания Текст ошибки
1 Обязательные реквизиты шапки Организация, Касса, Склад или ВалютаДокумента не заполнены «Поле [ИмяРеквизита] не заполнено» (ShowError)
2 Заполнение ТЧ ТЧ Товары и ТЧ Услуги обе пусты «Не указаны товары или услуги»
3 Контроль оплат Сумма(Оплата) < СуммаДокумента «Сумма оплаты недостаточна»
4 Контроль возвратов При ВидОперации = Возврат превышена сумма/количество исходного чека «Сумма возврата превышает сумму исходной продажи»
5 Основание для возврата При ВидОперации = Возврат поле Основание не заполнено «Не указан документ-основание для возврата»
6 Контроль закрытия смены ОтчетОРозничныхПродажах заполнен — попытка перепровести или изменить Проведение блокируется (документ возвращает Возврат без движений)
7 Счета учёта Включена опция ИспользоватьУправлениеСчетамиУчета, но счёт не заполнен «Не заполнен счёт учёта для позиции [Номенклатура]»
8 Остатки товаров Недостаточно товара на складе при проведении «Товар [Номенклатура] отсутствует на складе в количестве [Количество]»
9 Курс взаиморасчетов Валюта документа ≠ валюте учёта, КурсВзаиморасчетов не заполнен «Не указан курс взаиморасчетов»

Зависимости от модулей (детализация)

Модуль Кол-во вызовов Назначение
СчетаУчетаВДокументах ~41 Заполняет счета учёта для товаров и услуг (СчетУчетаБУ, СчетДоходовБУ, СчетСписанияСебестоимостиБУ и др.) на основе настроек учётной политики организации. Вызывается при изменении Номенклатуры, Организации, Склада.
УчетТоваров — Валидация номенклатуры (классификация товар/услуга), расчёт себестоимости, формирование движений по регистру РеализацияТМЗ.
УчетНДСИАкциза ~6 Расчёт НДС и акциза, определение ставки НДС по номенклатуре, подготовка таблиц для проводок по НДС, формирование движений по регистру НДС.
УчетДоходовРасходов — Формирование движений по доходам и себестоимости. Подготавливает данные для проводок по счетам 6010, 7010.
ПроцедурыБухгалтерскогоУчета — Генерация проводок по бухгалтерским счетам (контирование). Формирует записи в регистр Типовой.
МенеджерОборудованияКлиент — Низкоуровневая интеграция с ККМ и терминалами эквайринга. Используется в ФормаОплаты и ФормаЗакрытиеСмены для управления фискальными устройствами.
ЧекиЕГАИС ~12 Для маркированных товаров (алкоголь, табак) — формирование данных для передачи в систему ЕГАИС. Проверяет коды маркировки, формирует пакеты данных.
ИнтеграцияWebKassaКлиент — Осуществляет вызовы API WebKassa (авторизация, пробитие чеков, получение Z-отчётов) на стороне клиента.
ИнтеграцияWebKassaВызовСервера — Серверные вызовы API WebKassa (отправка данных чека, получение ответа, обработка ошибок).
ИнтеграцияWebKassaКлиентСервер — Общие утилиты и методы форматирования JSON-пакетов для ККМ (формат даты, суммы, структуры чека).

Связи с другими объектами

Документы-основания

Метаданные (metadata.based_on = []). Документ не создаётся на основании других документов через стандартный механизм конфигурации. Однако в коде модулей реализована ручная поддержка заполнения:

Документ-основание Механизм заполнения
СчетНаОплатуПокупателю Функция ЗаполнитьПоСчетуНаОплатуПокупателю (ManagerModule) копирует табличные части из счёта при передаче ссылки через параметр ОснованиеЗаполнения. Заполняет Контрагент, Договор, ТЧ Товары.
ЧекККМ (при возврате) При создании чека на возврат реквизит Основание ссылается на исходный чек; табличные части копируются через СкопироватьТабличныеЧасти.

Кто создаётся на основании ЧекККМ

Метаданные (metadata.inverse_based_on = []). Документ не является основанием для других документов через стандартный механизм. Однако:

Документ Механизм
ОтчетОРозничныхПродажах Функция СформироватьОтчетыОРозничныхПродажах (ManagerModule, ~2929 строк) собирает незакрытые чеки и создаёт на их основе отчёт о продажах. Связь через реквизит ОтчетОРозничныхПродажах в чеке.
РасходныйКассовыйОрдер (опционально) При возврате товара может создаваться ручной РКО для выдачи денег покупателю (зависит от настроек кассы).

Регистры движения

Документ формирует движения в следующие регистры (из metadata.register_records):

№ Регистр Тип Назначение
1 РеализацияТМЗ AccumulationRegister Движения расхода товаров со склада (по ТЧ Товары).
2 НДС AccumulationRegister Начисление НДС к уплате (если УчитыватьНДС = Истина).
3 КорректировкаНДС AccumulationRegister Корректировки НДС (при необходимости).
4 Типовой AccountingRegister Бухгалтерские проводки (списание товаров, доход, НДС, приход денег).

Дополнительно (не указаны в метаданных, реализованы в коде): - Движения по кассе (через процедуру СформироватьДвиженияПоПлатежам). - Движения по расчётам с контрагентами (для корпоративных чеков).


📝 Заметки для партнёра / разработчика

  1. ВидОперации — первое, что определяет поведение документа. Проверяйте этот реквизит перед любой автоматизацией: если «Возврат» — обязательно заполнение Основания, если «Продажа» — основание не требуется. Форма документа меняется в зависимости от вида операции (см. ОбработкаПолученияФормы в менеджере).

  2. Проведение блокируется если заполнен ОтчетОРозничныхПродажах. Перед автоматическим проведением чека проверяйте, что этот реквизит пуст. Если заполнен — чек уже включён в отчёт о продажах, движения создаются только через отчёт, повторное проведение чека игнорируется.

  3. Табличные части заполняются через специфичные механизмы. Не пытайтесь добавлять строки в ТЧ Товары напрямую — используйте команду «Подбор» (ПодборТовары) или «Поиск по штрихкоду» (ДобавитьПоШтрихкоду). Эти команды вызывают серверные процедуры, которые подтягивают цены, счета учёта, НДС и прочие реквизиты из регистров.

  4. Счета учёта заполняются автоматически модулем СчетаУчетаВДокументах. Не редактируйте их вручную — они подбираются на основе настроек учётной политики организации и параметров номенклатуры. Если счёт не заполнился — проверьте настройки учёта для конкретной номенклатуры в справочнике или регистре сведений СчетаУчетаНоменклатуры.

  5. Оплата оформляется через ФормаОплаты. После заполнения товаров вызывается команда «Принять оплату» (ПринятьОплату) — откроется диалог с расчётом сдачи. Сумма строк ТЧ Оплата должна строго равняться СуммаДокумента, иначе проведение завершится ошибкой.

  6. Закрытие смены — критическая операция. Команда ЗакрытьСмену вызывает функцию СформироватьОтчетыОРозничныхПродажах (~2929 строк в ManagerModule), которая собирает все чеки кассы за смену, создаёт отчёт и блокирует дальнейшее редактирование чеков. Выполняйте строго в конце рабочего дня, после проверки корректности всех чеков.

  7. НомерЧекаККМ обнуляется при копировании. Если вы копируете чек — поле НомерЧекаККМ автоматически очистится (обработчик ПриКопировании). Не полагайтесь на сохранение номера при копировании; если интеграция с ККМ отсутствует — номер придётся вводить вручную.

  8. Маркированные товары (ЕГАИС). При продаже алкоголя и табака модуль ЧекиЕГАИС (~12 вызовов) формирует дополнительные данные для передачи в систему ЕГАИС. Убедитесь, что поле КодМаркировки в ТЧ Товары заполнено для всех маркированных товаров.

  9. Кастомизация проводок. Если необходимо изменить логику формирования проводок, точки расширения находятся в процедуре ОбработкаПроведения модуля объекта и в функции ПодготовитьПараметрыПроведения модуля менеджера. Не рекомендуется менять структуру регистров — лучше добавлять дополнительные движения через подписки на события.


🔗 Связанные разделы