Как исправить ошибки при проведении возврата в «Отчете комиссионера» в 1С:Бухгалтерия 3.0

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

При работе в актуальных релизах «1С:Бухгалтерия предприятия 3.0» (включая версию КОРП, редакции 3.0.115.19 и выше) пользователи часто сталкиваются с невозможностью провести документ Отчет комиссионера о продажах при попытке отразить возврат товаров. Проблема проявляется по-разному: от системных сообщений об отсутствии обработчиков событий до ошибок контроля остатков. Проанализируем основные причины и разберем по шагам способы их решения.

Изменение режима запуска клиентского приложения

Одной из самых неочевидных, но действенных мер является проверка режима запуска программы. Рассмотрим ситуацию: если в настройках запуска информационной базы жестко установлен «Толстый клиент», многие механизмы управляемого приложения могут работать некорректно. Это связано с тем, что современная бизнес-логика конфигурации Бухгалтерия предприятия оптимизирована для работы в «Тонком клиенте».

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

  1. Закроем программу 1С:Предприятие.
  2. В окне запуска выберем нужную информационную базу и нажмем кнопку «Изменить».
  3. Перейдем на последнюю закладку параметров запуска.
  4. Найдем поле «Основной режим запуска» и установим значение «Выбирать автоматически» или «Тонкий клиент».
  5. Запустим базу и повторим проведение документа.

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

Исправление ошибки в модуле ТарификацияБП

Если при попытке открыть форму или провести документ возникает системная ошибка: «При подписке ПроверкаДоступностиФормыПоТарифу на событие ОбработкаПолученияФормы произошла ошибка. Обработчик события не найден», — это явный признак программной недоработки в релизах ветки 3.0.115–3.0.117. Рассмотрим подробнее техническую сторону вопроса.

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

  1. Откроем информационную базу в режиме «Конфигуратор».
  2. Найдем в дереве метаданных общий модуль ТарификацияБП.
  3. В свойствах этого модуля (правая кнопка мыши — Свойства) проверим наличие флага «Вызов сервера».
  4. Если флаг снят, установим его.
  5. Сохраним конфигурацию базы данных и обновим её.

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

Проверка соответствия аналитики: Договоры и Соглашения

Посмотрим на ситуацию со стороны методологии учета. Часто ошибка «нет такой позиции в таком количестве в указанной счет-фактуре» возникает не из-за программного сбоя, а из-за несоответствия данных в цепочке документов. Проанализируем типичный сценарий: реализация была оформлена по одному договору (или соглашению), а в документе Отчет комиссионера с видом «Возврат» указан другой договор.

Выполним следующие шаги по проверке:

  1. Откроем исходный документ, которым товар передавался комиссионеру или реализовывался.
  2. Проверим поле «Договор». Важно, чтобы наименование и внутренний идентификатор договора полностью совпадали.
  3. Иногда менеджеры создают дубли договоров с похожими названиями. Убедимся, что это именно тот самый объект СправочникСсылка.ДоговорыКонтрагентов.
  4. В версии КОРП также критично проверить Подразделение. Если на 90-х счетах ведется учет по подразделениям, то в отчете комиссионера оно должно быть заполнено так же, как в первичной реализации.

Контроль остатков по ГТД и партиям

Если организация ведет учет по номерам ГТД или партионный учет (ФИФО), программа жестко контролирует возможность возврата конкретной партии. Если в табличной части возврата указан номер ГТД, который не числится за этим контрагентом по данным регистра РаздельныйУчетПродаж или ВидыЗапасов, проведение будет заблокировано.

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

  1. Сформируем отчет «Оборотно-сальдовая ведомость по счету» (например, по счету 45.01 «Покупные товары отгруженные» или 41.01).
  2. Добавим в группировку субконто «Партии» и «Номенклатура».
  3. Убедимся, что на момент проведения возврата товар действительно числится «в пути» или «у комиссионера» именно по той партии, которая указана в документе.

Влияние расширений и кэша

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

  1. Перейдем в раздел «Администрирование» — «Печатные формы, отчеты и обработки» — «Расширения».
  2. Попробуем временно отключить расширения, влияющие на документы продажи.

Также не стоит забывать про очистку кэша. После обновления конфигурации старые временные файлы могут вызывать ошибку «Обработчик не найден». Самый простой способ — удалить базу из списка запуска 1С и добавить её заново. При этом папка с кэшем будет создана заново, что часто решает проблемы с доступом к модулям ТарификацияБП или ПроверкаДоступностиФормыПоТарифу.

Работа с отладчиком для программистов

Если вышеуказанные способы не помогли, необходимо запустить отладку процесса проведения. Обратим внимание на подписку на событие ОбработкаПолученияФормы. В коде это выглядит примерно так:


// В модуле, где определена подписка
Процедура ПроверкаДоступностиФормыПоТарифу(Источник, ФормаИмя, Параметры, ВыбраннаяФорма, СтандартнаяОбработка) Экспорт
    // Если здесь происходит ошибка, проверьте доступность модуля ТарификацияБП
    ТарификацияБП.ПроверитьВозможностьИспользования(ФормаИмя);
КонецПроцедуры

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

← На главную