1с стрнайти процедура или функция с указанным именем не определена

Обновлено: 07.07.2024

Здравствуйте. В собственной конфигурации для разных лелей - сделать выборку, новый отчет и т.д. активно пользовался консолью запросов. Текущая версия платформы - 8.3.15.1565. В текущей версии платформы запускаю ИБ, открываю консоль и пытаюсь запустить Конструктор запроса и получаю ошибку:
ошибка инициализации модуля: ВнешняяОбработка.QueryWizard.Форма.QueryWizard.Форма
по причине:
<ВнешняяОбработка.QueryWizard.Форма.QueryWizard.Форма(12791, 19)>: Процедура или функция с указанным именем не определена (StrFind)
PointPosition = <<?>>StrFind(Type.Value, ".");

проверил на типовой конфе -есть доступ к Документообороту, все открывается, запрос создается. Что не так с собственной конфой? как решить проблему? помогите пожалуйста.

Добавлено через 10 минут
открыл консоль в конфигураторе , запустил отладку и ме вывалились ошибки:
ВнешняяОбработка.КонсольЗапросов.Форма.Форма.Форма(1260,22)> : Процедура или функция с указанным именем не определена (СтрНайти)
ПозицияОкончание = <<?>>СтрНайти(ТекстИнформацияОМестеОшибки, ")>"); (Проверка: Тонкий клиент)
: Процедура или функция с указанным именем не определена (СтрРазделить)
НаборВерсий =<<?>>СтрРазделить(СистемнаяИнформация.ВерсияПриложения, "."); (Проверка: Тонкий клиент)
: Процедура или функция с указанным именем не определена (СтрРазделить)
НомерКолонкиИСтроки = <<?>>СтрРазделить(Сред(ТекстИнформацияОМестеОшибки, 1, ПозицияОкончание - 1), ","); (Проверка: Тонкий клиент)
: Процедура или функция с указанным именем не определена (СтрСоединить)
ВерсияПриложения = ТипЧисло.ПривестиЗначение(<<?>>СтрСоединить(НаборВерсий)); (Проверка: Тонкий клиент)
: Процедура или функция с указанным именем не определена (СтрНайти)
ПозицияТочка = <<?>>СтрНайти(ВРег(ТекстЗапроса), Точка); (Проверка: Тонкий клиент)
В языке 1с не нашел таких функций. что делать?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

РИБ на собственной конфигурации
Здравствуйте. Встала задача организации распределенной базы схемы - одноуровневая звезда.

Печатная форма обработки собственной конфигурации
Здравствуйте. В собственной конфигурации есть обработка с реквизитами: Началопериода,КонецПериода.

Создание собственной конфигурации по расчету зарплаты
Итак. Доброго времени суток всем пользователям этого раздела! Столкнулся я с такими проблемами.

Ошибка RLS для документа в собственной конфигурации 1с8.3
Здравствуйте. Делаю конфу на 1с 8.3. Добавил справочник Сотрудники со стандартными реквизитами и.

что ему не нравится?

Релиз платформы проверь или режим совместимости у конфигурации. Древний поди.
+(6) первый символ проверь названия функции , м.б. "C" латиница

(5) Режим совместимости = да
(6) ОФ - толстый клиент
вообще
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер), интеграция.

(7) Выделение ctrl+f1 слызу вываливаемся в справку - куда надо(с проверял на латиницу, это первое что сделал)
(9) Версия 8.2.16
(3) И что?
Мне не надо проверять, есть вхождение или нет, мне нужен номер вхождения, если он есть то идем дальше, если нет, то нет

Может так сработает?

СтрНайти (StrFind)
Синтаксис:

СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Параметры:

Тип: Строка.
Указывает направление поиска подстроки в строке.
Указывает позицию в строке, с которой начинается поиск.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СНачала, то значение по умолчанию равно 1.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СКонца, то значение по умолчанию равно длине строки.
Допускаются значения от 1 до количества символов в строке, в которой выполняется поиск. Если указано значение, не входящее в диапазон, генерируется ошибка "Неверное значение параметра".
Тип: Число.
Указывает номер вхождения искомой подстроки в исходной строке.
Значение по умолчанию: 1.
Возвращаемое значение:

Тип: Число.
Позиция первого знака найденной подстроки. Нумерация символов в строке начинается с 1. Если строка не содержит указанной подстроки, то возвращается 0.
Описание:

Находит первое вхождение искомой строки как подстроки в исходной строке.
Сравнение выполняется с учетом регистра.

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер), интеграция.
Примечание:

Если параметр <ПодстрокаПоиска> пустая строка, то возвращает 1.
Если оба параметра пустые строки, то возвращает 1.
Пример:

(0) Видимо, в расширение заимствована процедура (функция) в которой есть некие добавления. Вместе с формой. В том числе, вызывается процедура Прочитать(). Скорей всего, у к-либо переменной. Тут надо в этой строке с "Прочитать()" поставить точку останова и смотреть какое значение прилетает у переменной. Например, "НекаяПеременная.Прочитать();" а в "НекаяПеременная" прилетает Неопределено.

При отключении расширения прочитать=ложь и не заходит в прочитать()

присоединясь к вопросу: на расширении начало выводить эту ошибку при попытке в конфигураторе открыть форму 1С вылетает напрочь. проперка выдает вот это платформа: 8.3.16.1063 УТ 11 (11.4.8.84)
происходить начало после обновление платформы

(13) такая фигня у меня была когда поступление тиу переименовали в приобретение

(14) Спасибо, сейчас попробую. чем "Ч. не шутит". интересное, конечно решение проблемки.

(14) решение, конечно интересное НО форма заимствованная изрядно изменена. и чуть вроде поняла в чем интерес. раньше. заимствованная форма открывалась с родными реквизитами в одном цвете с добавляемыми (то есть черненьким рисовалось). сейчас. родные прозначненьким рисуются, а добавляемые черненьким. и тут конфликтик и возникает при открытии конкретно таких изменных форм

так. удаление таких форм это не решение. чую, так как переписывать ОЧ мягко выражаясь. какие есть решения.

(13) "записать" - это процедура на клиенте, доступна если выбран основной реквизит на форме. У меня такая штука тоже выходила, но в конфигуратора на форму пускало, с конфигуратора в расширении в форме нажал "обновить" и ошибка пропала, ошибка вышла при переходе на 8.3.14 и последующем обновлении конфигурации
Когда с конфигуратора выкидывало без предупреждения было переименование документа поступления на приобретение (платформа не обновлялась, только конфигурация)
У вас конфигурация обновлялась?

615568fd633ab348780491.jpg

У автора почему-то работает, а у меня нет такой функции.

Sgr_A

Потому что у автора толстый клиент судя по всему, без деления на клиент-сервер.
У вас ругается, потому что вы НаКлиенте пытаетесь сделать. А данный метод доступен только НаСервере.

61556a0411a55342632988.jpg

получается нужно всегда на толстом клиенте запускать? Тонкий клияент, как я понял, это именно 8.3 версия, а толстый, это совместимый с прежними версиями.

Sgr_A

Лучше вообще изучать сразу клиент-серверный вариант. Толстый клиент - это обычное приложение, а не управляемое. Это старая технология, можно сказать.

615576ee45cde193798106.jpg

Вот я поставил толстый клиент, все равно не работает

Sgr_A

Sgr_A, Ошибка инициализации модуля: Справочник.Справочник.Форма.ФормаЭлемента.Форма
по причине:
: Процедура или функция с указанным именем не определена (ПолучитьМакет)
Макет = <<?>>ПолучитьМакет("Макет");

Sgr_A

foonfyrick, если вас интересует макет в справочнике, то метод доступен только у объектов СправочникМенеджер и СправочникОбъект.

Смотрите синтакс-помощнике:
Прикладные объекты/Справочники/СправочникМенеджер.<Имя справочника>/Методы/ПолучитьМакет
Прикладные объекты/Справочники/СправочникОбъект.<Имя справочника>/Методы/ПолучитьМакет

Sgr_A

6155ab25933db302590553.jpg

foonfyrick, с помощью такого же метода.
Sgr_A, я нашел в синтаксис-помощнике это, но вызвать в коде нельзя, нет никакого справочника менеджера или объекта. Sgr_A, я хочу просто создать макет и вывести его на печать, как это сделать? Например в справочнике, я создал макет, написал в нем что-нибудь, дальше я хочу нажать на кнопку, которую я сам создал, и чтобы вывелся на печать этот макет.

Sgr_A, вот такая теперь ошибка:
: Переменная не определена (Документы)
Макет = <<?>>Документы.Документ.ПолучитьМакет("Макет"); (Проверка: Тонкий клиент)

И, почему-то, пишет проверка тонкий клиент хотя я толстый поставил.

Sgr_A

foonfyrick, всё есть.
В вашем случае для обращения к методу через тип "СправочникМенеджер" надо написать:


Если через тип "СправочникОбъект", то примерно так:

Sgr_A

Sgr_A, то же самое пишет что в справочнике что в документе:

: Переменная не определена (Справочники)
Макет = <<?>>Справочники.Справочник.ПолучитьМакет("ИмяМакета"); (Проверка: Тонкий клиент)

Sgr_A

foonfyrick, покажи полный скрин экрана. Текстовое описание ничего мне не дает для понимания.

6155b3ab6a76e189466809.jpg

Sgr_A,

Sgr_A

foonfyrick, а теперь сравните свой код с тем, что выше написал (примеры). Sgr_A, Все заработало, но я не понял, почему нужно писать &НаСервере если всё выполняется в приложении, а приложение это значит на клиенте, почему я должен писать на сервере если у меня нет никакого сервера?

Sgr_A

foonfyrick, ох…
Учите матчасть. Гуглите основы работы клиент-серверного взаимодействия 1С, понятия директив и прочее.

Толстый и тонкий клиенты - это фишки, которые придумали в 8.2 и продолжают использовать в 8.3. Ранее была единый пользовательский режим. Главное отличие в том, что "тонкий клиент" поддерживает вывод только управляемого интерфейса, а "толстый клиент" дает полный функционал платформы. Как результат, тонкий клиент более легкий по объему на диске и в памяти.

Разделение форм на клиентскую и серверную часть придумано в управляемом интерфейсе. Большинство учебных материалов дается по обычному интерфейсу (УПП, УТП и тд), где все было проще - формы всегда на клиенте, а серверная часть реализовывалась на общих модулях.

Возможности клиента управляемого интерфейса сильно урезаны по сравнению с возможностями клиента обычного интерфейса - не только нет прямого доступа к метаданным, но даже ограничена работа с простыми базовыми типами - на клиенте запрещено использовать таблицы значений, с сервера на клиент запрещено передавать список значений и так далее.

Sgr_A, А как данные записать теперь в этот макет? Я пытаюсь до параметров добраться, если делаю это на клиенте, то пишет "переменная сотрудники неопределена", а если делаю это на сервере, в функции "получить макет" то тоже переменная Сотрудники неопределена, и даже если просто любую строку туда попытаться присвоить, ничего не выводит в печать.

Читайте также: