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