Неверное количество параметров метода оплатитьплатежнойкартой 1с
Недостаточно фактических параметров – такая ошибка программы 1С не часто возникает при работе с типовыми конфигурациями, отчего еще больше обескураживает пользователя, так как не является заурядной проблемой. Чаще всего она появляется в результате доработки конфигурации 1С вне зависимости от того, насколько качественно конфигурация дорабатывалась. Скорее всего, эта ошибка связана с тем, что конфигурация обновилась и метод, который раньше использовался в доработке конфигурации 1С, изменился.
ЗаполнитьДокумент(Ссылка, ДанныеЗаполнения, Источник)
2. Исправление ошибки в 1С
Ссылка, ДанныеЗаполнения, Источник – это и есть фактические параметры. Соответственно, когда вызываем эту функцию в 1С 8.3, мы должны передавать эти параметры, иначе получим ошибку.
Теперь необходимо решить, почему мы передаем недостаточно фактических параметров и где взять нужные. Если мы используем типовые методы в наших доработках, то идем по следующему пути.
Выбираем вызов функции 1С, которая возвращает ошибку, и нажимаем на F12. Так мы найдем ее объявление. Прямо перед функцией сможете увидеть комментарий разработчиков, где будут перечислены необходимые параметры и их тип. Если все равно не очень понятно, каким именно параметром нужно заполнить, то есть вариант использовать отладку. Просто ставим точку остановки, и можно будет попасть сюда типовым образом. Например, если стоит вопрос о заполнении документа, то достаточно будет использовать «Заполнить на основании» в Обработчике событий формы.
Обработчик событий формы
Как только 1С покажет, что вы находитесь в отладке, то выделите реквизит, параметр которого вам необходим и нажмите Shift+F9. Вы увидите, как именно выглядит реквизит, которого вам не хватает. Остается только заполнить его в вызове функций в вашем коде.
Если же речь идет о какой-то самописной функции или методе, который возвращает такую ошибку, то можно удалить лишний параметр в том случае, если вы уверены, что в коде он не используется и его удаление не нарушит логику дальнейших действий 1С.
К сожалению, невозможно предложить универсальное решение этой ошибки программы 1С, но если понять принцип, ее исправление не должно занимать много времени и сил. В любом случае, если у вас появляются подобного рода ошибки, лучше обратитесь к фирме, которая вас обслуживает, чтобы решить проблему.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
(1) Ошибка появилась не внезапно, а после того как эквайринговый терминал обновился.
2 дня назад с такой же проблемой столкнулся.
Всё верно вам сказали перерегистрировать на другую библиотеку
Ошибка вылезает изза того, что от терминала не пришел один из параметров, если бы вам нужна была библиотека на 7 параметров, ошибка была бы "слишком много фактических параметров"
попробуйте разобраться что шлет терминал в 1с(папка c:\sc552\sbkernel.log)читайте логи, будет понятно какой параметр отсутствует
(5)от прошивки зависит библиотека, сделайте анрег затем рег из папки 3, предварительно скопировав ее в корень sc552
(6)от прошивки чего? Терминала? Не встречал пока моделей которые нужно перепрошивать чтобы перейти с 3 параметров на 7 и наоборот.
(8)На что влияет тогда версия прошивки?
Эта информация бесполезна в контексте обозначенной проблемы.
Зачем вы льёте воду, человеку нужно решение конкретной проблемы. А вы в (2) еще и схему работы неправильно описываете.
(13) В общем подменил файл, перерегал (хотя странно, что он там такой же лежал). Эта ошибка уже ушла, но появились три другие. Ошибка порта, ошибка Атол, и ошибка эквайринга 4309. К ним придут со сбертанка, а там посмотрим, что скажут, либо поправят.
Одну ошибку победил - три получил.
(14)Зря на "Специалиста от сбербанка надеетесь". У нас по крайней мере ходят маловменяемые люди.
У меня слип печатался в 24 символа шириной, хотя везде в настройках оборудования было 32.
Такой спец пришел, сказал ковыряйте 1С. Жаль меня не было я бы его сразу расстроил. В итоге пришлось звонить на горячую линию сбера, там техподдержка отправила обнову с нужной шириной в терминал, он после сверки итогов его установил и сейчас всё норм.
(17) Да, всё верно. Прошивка именно эта.
При открытии списка документов "Оплаты от покупателей платежными картами" выходит три ошибки (первая на данный момент интересует больше всего):
"СБ РФ: Эквайринговая система":
Внимание! Невозможно определить версию драйвера.
Требуемая версия: 1.0.0.1
Корректная работа драйвера не гарантируется
АТОЛ: ККТ с передачей данных: Ошибка при подключении устройства.
Необходимо убедиться, что устройство правильно настроено и соответствующий порт не занят другим приложением.
Порт недоступен
Произошла ошибка при подключении торгового оборудования
(18)Дак может у вас терминал без печатающего механизма?
Тогда то что у вас касса не подключена к 1С корректно и является основной проблемой.
Ведь слип печатается на ККТ если сам терминал не имеет механизма печати, а у вас ККТ не подключается к 1С. Куда прикажете печатать слипчек?
А вообще, библиотеки лежат в C:\sc552\1C
там их две на 3 параметра и на 7
через regsvr32 перерегистрируйте библиотеку
чтобы понять какая нужна, смотрите в корне C:\sc552\sbrfcom.dll
соответственно заменяйте на другую из C:\sc552\1C
Подключили пинпад, прописали, зарегистрировали SBRF.DLL и SBRFCOM.DLL из папки SC552. В подключаемом оборудовании рабочего места и в кассе прописал.
Пинпад Verifone VX820 и 1С:Розница 2.1.5.11, платформа 8.3.6.2041.
При попытке обплатить выдаёт "Недостаточно фактических параметров".
Подскажите, куда хоть посмотреть, в чём может быть загвоздка?
(1) mas55555, А с какого момента ошибка? Платформу не обновляли? При попытке перехода на 8.3.6 у нас валом посыпались такие ошибки. Пришлось откатиться. Если не обновляли , то как выше написано в отладчик. Можете скриншот ошибки показать? У вас там есть кнопка чтобы перейти в конфигуратор?
(1)У Сбера есть два варианта дров, на три и на пять параметров. Если параметров не достаточно - просите у Сбера вариант на 3 параметра. Продвинутые установщики от банка иногда оставляют на на вашем компе отдельные папочки (в SC552) где лежат разные варианты.
Конфигурация УМЦ 1Бит, такая же проблма, пробовал всякие файлы SBRF.DLL зарегестрировать, но всё так же вываливаетс яошибка
borodatii, ТО что Вам подошло то и у меня заработало. Ура! То что в каталоге "working SBRF drivers"(8)
тоже столкнулся с такой же проблемой. Помогла только замена библиотек. Что интересно во всех версия одна и та же, но с одними работает с другими - нет. Хорошо бы, что Сбербанк как -то оповещал об изменениях или при (пере)установке новых терминалов оставлял описание работы с методами драйверов. параметры конечно можно добавлять до бесконечности, но в один из них передается СУММА(!) и что будет если она не туда попадет.
и об нужно знать т.к. сами сбербанковцы оказывается не в курсах.
когда просишь их поставить старые дллки
Смотри какая процедура или функция ругается, затем посмотри сколько там в ней параметров, и посчитай сколько у тебя, у тебя наверняка меньше.Ответ добавить параметры, которых недостает.
вместе с ПИН-падом идет 2 библиотеки, на 3 и на 7 параметров. Все находится в папке с утилитами Сбербанка. Не забудьте перерегистрировать новую библиотеку.
Тоже столкнулись с той же проблемой.
Второй специалист с Сбера пришёл адекватный, он пояснил в чём дело и настроил как надо.
Может кому пригодится .
При установке сберовцы всё ставят в папку SC552 (в нашем случае). Все драйвера и библиотеки в ней же находятся.
Но загвоздка в том, что некоторые конфигурации 1С работают на 3 параметрах, а некоторые на 7 параметрах. По умолчанию нам зарегистрировали библиотеку на 7 параметров, а наша 1С УТ 10.3 работает на 3 параметрах. Нам вариант на 7 параметров не подошел, так как 1С ругалась на "Недостаточно фактических параметров".
Просто зарегистрировали библиотеку на 3 параметра - при обращении к драйверам 1С сразу "заваливалась".
Решение:
Внутри папки SC552 есть папка 1С, в которой лежат две папки: с библиотеками на 3 параметра и на 7 параметров.
Соответственно в нашем случае надо было просто всё из папки "SC552\1С\3_par" (драйвера на 3 параметра) скопировать в сам каталог SC552 с заменой файлов. Потом заново зарегистрировать библиотеки из этого каталога: regsvr32 sbrf.dll и regsvr32 sbrfcom.dll.
И всё заработало ))))
Если вам не скопировали папку 1С, то надо трясти с них файлы другие.
Параметр в 1С – это некий элемент, принятый функцией. В данной статье поговорим о видах и типах параметров, а также рассмотрим, как задать параметры так, чтобы избежать ошибки «Неверные параметры» в 1С.
1. Как установить параметр в запросе?
Параметр запроса – это некоторый элемент, который находится внутри функции поиска по базе данных. Рассмотрим пример, как должны быть установлены параметры запроса. Например, пускай нам нужно получить составляющие из перечня-справочника под названием «Еда» красного, жёлтого или зелёного цвета, это будет иметь такой вид:
Рис. 1 Как установить параметр в запросе «Красный»
Рис. 2 Как установить параметр в запросе «Желтый»
Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Для процедур и функций в 1С могут задаваться параметры, которые будут использоваться при их выполнении. Поэтому при обращении к процедуре с неверно заданными параметрами появится ошибка: как в случае, если какой-то параметр не передан, так и если передается параметр, который в ней не описан.
Причины
- Основная: излишне переданный параметр для выполнения вызываемой функции при разработке кода.
- Дополнительные:
- несоответствие платформы и релиза,
- кэш информационной базы.
Неверно переданный параметр для выполнения вызываемой функции при разработке кода
Чаще всего ошибка проявляется после обновления конфигурации. Рассмотрим на примере, почему это происходит и как устранить проблему.
При попытке заполнить документ выдана ошибка Слишком много фактических параметров .
Перейдя по кнопке Подробно , можно увидеть описание, в какой именно процедуре было расхождение в передаваемой и получаемой структуре, с указанием процедуры (функции) и номера строки.
На картинке ниже видно, что ошибка выдается при попытке выполнения процедуры ЗаполнитьТабличнуюЧастьФизическимиЛицамиНеИмеющихЛицевыхСчетов , для выполнения которой передаются два параметра: дата документа и табличная часть документа.
При этом перейдя по кнопке F12 в тело процедуры, видим, что для выполнения необходим только параметр даты, на которую необходимо получить данные, и передача массива сотрудников для ее выполнения является избыточной.
Если ошибка появилась после обновления релиза конфигурации 1С, то, скорее всего, это связано именно с доработками релиза.
Ошибку можно устранить самостоятельно, если ваша конфигурация не является типовой. Для этого в режиме конфигуратора перейдите в строку, где вызывается процедура и уберите избыточные параметры.
В нашем примере это будет выглядеть следующим образом: вместо двух параметров будем передавать только один, который требуется в вызываемой процедуре.
После обновления измененного модуля ошибка проявляться не будет.
Версия платформы и релиз
Так же ошибка может возникнуть, если нарушены правила обновления релиза. К каждому выпущенному релизу фирма 1С готовит описание и инструкцию по обновлению, в которой может быть указано, что данный релиз подходит для определенных версий платформы. Если не обновить платформу до требуемой версии, это может привести к ошибкам в работе системы.
Делаются такие уточнения неспроста: изменения в функциях/процедурах в релизе могут быть обусловлены изменениями в правилах их вызова в обновлениях технологической платформы, которые разработчики конфигурации не могут не учитывать при своих доработках.
Кэш информационной базы
Может возникнуть ситуация, когда по кнопке Подробно расхождений в передаваемых параметрах и фактических параметрах самой функции нет (три параметра нужно для выполнения и три параметра передаются). Тогда, возможно, причина появления ошибки — кэш базы.
Дело может быть в динамическом обновлении конфигурации. Достаточно часто используемый вариант обновления, когда код доработан несущественно без добавления в конфигурацию новых объектов, но у такого способа есть неприятный побочный эффект. При таком способе обновления данные параметров процедур и функций часто кэшируются. В дальнейшем из-за расхождения процедур в базе и кэше может возникать ошибка в работе.
Для устранения ошибки попробуйте почистить кэш вашей информационной базы.
Читайте также:
- Текстовый файл в формате ascii который содержит как стандартный текст так и последовательность
- Excel как прибавить к номеру ячейки
- Как прошить nokia 2700 classic через компьютер
- Самые красивые глаза в мире фото без фотошопа
- Бесплатный форум с информацией о файлах может помочь вам разобраться является ли drivers exe вирусом