Почему в 1С:ERP 2.4 в документах ПУПА и РУПА невозможно выбрать договор и как это исправить

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

При работе в программе 1С:ERP Управление предприятием 2 (релиз 2.4.6.160), а также в аналогичных версиях конфигураций 1С:Комплексная автоматизация 2 и 1С:Управление торговлей 11, пользователи часто сталкиваются с крайне неприятной проблемой. В документах приобретения и реализации услуг невозможно выбрать договор с контрагентом. При попытке выбора открывается пустой список, либо само поле становится недоступным для редактирования.

Давайте разберем, почему возникает эта ошибка, что скрывается за загадочными аббревиатурами ПУПА и РУПА, и какими способами можно оперативно решить данную проблему.

Что такое ПУПА и РУПА в терминологии 1С?

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

  1. ПУПА — документ Приобретение услуг и прочих активов. Он используется для отражения расходов, не связанных с поступлением ТМЦ на склады (например, аренда, коммунальные платежи, услуги связи или юридическое сопровождение).
  2. РУПА — документ Реализация услуг и прочих активов. Он применяется для продажи нематериальных услуг, активов и прочих операций, не связанных с отгрузкой обычных товаров со склада.

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

Выясняем причину возникновения проблемы

Проанализируем ситуацию с технической точки зрения. Данная проблема является официальным зарегистрированным багом релиза 2.4.6.160 конфигурации 1С:ERP.

В этой версии разработчики фирмы «1С» активно внедряли и развивали новую архитектуру взаиморасчетов, так называемый онлайн-режим. При проектировании управляемых форм для документов ПУПА и РУПА в свойствах элемента формы Договор были жестко прописаны настройки в свойстве Связи параметров выбора. Эти связи были жестко ориентированы на аналитику новой онлайн-схемы взаиморасчетов.

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

  1. Система пытается наложить отбор на список договоров согласно связям параметров выбора, ориентированным на онлайн-режим.
  2. Так как необходимые параметры в офлайн-режиме отсутствуют или заполняются некорректно, накладывается пустой или некорректный фильтр.
  3. В результате диалоговое окно выбора договоров открывается абсолютно пустым, даже если в системе зарегистрированы десятки действующих договоров с этим контрагентом.

Рассмотрим подробнее три основных способа решения этой проблемы — от официального обновления до временных обходных путей без изменения конфигурации.

Способ 1. Официальное обновление конфигурации (Рекомендуемый)

Самый правильный и надежный способ устранения данной ошибки — это обновление вашей информационной базы на исправленный релиз. Фирма «1С» оперативно выпустила исправление этого бага в последующих сервисных пакетах.

Для устранения проблемы необходимо обновить конфигурацию до следующих версий (или более актуальных):

После обновления связи параметров выбора на управляемых формах документов ПУПА и РУПА будут скорректированы разработчиками автоматически, и выбор договора снова станет доступен как в онлайн, так и в офлайн-режиме взаиморасчетов.

Способ 2. Обходной путь без обновления базы (Включение онлайн-взаиморасчетов)

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

Разберем по шагам, как активировать необходимый функционал:

  1. Перейдем в раздел меню НСИ и администрирование.
  2. Выберем пункт Настройка НСИ и разделов, далее перейдем в подраздел Казначейство и взаиморасчеты.
  3. Найдем настройку, отвечающую за режим работы взаиморасчетов, и переключим ее в режим Онлайн.

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

Способ 3. Программное исправление через расширение (Для программистов)

Если обновлять конфигурацию нельзя, а менять режим взаиморасчетов на «онлайн» нецелесообразно, мы можем исправить эту ошибку программно с помощью механизма расширений конфигурации. Этот способ безопасен, не снимает конфигурацию с поддержки и легко удаляется после последующего штатного обновления базы.

Для реализации этого решения выполним следующие действия:

  1. Создадим новое расширение конфигурации в режиме Конфигуратора.
  2. Добавим в расширение формы документов ПУПА (Документ.ПриобретениеУслугПрочихАктивов.Форма.ФормаДокумента) и РУПА (Документ.РеализацияУслугПрочихАктивов.Форма.ФормаДокумента).
  3. Для элемента формы Договор программно очистим проблемные связи параметров выбора при создании формы на сервере.

Посмотрим на пример кода, который необходимо разместить в модуле формы расширения:


&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    
    // Очищаем некорректные связи параметров выбора для элемента Договор,
    // вызванные ошибкой релиза в режиме офлайн-взаиморасчетов.
    
    НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Партнер", "Объект.Партнер");
    НовыеСвязи = Новый СвязиПараметровВыбора;
    
    // Добавляем только базовую связь по партнеру, исключая онлайн-аналитику
    Элементы.Договор.СвязиПараметровВыбора = НовыеСвязи;
    
КонецПроцедуры

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

Таким образом, мы детально проанализировали проблему с выбором договоров в ПУПА и РУПА на релизе 1С:ERP 2.4.6.160. Наиболее предпочтительным решением является своевременное обновление программы на исправленный сервисный релиз. В качестве временных мер вы можете использовать точечное программное исправление через расширение конфигурации или переключение настроек ведения взаиморасчетов.

← На главную