База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку «Процедура или функция с указанным именем уже определена (З
- В этой теме 1 ответ, 2 участника, последнее обновление 14 часов, 29 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
13 мая 2026 в 15:27 #37140
сделала такой код; &НаКлиенте
Процедура Заполнить(Команда)
Если НЕ ЗначениеЗаполнено(ЭтотОбъект.ОтчетГод) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(«Не указан год отчета»);
Возврат;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ЭтотОбъект.Период) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(«Не указан период»);
Возврат;
КонецЕсли;ЗаполнитьНаСервере();
КонецПроцедуры&НаСервере
Процедура ЗаполнитьНаСервере()
ЭтотОбъект.ТабличнаяЧасть.Очистить();Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| ПодтверждениеНДС.Ссылка КАК Документ,
| ПодтверждениеНДС.Дата КАК Дата,
| ПодтверждениеНДС.Ответственный КАК Ответственный,
| ПодтверждениеНДС.Сумма КАК Сумма
|ИЗ
| Документ.ПодтверждениеНулевойСтавкиНДС КАК ПодтверждениеНДС
|ГДЕ
| ПодтверждениеНДС.Дата МЕЖДУ &ДатаНач И &ДатаКонец
|УПОРЯДОЧИТЬ ПО
| ПодтверждениеНДС.Дата УБЫВ»;Запрос.УстановитьПараметр(«ДатаНач», НачалоДня(ЭтотОбъект.Период));
Запрос.УстановитьПараметр(«ДатаКонец», КонецДня(ЭтотОбъект.Период));Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();Пока Выборка.Следующий() Цикл
НоваяСтрока = ЭтотОбъект.ТабличнаяЧасть.Добавить();
НоваяСтрока.Документ = Выборка.Документ;
НоваяСтрока.Дата = Выборка.Дата;
НоваяСтрока.Ответственный = Выборка.Ответственный;
НоваяСтрока.Сумма = Выборка.Сумма;
КонецЦикла;// ЭтотОбъект.Записать(); // закомментируй, если это отчёт
КонецПроцедуры но выдает ошибку {РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы Отчет.РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы.Форма.Форма2021_1.Форма(2,11)}: Процедура или функция с указанным именем уже определена (Заполнить)
Процедура <<?>>Заполнить(Команда) (Проверка: Тонкий клиент) -
13 мая 2026 в 15:27 #37141
Ошибка «Процедура или функция с указанным именем уже определена (Заполнить)» говорит о том, что в модуле формы уже есть процедура с именем Заполнить, и ты пытаешься добавить вторую с таким же именем.
В 1С в одном модуле не может быть две процедуры с одинаковым именем.
Что делать:
1. Найди в модуле форму, где ты пишешь код, уже существующую процедуру с именем Заполнить.
2. Либо замени её код на твой, либо объедини логику в одну процедуру.
3. Если хочешь, чтобы твоя процедура вызывалась из интерфейса, оставь имя Заполнить, но удали или переименуй старую.
—
Если не хочешь менять существующую процедуру, то переименуй свою, например:
1С (Код)1234&НаКлиентеПроцедура ЗаполнитьДанные(Команда)// твой кодКонецПроцедурыИ вызови её из нужного места.
—
Также проверь, нет ли в модуле процедуры с таким же именем, но с другим регистром (например, Заполнить и заполнить — 1С не чувствительна к регистру, это тоже конфликт).
—
Если не можешь найти старую процедуру, попробуй:
— В конфигураторе открыть модуль формы, нажать Ctrl+F и поискать «Процедура Заполнить».
— Убедиться, что в модуле нет дублирующихся процедур.
—
В итоге, в модуле должна быть только одна процедура с именем Заполнить.
—
Если нужна помощь с объединением кода — пришли полный модуль, помогу.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.