При работе в классических конфигурациях 1С на обычных формах (таких как «Управление торговлей 10.3», «Управление производственным предприятием 1.3» или «Комплексная автоматизация 1.1») пользователи часто сталкиваются с ситуацией, когда при создании Приходного кассового ордера (ПКО) на основании документа Отчет о розничных продажах (ОоРП), сумма в ПКО подставляется некорректно. Она может быть значительно меньше, чем сумма наличных продаж в самом отчете.
В этой статье мы разберем техническую логику типового решения 1С, выясним, почему программа сознательно ограничивает сумму прихода, и как привести учет в порядок.
Для начала проанализируем ситуацию с точки зрения кода. Если мы заглянем в процедуру заполнения документа ПриходныйКассовыйОрдер, мы увидим характерный участок, который отвечает за расчет суммы. Система не просто копирует данные из ОоРП, она сравнивает их с текущим состоянием учета в регистрах.
Рассмотрим фрагмент кода, который управляет заполнением суммы продаж:
ИначеЕсли (Выборка.ВидРозничнойВыручки = Перечисления.ВидыРозничнойВыручки.Продажа) Тогда
СуммаПоОснованиюПродажи = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(ОбщиеСуммыПродажВозвратов[Выборка.ВидРозничнойВыручки], мВалютаРегламентированногоУчета, ВалютаДокумента, 1, КурсДокумента, 1, КратностьДокумента);
СуммаПродаж = Мин(МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(Выборка.СуммаКонечныйОстаток,
мВалютаРегламентированногоУчета, ВалютаДокумента,
1, КурсДокумента, 1, КратностьДокумента),
СуммаПродажПоОснованию);
Что мы видим в этом алгоритме? Ключевым моментом является использование функции Мин(). Программа выбирает минимальное значение между двумя показателями:
РозничнаяВыручка.Вывод: Если в регистре РозничнаяВыручка числится меньше денег, чем указано в отчете о продажах, система подставит именно остаток из регистра. Программа считает, что вы не можете забрать из торговой точки больше денег, чем там есть по данным учета.
Разберем подробнее, как работает регистр РозничнаяВыручка. Это своего рода «виртуальный денежный ящик» кассы ККМ. Когда мы проводим Отчет о розничных продажах, он делает движение «Приход» в этот регистр. Когда мы делаем ПКО с операцией «Прием розничной выручки», он делает движение «Расход», переводя деньги из розничной точки в основную кассу предприятия.
Выясним основные причины расхождений:
1. Нарушение последовательности документов.
Это самая распространенная ошибка. Если бухгалтер сначала пытается создать ПКО, а потом проводит Отчет о розничных продажах, то в момент формирования ПКО остаток в регистре будет равен либо нулю, либо остатку с прошлых смен. Всегда следите за тем, чтобы Отчет о розничных продажах был проведен раньше (по времени), чем создаваемый на его основании ПКО.
2. Оформление возвратов товаров.
Если в течение смены были оформлены возвраты товаров (особенно если они оформлялись отдельным документом Возврат товаров от покупателя, а не внутри чека ККМ), эти суммы могут уменьшать остаток выручки в регистре. В итоге «чистых» денег к выдаче остается меньше, чем общая сумма продаж по отчету.
3. Частичная инкассация (выемка) в течение дня.
В розничной торговле часто практикуется промежуточная выемка денег. Если в системе уже был зафиксирован какой-либо документ, сделавший «Расход» по регистру РозничнаяВыручка до формирования итогового ПКО за день, то остаток уменьшится. Отчет о розничных продажах сам по себе не знает о промежуточных выемках, а регистр — знает.
4. Ошибки в разрезе аналитики (Склады и Кассы ККМ).
Регистр РозничнаяВыручка ведет учет в разрезе складов или касс ККМ. Если в ОоРП указан один склад, а в ПКО по ошибке выбран другой, система не найдет остатка по нужной аналитике и подставит нулевую сумму или остаток по другому подразделению.
Проанализируем ситуацию по шагам, чтобы найти «потерянную» сумму:
ПКО больше, чем время Отчета о розничных продажах. Если нужно — перенесите ПКО на конец дня.Розничная выручка (в интерфейсе это может называться «Ведомость по денежным средствам в розничных точках»). Посмотрите конечный остаток на момент создания ПКО. Именно это число программа подставляет в документ.СуммаДокумента - СуммаЭквайринга = СуммаНаличных. Программа проверяет остаток именно для наличной части.Розничная выручка скопились ошибки прошлых периодов (например, «зависли» отрицательные суммы или копейки из-за округлений), необходимо выровнять остатки. Для этого можно воспользоваться документом Корректировка записей регистров.Подводя итог, можно сказать, что использование функции Мин() — это осознанное решение разработчиков типовых конфигураций. Оно выступает в роли предохранителя, предотвращая ситуацию, когда в кассу предприятия приходуются «виртуальные» деньги, которых нет на остатках в торговых точках по данным учета.
Если бухгалтер видит, что в ПКО попадает неверная сумма, это не ошибка программы, а сигнал о том, что данные в оперативном учете (в регистре) разошлись с данными в первичном документе. Вместо того чтобы просто исправлять сумму вручную, рекомендуется найти причину расхождения в движениях регистра Розничная выручка.