При работе в программе 1С:Бухгалтерия 3.0 пользователи часто сталкиваются с системным сообщением: «Не заполнена колонка "Курс взаиморасчетов" в строке №... списка "Оплата поставщикам"» (или «Расшифровка платежа»). Эта ошибка блокирует проведение таких важных документов, как Авансовый отчет, Списание с расчетного счета или Выдача наличных — поможет проверка технического состояния базы на ошибки и несоответствия. В данной статье мы детально разберем причины возникновения этой ситуации и пошагово рассмотрим способы её решения.
Самая распространенная причина — это отсутствие записи о курсе российского рубля в соответствующем справочнике. Проанализируем логику программы: даже если все расчеты ведутся в рублях, система обращается к регистру сведений Курсы валют. Если программа не находит там значения, равного «1» для валюты регламентированного учета, возникает ошибка.
Выполним следующие действия для проверки:
В современных интерфейсах 1С:Бухгалтерия 3.0 данные о курсах и кратности часто скрыты от глаз пользователя. Рассмотрим пример документа Авансовый отчет. На вкладке «Оплата» мы видим основные реквизиты, но за ними стоит табличная часть ОплатаПоставщикам, содержащая скрытые поля.
Выясним, как актуализировать эти данные:
Проанализируем ситуацию, когда документы загружаются из сторонних систем (например, из 1С:Управление торговлей или клиент-банка) — пригодится автоматическое заполнение расшифровки платежей при импорте выписки. Часто при программном создании объекта реквизиты КурсВзаиморасчетов и КратностьВзаиморасчетов остаются незаполненными (равными 0), так как они не были явно указаны в коде загрузки.
Для массового исправления таких документов рекомендуем использовать обработку Групповое изменение реквизитов (поможет автозаполнение реквизитов банковских документов по правилам):
Списание с расчетного счета).Расшифровка платежа.Курс взаиморасчетов и Кратность взаиморасчетов равными 1.Посмотрим на настройки договора с контрагентом. Ошибка часто возникает, если в договоре указано, что Цена в — USD или EUR, а оплата производится в рублях, при этом курс пересчета на дату документа не загружен.
Рассмотрим порядок действий:
Если вы столкнулись с необходимостью исправить ошибку в коде при загрузке данных, разберем пример того, как правильно заполнять табличную часть документа. Необходимо явно обращаться к строкам коллекции и инициализировать значения курса и кратности.
Пример кода для обработки документа:
Для Каждого СтрокаТЧ Из Объект.ОплатаПоставщикам Цикл
// Проверяем, если курс не заполнен, устанавливаем единицу
Если СтрокаТЧ.КурсВзаиморасчетов = 0 Тогда
СтрокаТЧ.КурсВзаиморасчетов = 1;
КонецЕсли;
// Кратность также не может быть нулевой для проведения
Если СтрокаТЧ.КратностьВзаиморасчетов = 0 Тогда
СтрокаТЧ.КратностьВзаиморасчетов = 1;
КонецЕсли;
КонецЦикла;
Этот небольшой фрагмент кода предотвратит появление ошибки Поле Кратность взаиморасчетов не заполнена, которая часто идет «в паре» с ошибкой курса.
Иногда проблема кроется в кэше платформы или использовании устаревших версий (например, 8.3.6). В старых версиях платформы механизмы отрисовки управляемых форм могли давать сбой, из-за чего скрытые поля не инициализировались корректно при открытии документа.
В такой ситуации выполним следующие шаги:
60.01 ошибочно указан валютный счет 60.21, система автоматически начнет требовать заполнения валютных реквизитов, даже если валюта договора — рубль.Подведем итог: в большинстве случаев ошибка «Не заполнена колонка Курс взаиморасчетов» решается простой проверкой справочника Валюты на наличие записи курса рубля (равного 1) и отсутствия дублей. Если же проблема возникла после обмена данными, наиболее эффективным методом будет перевыбор договора в документе или использование групповой обработки реквизитов — поможет инструмент автоматической обработки реквизитов банковской выписки.