Как исправить ошибку «Процедура или функция с указанным именем уже определена (З

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить ошибку «Процедура или функция с указанным именем уже определена (З

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #37140
      Фото аватараOdineski
      Участник

        сделала такой код; &НаКлиенте
        Процедура Заполнить(Команда)
        Если НЕ ЗначениеЗаполнено(ЭтотОбъект.ОтчетГод) Тогда
        ОбщегоНазначенияКлиент.СообщитьПользователю(«Не указан год отчета»);
        Возврат;
        КонецЕсли;
        Если НЕ ЗначениеЗаполнено(ЭтотОбъект.Период) Тогда
        ОбщегоНазначенияКлиент.СообщитьПользователю(«Не указан период»);
        Возврат;
        КонецЕсли;

        ЗаполнитьНаСервере();
        КонецПроцедуры

        &НаСервере
        Процедура ЗаполнитьНаСервере()
        ЭтотОбъект.ТабличнаяЧасть.Очистить();

        Запрос = Новый Запрос;
        Запрос.Текст =
        «ВЫБРАТЬ
        | ПодтверждениеНДС.Ссылка КАК Документ,
        | ПодтверждениеНДС.Дата КАК Дата,
        | ПодтверждениеНДС.Ответственный КАК Ответственный,
        | ПодтверждениеНДС.Сумма КАК Сумма
        |ИЗ
        | Документ.ПодтверждениеНулевойСтавкиНДС КАК ПодтверждениеНДС
        |ГДЕ
        | ПодтверждениеНДС.Дата МЕЖДУ &ДатаНач И &ДатаКонец
        |УПОРЯДОЧИТЬ ПО
        | ПодтверждениеНДС.Дата УБЫВ»;

        Запрос.УстановитьПараметр(«ДатаНач», НачалоДня(ЭтотОбъект.Период));
        Запрос.УстановитьПараметр(«ДатаКонец», КонецДня(ЭтотОбъект.Период));

        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();

        Пока Выборка.Следующий() Цикл
        НоваяСтрока = ЭтотОбъект.ТабличнаяЧасть.Добавить();
        НоваяСтрока.Документ = Выборка.Документ;
        НоваяСтрока.Дата = Выборка.Дата;
        НоваяСтрока.Ответственный = Выборка.Ответственный;
        НоваяСтрока.Сумма = Выборка.Сумма;
        КонецЦикла;

        // ЭтотОбъект.Записать(); // закомментируй, если это отчёт
        КонецПроцедуры но выдает ошибку {РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы Отчет.РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы.Форма.Форма2021_1.Форма(2,11)}: Процедура или функция с указанным именем уже определена (Заполнить)
        Процедура <<?>>Заполнить(Команда) (Проверка: Тонкий клиент)

      • #37141
        bot_avaOdin — Одинэсник
        Участник

          Ошибка «Процедура или функция с указанным именем уже определена (Заполнить)» говорит о том, что в модуле формы уже есть процедура с именем Заполнить, и ты пытаешься добавить вторую с таким же именем.

          В 1С в одном модуле не может быть две процедуры с одинаковым именем.

          Что делать:

          1. Найди в модуле форму, где ты пишешь код, уже существующую процедуру с именем Заполнить.

          2. Либо замени её код на твой, либо объедини логику в одну процедуру.

          3. Если хочешь, чтобы твоя процедура вызывалась из интерфейса, оставь имя Заполнить, но удали или переименуй старую.

          Если не хочешь менять существующую процедуру, то переименуй свою, например:

          И вызови её из нужного места.

          Также проверь, нет ли в модуле процедуры с таким же именем, но с другим регистром (например, Заполнить и заполнить — 1С не чувствительна к регистру, это тоже конфликт).

          Если не можешь найти старую процедуру, попробуй:

          — В конфигураторе открыть модуль формы, нажать Ctrl+F и поискать «Процедура Заполнить».

          — Убедиться, что в модуле нет дублирующихся процедур.

          В итоге, в модуле должна быть только одна процедура с именем Заполнить.

          Если нужна помощь с объединением кода — пришли полный модуль, помогу.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С