Здравствуйте, извините за глупый вопрос но не смог найти адекватного ответа в интернете. В общем ситуация в следующем (опуская лишние детали): Работаю над обработкой которую сделали до меня, и понадобилось мне добавить в процедуру параметр Лист (для записи данных в ячейку Excel), но сразу же начало выдавать ошибку "Недостаточно фактических параметров" и тут возник вопрос: от чего зависит количество параметров процедуры и где они прописываются (естественно кроме самого значения "Процедура (параметры)". Если есть ссылка для чайников то буду очень благодарен.
P.S. Платформа 8.2, обработка для выгрузки данных и ЗуП 2.5 в Excel (вдруг важно).
P.S.S. Заранее спасибо за ответы,сразу скажу программист из меня никакой.
P.S. Платформа 8.2, обработка для выгрузки данных и ЗуП 2.5 в Excel (вдруг важно).
P.S.S. Заранее спасибо за ответы,сразу скажу программист из меня никакой.
По теме из базы знаний
- Многопоточное выполнение процедуры с помощью ДлительныеОперации
- Ускорение многоразового обращения к серверной процедуре/функции с помощью многопоточного вызова фоновых заданий
- Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"
- Передача параметров процедур и функций. Особенности "Знач"
- Исправление ошибки "Не удалось записать: "Использовать бизнес-процессы и задачи" при даунгрейде БГУ до базовой
Найденные решения
(13){Форма.Форма.Форма(127,6)}: это то место где вы вызываете процедуру и у этого вызова всего 2 параметра >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); а должно быть три, третий будет Лист >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист);
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Примерно так: Это описание процедуры
Количество параметров(то что в скобках) Должно быть одинаковым в описании и вызове.
Процедура Моя(Пар1, Пар2)
КонецПроцедуры
Процедура ПроцедураВПрограмме()
Пар1= 10;
Пар2=2;
//Что то делаем
//Вызываем описанную выше процедуру
Моя(Пар1, Пар2);
КонецПроцедуры
Количество параметров(то что в скобках) Должно быть одинаковым в описании и вызове.
Вы дописали параметр в определение процедуры. А теперь допишите его во все места где эта процедура вызывается.
Хорошим тоном в таких случаях считается добавление параметра со значением по-умолчанию, например
Тогда вызовы, где второй параметр не указан будут проходить со значением которое вы задали
Хорошим тоном в таких случаях считается добавление параметра со значением по-умолчанию, например
Процедура МояПроцедура(ОбязательныйПараметр, НеобязательныйПараметр = "Лист1")
Тогда вызовы, где второй параметр не указан будут проходить со значением которое вы задали
(2)Спасибо, но не помогло, наверное я не правильно описал проблему...
Лист мне нужен для "Лист.Cells( 10 , ).Value = ПаспортныеДанные; "
А полная ошибка звучит:
{Форма.Форма.Форма(127,6)}: Недостаточно фактических параметров (ПроверкаФизЛица)
<<?>>ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); //процедура для проверки соответствий и ошибок (Проверка: Толстый клиент (обычное приложение))
Лист мне нужен для "Лист.Cells( 10 , ).Value = ПаспортныеДанные; "
А полная ошибка звучит:
{Форма.Форма.Форма(127,6)}: Недостаточно фактических параметров (ПроверкаФизЛица)
<<?>>ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); //процедура для проверки соответствий и ошибок (Проверка: Толстый клиент (обычное приложение))
(5)
Процедура ПроверкаФизЛица(ФизЛицоИзЕкселя, ПаспортныеДанные, Лист)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК Серия,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК Номер
|ИЗ
| РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(&ТекДата, ФизЛицо.Наименование = &ФизЛицо) КАК ПаспортныеДанныеФизЛицСрезПоследних";
Запрос.УстановитьПараметр("ФизЛицо", СокрЛП(ФизЛицоИзЕкселя));
Запрос.УстановитьПараметр("ТекДата", КонецДня(ТекущаяДата()));
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Сообщить("Найдено соответствие для физ. лица: " + ВыборкаДетальныеЗаписи.ФизЛицо);
СерияНомер = Строка(ВыборкаДетальныеЗаписи.Серия) + " " + Строка(ВыборкаДетальныеЗаписи.Номер);
Серия = Лев(ПаспортныеДанные, 6);
Номер = Прав(ПаспортныеДанные, 6);
ПаспортныеДанные = Строка(Серия) + Строка(Номер);
Если СерияНомер = ПаспортныеДанные Тогда
Сообщить("Серия и номер паспорта в базе и в файле совпадают. " + Символы.ПС);
Иначе
ДнейОтпуска = 0;
Сообщить("Серия и номер паспорта в базе и в файле не одинаковые: " + ПаспортныеДанные + " <> " + СерияНомер + Символы.ПС, СтатусСообщения.Внимание);
ПаспортныеДанные = СерияНомер;
Лист.Cells( 10 , ).Value = ПаспортныеДанные;
Сообщить ("|Обратите внимание! Паспортные данные измененны на " + ПаспортныеДанные );
//Лист.Cells(СтрокаФизЛиц, 10).Value = Число(Формат(Число(ТЗ.Найти(ЗначениеФизЛица).СотоваяСвязь), "ЧДЦ=1"));
КонецЕсли;
Иначе
Сообщить("Не найдено соответствие для физ. лица: " + ФизЛицоИзЕкселя + Символы.ПС, СтатусСообщения.Внимание );
КонецЕсли;
КонецПроцедуры
Показать
Напишите ваше сообщение
(11)Отличие в том что ячейка имеет два значения колонка и строка, у Вас только одно значение.
(3)
Вот здесь ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист) вызов процедуры в форме Форма(127,6) в строке 127
(11)Отличие в том что ячейка имеет два значения колонка и строка, у Вас только одно значение.
(3)
{Форма.Форма.Форма(127,6)}: Недостаточно фактических параметров (ПроверкаФизЛица)
>ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); //процедура для проверки соответствий и ошибок (Проверка:
>ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); //процедура для проверки соответствий и ошибок (Проверка:
Вот здесь ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист) вызов процедуры в форме Форма(127,6) в строке 127
(13){Форма.Форма.Форма(127,6)}: это то место где вы вызываете процедуру и у этого вызова всего 2 параметра >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные); а должно быть три, третий будет Лист >ПроверкаФизЛица(ЗначениеФизЛица, ЗначениеПаспортныеДанные, Лист);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот