Почему в Заявке на расходование денежных средств нет статуса «Согласовано» и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе работы с казначейским подсистемами в прикладных решениях 1С (таких как «1С:Управление торговлей», «1С:Комплексная автоматизация» или «1С:ERP Управление предприятием») пользователи часто сталкиваются с неочевидным поведением интерфейса. Типичная ситуация: ответственный сотрудник открывает документ Заявка на расходование денежных средств, пытается перевести его в статус Согласована, но в выпадающем списке поля Статус доступны только значения Не согласована и Отклонена. При этом статус Согласована (и часто К оплате) попросту отсутствует.

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

Выясняем причину на уровне программного кода

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

Проанализируем ключевую процедуру, которая отвечает за формирование списка доступных статусов:


&НаСервере
Процедура УстановитьСписокСтатусов()
    
    СписокВыбора = Элементы.Статус.СписокВыбора;
    
    Если Не ПравоСогласования ИЛИ Не ПравоУтверждения Тогда
        
        СписокВыбора.Очистить();
        СписокВыбора.Добавить(Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.НеСогласована);
        СписокВыбора.Добавить(Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена);
        
        Если ПравоСогласования
         ИЛИ Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована Тогда
            СписокВыбора.Добавить(Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована);
        КонецЕсли;
        
        Если ПравоУтверждения
         ИЛИ Объект.Статус = ...СтатусыЗаявокНаРасходованиеДенежныхСредств.КОплате Тогда
            СписокВыбора.Добавить(Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.КОплате);
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры

Как мы видим из представленного алгоритма, система жестко ограничивает выбор пользователя, если у него отсутствуют специализированные права. Если переменные ПравоСогласования и ПравоУтверждения принимают значение Ложь, стандартный список выбора очищается, оставляя пользователю возможность только перевести заявку в состояния Не согласована или Отклонена.

Теперь выясним, откуда берутся значения этих переменных. Для этого обратимся к коду инициализации прав:


ПравоСогласования = ПраваПользователяПовтИсп.СогласованиеЗаявокНаРасходованиеДенежныхСредств();
ПравоУтверждения  = ПраваПользователяПовтИсп.УтверждениеЗаявокНаРасходованиеДенежныхСредств();

Далее перейдем в общий модуль ПраваПользователяПовтИсп и найдем описание функции СогласованиеЗаявокНаРасходованиеДенежныхСредств:


Функция СогласованиеЗаявокНаРасходованиеДенежныхСредств(Пользователь = Неопределено) Экспорт
    Возврат Пользователи.РолиДоступны("СогласованиеЗаявокНаРасходованиеДенежныхСредств", Пользователь, Ложь);
КонецФункции

Таким образом, видимость статусов напрямую завязана на наличие у текущего пользователя определенных ролей конфигурации:

  1. Роль СогласованиеЗаявокНаРасходованиеДенежныхСредств — отвечает за появление статуса Согласована.
  2. Роль УтверждениеЗаявокНаРасходованиеДенежныхСредств — отвечает за появление статуса К оплате.

Решение проблемы в режиме «1С:Предприятие» (без Конфигуратора)

Хотя разработчики могут увидеть эти роли в Конфигураторе, администратору системы нет необходимости вносить изменения в структуру метаданных. В типовых конфигурациях 1С (ERP, КА, УТ) управление ролями реализовано в пользовательском интерфейсе через механизм Профилей групп доступа.

Рассмотрим по шагам, как предоставить пользователю права на согласование и утверждение заявок:

Шаг 1. Настройка роли согласования (Статус «Согласована»)

В типовой поставке программных продуктов 1С часто отсутствует готовый предопределенный профиль, содержащий исключительно роль согласования заявок (чтобы, например, дать эти права только руководителям подразделений). Нам необходимо создать его вручную:

  1. Перейдите в раздел НСИ и администрированиеНастройки пользователей и правПрофили групп доступа.
  2. Нажмите кнопку Создать для добавления нового профиля. Назовите его, например, «Согласование заявок на расходование ДС».
  3. На вкладке Разрешенные роли найдите в списке и отметьте флажком роль Согласование заявок на расходование денежных средств.
  4. Запишите и закройте созданный профиль.
  5. Перейдите в справочник Группы доступа, создайте новую группу доступа, выберите в качестве профиля только что созданный нами профиль и добавьте в список участников тех пользователей, которые должны согласовывать платежи.

Шаг 2. Настройка роли утверждения (Статус «К оплате»)

Право переводить заявки в статус К оплате по умолчанию делегировано сотрудникам финансовых служб. В системе уже есть готовый инструмент для этого:

  1. В разделе Профили групп доступа найдите предопределенный профиль Казначей или Финансовый директор.
  2. Убедитесь, что в данном профиле активна роль Утверждение заявок на расходование денежных средств.
  3. Включите целевых пользователей в группу доступа Казначеи. После этого у них в форме заявки появится долгожданный статус К оплате.

Дополнительные возможности согласования заявок

Рассмотрим несколько важных архитектурных решений в 1С, которые помогут сделать процесс казначейства еще более удобным и автоматизированным.

Специализированное рабочее место «Заявки к согласованию»

Пользователям, согласующим платежи, неудобно заходить в каждую отдельную заявку для ручной смены статуса. Проанализируем интерфейс системы: в разделе Казначейство предусмотрено специализированное рабочее место Заявки к согласованию.

В данном рабочем месте согласующее лицо видит интерактивный список всех документов, ожидающих решения. Пользователь может выделить несколько строк зажатием клавиши Ctrl или Shift и в один клик утвердить или отклонить весь пул документов с помощью кнопок командной панели: Согласовать заявки или Отклонить заявки.

Интеграция со сложными маршрутами согласования

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

Поскольку типовой конструктор сложных маршрутов в ERP/УТ отсутствует, идеальным решением является настройка бесшовной интеграции с «1С:Документооборот». В такой связке процесс выглядит следующим образом:

  1. Инициатор создает документ Заявка на расходование денежных средств в учетной системе.
  2. Система автоматически запускает бизнес-процесс согласования в 1С:Документооборот по заранее настроенному комплексному маршруту любой сложности.
  3. Ответственные лица получают задачи на согласование на свои электронные адреса или в личные кабинеты.
  4. После успешного прохождения всех этапов согласования в 1С:Документооборот, статус заявки в ERP/УТ автоматически и без ручного вмешательства меняется на Согласована.

Влияние лимитов на установку статусов

Иногда даже при наличии роли СогласованиеЗаявокНаРасходованиеДенежныхСредств пользователь не может провести документ в статусе Согласована. Выясним причину этой проблемы: она кроется в механизме контроля лимитов расходования денежных средств.

Если в системе включен контроль лимитов по бюджетам, и сумма заявки превышает доступный остаток по статье движения денежных средств (ДДС) или подразделению, проведение документа заблокируется. Для обхода этого ограничения пользователю необходимо назначить дополнительную важную роль — Согласование заявок на расходование денежных средств сверх лимита. Только при наличии этой роли система позволит провести «перелимитную» заявку в статусе Согласована или К оплате.

← На главную