Здравствуйте, извините за глупый вопрос но не смог найти адекватного ответа в интернете. В общем ситуация в следующем (опуская лишние детали): Работаю над обработкой которую сделали до меня, и понадобилось мне добавить в процедуру параметр Лист (для записи данных в ячейку Excel), но сразу же начало выдавать ошибку "Недостаточно фактических параметров" и тут возник вопрос: от чего зависит количество параметров процедуры и где они прописываются (естественно кроме самого значения "Процедура (параметры)". Если есть ссылка для чайников то буду очень благодарен.
P.S. Платформа 8.2, обработка для выгрузки данных и ЗуП 2.5 в Excel (вдруг важно).
P.S.S. Заранее спасибо за ответы,сразу скажу программист из меня никакой.
---
{Форма.Форма.Форма(127,6)}: это то место где вы вызываете процедуру и у этого вызова всего 2 параметра >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); а должно быть три, третий будет Лист >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист);
---
Примерно так: Это описание процедуры

```1c
    Процедура Моя(Пар1, Пар2)
    КонецПроцедуры
```

```1c
    Процедура ПроцедураВПрограмме()
    Пар1= 10;
    Пар2=2;
    //Что то делаем
    //Вызываем описанную выше процедуру
    Моя(Пар1, Пар2);
    КонецПроцедуры
```

Количество параметров(то что в скобках) Должно быть одинаковым в описании и вызове.
---
Вы дописали параметр в определение процедуры. А теперь допишите его во все места где эта процедура вызывается.
Хорошим тоном в таких случаях считается добавление параметра со значением по-умолчанию, например

```1c
    Процедура МояПроцедура(ОбязательныйПараметр, НеобязательныйПараметр = "Лист1")
```

Тогда вызовы, где второй параметр не указан будут проходить со значением которое вы задали
---
Спасибо, но не помогло, наверное я не правильно описал проблему...
Лист мне нужен для "Лист.Cells( 10 , ).Value = ПаспортныеДанные; "
А полная ошибка звучит:
{Форма.Форма.Форма(127,6)}: Недостаточно фактических параметров (ПроверкаФизЛица)
     <<?>>ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); //процедура для проверки соответствий и ошибок (Проверка: Толстый клиент (обычное приложение))
---
т.е похоже что при добавлении параметра он вышибает другой параметр...
---
Покажите определение процедуры
---
```1c
    Процедура ПроверкаФизЛица(ФизЛицоИзЕкселя, ПаспортныеДанные, Лист)

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо,
    | ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК Серия,
    | ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК Номер
    |ИЗ
    | РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(&ТекДата, ФизЛицо.Наименование = &ФизЛицо) КАК ПаспортныеДанныеФизЛицСрезПоследних";

    Запрос.УстановитьПараметр("ФизЛицо", СокрЛП(ФизЛицоИзЕкселя));
    Запрос.УстановитьПараметр("ТекДата", КонецДня(ТекущаяДата()));

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

    Если ВыборкаДетальныеЗаписи.Следующий() Тогда
    Сообщить("Найдено соответствие для физ. лица: " + ВыборкаДетальныеЗаписи.ФизЛицо);
    СерияНомер = Строка(ВыборкаДетальныеЗаписи.Серия) + " " + Строка(ВыборкаДетальныеЗаписи.Номер);

    Серия = Лев(ПаспортныеДанные, 6);
    Номер = Прав(ПаспортныеДанные, 6);
    ПаспортныеДанные = Строка(Серия) + Строка(Номер);

    Если СерияНомер = ПаспортныеДанные Тогда
    Сообщить("Серия и номер паспорта в базе и в файле совпадают. " + Символы.ПС);
    Иначе
    ДнейОтпуска = 0;
    Сообщить("Серия и номер паспорта в базе и в файле не одинаковые: " + ПаспортныеДанные + " <> " + СерияНомер + Символы.ПС, СтатусСообщения.Внимание);
    ПаспортныеДанные = СерияНомер;
    Лист.Cells( 10 , ).Value = ПаспортныеДанные;
    Сообщить ("|Обратите внимание! Паспортные данные измененны на " + ПаспортныеДанные );

    //Лист.Cells(СтрокаФизЛиц, 10).Value = Число(Формат(Число(ТЗ.Найти(ЗначениеФизЛица).СотоваяСвязь), "ЧДЦ=1"));
    КонецЕсли;
    Иначе
    Сообщить("Не найдено соответствие для физ. лица: " + ФизЛицоИзЕкселя + Символы.ПС, СтатусСообщения.Внимание );
    КонецЕсли;

    КонецПроцедуры
```
---
У вас процедура хочет три параметра, а вызываете вы ее с двумя
---
(7)
Это я понял, но как мне это исправить? Или может я не правильно делаю указывая "Лист" как процедуру? Я ее туда добавил только для того чтобы записать значения в Excel без открытия книги.
---
Лист.Cells( 10 , ).Value = ПаспортныеДанные;
//Лист.Cells(СтрокаФизЛиц, 10).Value

Сравните и найдите отличия
---
Отличия в скобках, но там ведь должны указываться номер столбца и строки? просто у меня все это идет в цикле.
---
Напишите ваше сообщение
(11)Отличие в том что ячейка имеет два значения колонка и строка, у Вас только одно значение.
(3) {Форма.Форма.Форма(127,6)}: Недостаточно фактических параметров (ПроверкаФизЛица)
     >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); //процедура для проверки соответствий и ошибок (Проверка:

Вот здесь ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист) вызов процедуры в форме Форма(127,6) в строке 127
---
не понял...
---
{Форма.Форма.Форма(127,6)}: это то место где вы вызываете процедуру и у этого вызова всего 2 параметра >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); а должно быть три, третий будет Лист >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист);
---
Спасибо, еще одна ошибка выскочила но уже разобрался, очень помогли)
---
Теперь при начале работы обработки начала вылетать программа...
---
С какой ошибкой?
---
Просто прекращение работы программы 1Cv8
---
В отладчике проверяйте все что связано с Лист. По идее это комобъект.