Недостаточно фактических параметров "найтипокоду()"

1. VKuser241523867 17.04.24 17:20 Сейчас в теме
Возникает ошибка
Недостаточно фактических параметров
{(1)}:РезультатЗапроса = Справочники.Патенты.найтипокоду()
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(217)}:Выполнить("РезультатЗапроса = Справочники."+ масЗначСтр[ДлиннаМЗС-2]+".найтипокоду("+ масЗначСтр[ДлиннаМЗС-1] + ")");


это справочник а значит найти по коду работает как на 1-2 скринах.

в качестве параметра заходит строка кода.
строка: 00-000003
так же пробовал 000003

в справочнике в параметрах задано что код является девятисимвольной строкой
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. Sashares 34 17.04.24 17:35 Сейчас в теме
(1)Зачем тут
выполнить
?
НайденныйЭлемент = Справочники[ИмяСправочника].НайтиПоКоду(ИскомоеЗначение);
VKuser241523867; SlavaKron; +2 Ответить
10. SlavaKron 17.04.24 17:46 Сейчас в теме
(9) Возможно, нужны кавычки
Выполнить("РезультатЗапроса = Справочники."+ масЗначСтр[ДлиннаМЗС-2]+".найтипокоду("""+ масЗначСтр[ДлиннаМЗС-1] + """)");
Делать так, конечно, не надо. Просто было интересно, почему Выполнить не сработало.
VKuser241523867; +1 Ответить
21. Sashares 34 17.04.24 18:07 Сейчас в теме
(20)Не нужны там кавычки.
Выполнить("РезультатЗапроса = Справочники."+ масЗначСтр[ДлиннаМЗС-2]+".найтипокоду( масЗначСтр[ДлиннаМЗС-1])");
VKuser241523867; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 17.04.24 17:23 Сейчас в теме
(1) В масЗначСтр[ДлиннаМЗС-1] пустое значение
3. VKuser241523867 17.04.24 17:24 Сейчас в теме
(2)я перед этим делаю вывод сообщения и оно выводится как показано на скринах
Прикрепленные файлы:
4. Boneman 298 17.04.24 17:25 Сейчас в теме
(1) код в кавычках должен быть, а не просто строка
у тебя же вычисление куска кода идет
5. VKuser241523867 17.04.24 17:28 Сейчас в теме
нужно конвертировать код в строку?
6. VKuser241523867 17.04.24 17:33 Сейчас в теме
(5) или ты имеешь в виду эту часть
масЗначСтр[ДлиннаМЗС-2]

там хранится имя словаря.
а в
масЗначСтр[ДлиннаМЗС-1]

хранится код нужного элемента

я использую "выполнить" потому что после "РезультатЗапроса = Справочники." должно идти имя справочника а не масЗначСтр[ДлиннаМЗС-2]. в последнем случае выдаст ошибку.
8. Sashares 34 17.04.24 17:37 Сейчас в теме
(6)
потому что после "РезультатЗапроса = Справочники." должно идти имя справочника

О сколько нам открытий чудных документация несет...
7. Sashares 34 17.04.24 17:35 Сейчас в теме
(1)Зачем тут
выполнить
?
НайденныйЭлемент = Справочники[ИмяСправочника].НайтиПоКоду(ИскомоеЗначение);
VKuser241523867; SlavaKron; +2 Ответить
9. VKuser241523867 17.04.24 17:40 Сейчас в теме
(7) вроде код делает то же самое, но почему то заработало :/
10. SlavaKron 17.04.24 17:46 Сейчас в теме
(9) Возможно, нужны кавычки
Выполнить("РезультатЗапроса = Справочники."+ масЗначСтр[ДлиннаМЗС-2]+".найтипокоду("""+ масЗначСтр[ДлиннаМЗС-1] + """)");
Делать так, конечно, не надо. Просто было интересно, почему Выполнить не сработало.
VKuser241523867; +1 Ответить
11. user1880116 17.04.24 17:52 Сейчас в теме
(10)
почему Выполнить не сработало
Потому что в масЗначСтр[ДлиннаМЗС-1] было пустое значение. Это по описанию ошибки в самом начале видно.
12. SlavaKron 17.04.24 17:53 Сейчас в теме
(11) Как объяснить, что сообщить выдавало код?
13. user1880116 17.04.24 17:55 Сейчас в теме
(12) Тем, что ТС нас обманывает, например.
14. SlavaKron 17.04.24 17:56 Сейчас в теме
(13) В параметрах у него там получилось число: -3 (00-000003 = -3). Возможно, такая реакция платформы.
16. VKuser241523867 17.04.24 17:56 Сейчас в теме
(14)я пробовал сокращённый вариант 000003
17. SlavaKron 17.04.24 17:57 Сейчас в теме
(16) Проверьте вариант из (10) ради интереса.
18. VKuser241523867 17.04.24 17:59 Сейчас в теме
(17)нельзя так кавычки писать. он их воспринимает как открытие кавычек
19. SlavaKron 17.04.24 18:02 Сейчас в теме
22. VKuser241523867 17.04.24 18:09 Сейчас в теме
(19)был не прав. действительно, при выставлении кавычек "выполнить" заработало
Выполнить("РезультатЗапроса = Справочники."+масЗначСтр[ДлиннаМЗС-2]+".найтипокоду("""+масЗначСтр[ДлиннаМЗС-1]+""")");
20. Boneman 298 17.04.24 18:05 Сейчас в теме
(18) кавычку в строке чтобы вписать, надо поставить двойную кавычку..
ваш кусок кода
масЗначСтр[ДлиннаМЗС-2]+".найтипокоду("+ масЗначСтр[ДлиннаМЗС-1] + ")");

заменить на
масЗначСтр[ДлиннаМЗС-2]+".найтипокоду("""+ масЗначСтр[ДлиннаМЗС-1] + """)");


но это именно для вычисления,
иначе оно воспринимает строку как переменную, или цифру..смотря что там получается.
21. Sashares 34 17.04.24 18:07 Сейчас в теме
(20)Не нужны там кавычки.
Выполнить("РезультатЗапроса = Справочники."+ масЗначСтр[ДлиннаМЗС-2]+".найтипокоду( масЗначСтр[ДлиннаМЗС-1])");
VKuser241523867; +1 Ответить
23. Boneman 298 17.04.24 18:11 Сейчас в теме
(21) скорее всего будет работать и так и так.
15. VKuser241523867 17.04.24 17:56 Сейчас в теме
(13)я заменил то что было на
РезультатЗапроса = Справочники[масЗначСтр[ДлиннаМЗС-2]].найтипокоду(масЗначСтр[ДлиннаМЗС-1]);

и заработало. тут в выполнить проблема какая то
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот