В процессе работы с рабочим местом кассира (РМК) в конфигурации «1С:Управление нашей фирмой» (УНФ) или её региональных аналогах пользователи часто сталкиваются с ситуацией, когда при оформлении возврата товара от покупателя интерфейс ведет себя непредсказуемо. Одной из наиболее запутанных проблем является исчезновение кнопки «Создать РКО на основании прихода» после формирования приходной накладной на возврат. Разберем подробно, почему это происходит и как настроить систему так, чтобы кассир мог завершить операцию выплаты денег, не получая при этом лишних прав на финансовый раздел предприятия.
Для начала проанализируем, как работает логика возврата в РМК. Когда кассир устанавливает флаг «Чек не предъявлен», система переходит из режима упрощенного сторнирования чека ККМ в режим полноценного документооборота товародвижения и денежных средств. В этом случае процедура состоит из двух этапов:
ПриходнаяНакладная с видом операции «Возврат от покупателя».РасходныйКассовыйОрдер.Если первая кнопка видна, а вторая отсутствует, это означает, что программные проверки видимости элементов формы не позволяют отобразить команду для текущего пользователя. Выясним причину этой избирательности.
Рассмотрим ситуацию с точки зрения программиста. В типовых решениях на базе УНФ (включая версию 1.6.21 и выше) видимость кнопок в РМК управляется динамически при открытии формы или смене режима работы. Проанализируем программный код инициализации кнопок возврата. Система выполняет проверку прав доступа к метаданным:
// Примерная логика проверки в модуле формы РМК
Если ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Документы.РасходныйКассовыйОрдер) Тогда
Элементы.ФормаСоздатьРКОНаОсновании.Видимость = Истина;
Иначе
Элементы.ФормаСоздатьРКОНаОсновании.Видимость = Ложь;
КонецЕсли;
Как показывает практика и обсуждения на форумах, кнопка появляется только в том случае, если у пользователя есть право на интерактивное добавление документа РасходныйКассовыйОрдер. Однако в стандартном профиле «Кассир» это право часто ограничено или связано с общим доступом к подсистеме кассовых документов.
Самый правильный путь — не давать кассиру полные права на раздел «Деньги», а создать специальный профиль, который разрешит создание документа, но не откроет интерфейс всей подсистемы. Выполним следующие шаги:
Добавление изменение расходных кассовых ордеров (дает право на объект РасходныйКассовыйОрдер).Чтение касс (необходимо для выбора кассы в документе).Чтение кассовых смен.ПравоДоступа для кнопки в РМК будет пройдена успешно.Иногда отсутствие кнопки связано не с правами, а с настройками самой торговой точки или прав продаж. Проанализируем настройки, которые могут влиять на поведение РМК:
Проверим настройки в разделе «Продажи» — «Еще больше возможностей». Обратите внимание на опцию «Архивировать чеки ККМ». Если в системе установлены жесткие ограничения на работу с чеками прошлых смен, РМК может блокировать стандартные механизмы возврата.
Также стоит заглянуть в настройки пользователя. Для этого перейдем в «Администрирование» — «Настройки пользователей и прав» — «Персональные настройки пользователей». Убедимся, что у кассира корректно заполнена «Основная касса». Если касса не определена, документ РКО не может быть инициализирован с заполненными реквизитами, и система может скрывать кнопку во избежание ошибок.
Если типовые настройки прав не помогают (например, из-за специфических доработок вашей конфигурации для Таджикистана), мы можем прибегнуть к использованию расширения. Рассмотрим программный способ принудительного включения видимости кнопки.
Создадим расширение и добавим в него форму РМК. В процедуре ПриЧтенииНаСервере или в специализированном методе, отвечающем за обновление интерфейса при установке флага «Чек не предъявлен», добавим следующий код:
&НаСервере
&После("ОбновитьВидимостьКнопокВозврата")
Процедура Расш_ОбновитьВидимостьКнопокВозврата()
// Принудительно включаем видимость, если пользователь имеет роль Кассир
Если РольДоступна("Кассир") Тогда
Элементы.ГруппаКнопкиВозвратНеВДеньСмены.Видимость = Истина;
Элементы.СоздатьРКО.Видимость = Истина;
КонецЕсли;
КонецПроцедуры
Этот метод позволяет обойти жесткую проверку прав на интерактивное добавление, если вы уверены, что кассир должен иметь возможность формировать этот документ именно из интерфейса РМК.
Стоит также упомянуть переключатель «За текущую смену / За прошлый период». Посмотрим, как он влияет на кнопки:
Если вы переключили режим, но кнопка не появилась, вернитесь к анализу прав доступа, описанному в Решении 1, так как это самая частая причина проблемы в релизах ветки 1.6.21.
Подводя итог, можно сказать, что исчезновение кнопки «Создать РКО» — это защитный механизм платформы 1С, который скрывает функции, на которые у пользователя недостаточно полномочий. Чтобы решить задачу, мы должны:
Документ.РасходныйКассовыйОрдер (Добавление, Изменение, Интерактивное добавление).Такой системный подход позволит восстановить работоспособность РМК и обеспечить корректное оформление возвратов без нарушения безопасности финансового учета компании.