При обновлении конфигураций «1С:Предприятие» пользователи и администраторы иногда сталкиваются с ошибками выполнения программного кода при формировании печатных форм типовых документов. Одна из частых ситуаций — возникновение исключения при попытке распечатать счет-фактуру выданный:
{Документ.НДС_СчетФактураВыданный.МодульОбъекта(58)}: Слишком много фактических параметров ОбластьМакетаШапка.Параметры.ИдентификаторГосконтракта = УчетНДС.СтрокаИдентификатораГосконтрактаСФ(СтруктураШапки.ИдентификаторГосконтракта, ВариантСФ);
Разберем детально, почему возникает данная ошибка и какими способами можно восстановить работоспособность конфигурации без нарушения правил типовой поддержки.
Проанализируем программный код, вызвавший исключение. Ошибка времени выполнения «Слишком много фактических параметров» сигнализирует о том, что при вызове экспортной процедуры или функции передается больше аргументов, чем объявлено в ее сигнатуре в соответствующем модуле.
Посмотрим на вызов в модуле объекта документа НДС_СчетФактураВыданный:
ОбластьМакетаШапка.Параметры.ИдентификаторГосконтракта = УчетНДС.СтрокаИдентификатораГосконтрактаСФ(СтруктураШапки.ИдентификаторГосконтракта, ВариантСФ);
В обновленном релизе функция СтрокаИдентификатораГосконтрактаСФ в общем модуле УчетНДС принимает два параметра: значение идентификатора и вариант печатной формы (СтруктураШапки.ИдентификаторГосконтракта, ВариантСФ). Однако в старых версиях конфигурации эта функция принимала только один параметр (либо имела другую реализацию).
Таким образом, возникла классическая рассинхронизация метаданных: модуль документа НДС_СчетФактураВыданный обновился до нового релиза, а общий модуль УчетНДС по какой-то причине остался в старой редакции.
Рассмотрим основные причины, приводящие к частичному обновлению конфигурации:
.cfu он мог автоматически не обновиться.УчетНДС мог быть случайно исключен из списка объединяемых объектов или для него было установлено правило «Не обновлять».Если база находится на поддержке с возможностью изменения, самым правильным шагом будет принудительное обновление общего модуля из полного файла поставки релизной конфигурации.
Выполним следующие действия по шагам:
.dt или копия на уровне СУБД)..cf именно того релиза, до которого выполнялось обновление.Если конфигурация должна быть полностью типовой, но отдельные модули перестали обновляться, проверим правила поддержки.
УчетНДС.Если в конфигурацию не вносились доработки и она должна оставаться полностью типовой, самым надежным способом устранения любых перекосов метаданных является полная загрузка конфигурации поставщика.
Внимание: данный способ полностью заменяет структуру метаданных основной конфигурации на файл .cf. Все пользовательские доработки, если они были сделаны непосредственно в конфигурации, будут удалены.
1Cv8.cf нужного релиза.Если предыдущие действия не помогли или конфигурация по метаданным полностью совпадает с типовой, проверим внешние факторы:
УчетНДС или документ НДС_СчетФактураВыданный. При обнаружении — отключим их и проверим формирование печатной формы.