Переменная не определена в 1С 8.3
Ошибка Переменная не определена в 1С 8.3 указывает на то, что программа не может получить нужную информацию в исполняемом программном коде. Это может быть связано с обновлением или доработкой программы. Если стандартный набор действий при исправлении ошибок не помог:
- чистка кеша;
- тестирование и исправление информационной базы;
- просмотр зарегистрированных ошибок на сайте 1С,
придется разбираться с местом возникновения ошибки в 1С самостоятельно.
БухЭксперт8 подготовил 3 примера получения и исправления ошибки:
- в доработанном программном коде;
- при выводе печатной формы;
- при исполнении кода на Клиенте.
Ошибка в доработанном программном коде
В форму типового отчета Движение товаров программист добавил поле Склад . Список выбора значений в это поле ограничен. При открытии отчета появляется ошибка:
В сообщении об ошибке указано место возникновения ошибки — строка 919 в модуле формы. Для исправления ошибки необходимо выполнить следующие действия:
-
Нажмите кнопку Подробно в форме сообщения об ошибке.
В окне Обнаружены ошибки программа укажет:
- номер неправильной строки кода;
- исполняемую команду, которая привела к ошибке.
- ОсновнойСклад = Справочники.Склады.НайтиПоНаименованию(«Основной склад»);
- ОсновнойСклад = Справочники.Склады.ОсновнойСклад.
Синтаксис Справочники.Склады.ОсновнойСклад используется только для предопределенного склада с именем ОсновнойСклад :
После исправления отчет открывается без ошибки, а при выборе складов устанавливается нужное значение Основной склад .
Ошибка вывода печатной формы
Для вывода в печатную форму накладной данных об ответственном менеджере, оформившем документ поступления, программист внес изменения в макет ПФ_MXL_Накладная и программный код.
В макет документа добавлена область Подвал :
В программном коде дописан вывод данных области Подвал :
После доработки программы при попытке вывода накладной на печать 1С выдает ошибку:
Информация в окне сообщения об ошибке указывает, что в Модуле менеджера документа ПоступлениеТоваровУслуг не определено значение переменной Ответственный . Для исправления ошибки:
- Перейдите в Конфигуратор . В Модуле менеджера документа ПоступлениеТоваровУслуг перейдите на строку 4804.
- Укажите для вывода в печатную форму поля Ответственный — текущего пользователя, используя специальную команду 1С:
- Пользователи.ТекущийПользователь().
- Сохраните изменения и обновите информационную базу.
- Перейдите в пользовательский режим для проверки выполненных изменений.
После исправления программного кода накладная сформируется без ошибки.
Ошибка исполнения кода на Клиенте
С переходом на управляемые формы в Бухгалтерия 3.0 работы программистам прибавилось.
Язык программирования стал сложнее. Часть команд теперь могут выполняться только на стороне клиента — это, условно говоря, компьютер пользователя, который посылает запросы на исполнение операций серверу. Сервер обрабатывает все поступившие запросы и отсылает обратно клиенту результат обработки данных.
Все это привело к тому, что в 1С команды делятся на исполняемые &НаСервере и &НаКлиенте . И при написании программного кода нужно это учитывать, иначе программа не сможет выполнить заданную операцию. При работе с переменными при написании программного кода важно понимать:
- &НаКлиенте — переменные существуют только на время клиентского вызова;
- &НаСервере— переменные существуют только на время серверного вызова.
Разделение команд в программном коде не зависит от того, используете ли вы файловую или клиент-серверную 1С. Разграничение должно четко исполняться, иначе будут возникать ошибки, одну из которых БухЭксперт8 разберет на примере.
- «?»Справочники.Склады.НайтиПоКоду(«»00-000002»).
Ошибка связана с тем, что данная операция исполняется только на сервере, т. е. &НаСервере . И несмотря на то, что сама команда исполнения корректна, ошибка будет формироваться до тех пор, пока ее не перенесут в область команд исполнения &НаСервере , например так:
Теперь сохранение изменений пройдет без ошибки.
Усложнение языка программирования 1С требует от разработчика более глубокого подхода к вносимым изменениям в программу. Недостаточно просто знать синтаксис команды, важно еще правильно задать область исполнения команды в режиме управляемых форм.
См. также:
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Ошибка: Переменная не определена РаботаСДокументами
В 1C я новичок, и мне выдали задание на практику. Почти все сделал, но 1C выдает ошибки, что не объявлены переменные (выделены жирным курсивом). Как их исправить, я не знаю. Испробовал множество вариантов, и ни к какому результату придти не смог. Прошу помощи при решении этих проблем.
Ошибки и код представлены ниже ↓
1С 8,3 Ошибка: Переменная не определена
Доброго времени суток Нужна помощь в коде Начал Изучать 1с нужно в расходном документе.
Ошибка: переменная не определена
Перечитала все советы, все перепробовала. Никакого толка. Версия 8.2. Пожалуйста 🙁 Скрин во.
Ошибка "Переменная не определена (РаботаСДиалогами)"
Здравствуйте! создал внешний отчет, в форме которого есть реквизит типа.
Переменная не определена 1с
Подскажите почему к данному коду &НаКлиенте Процедура СотрудникНачалоВыбора(Элемент.
Вложения
InfoBase3.rar (1.11 Мб, 33 просмотров) |
Т.е. в вашем случае два варианта: убираете флаг для общих модулей и оставляете код неизменным, либо оставляете флаг и убираете везде имена общих модулей, но следите за уникальностью имен процедур и функций в глобальном контексте.
По поводу Списка — ничего не нашла в реквизитах формы и объекта. Еще раз: опишите задание, чтобы помочь вам в этом вопросе.
Добавлено через 4 минуты
Насчет процедуры ОбработкаПроверкиЗаполнения() — почему у вас эта процедура в форме документа, а не в модуле объекта?
Думаю, тут вы ошиблись. Конкретно про неопределенную переменную. ПереченьНоменклатуры — это табличная часть документа, в форме документа обращение к ней идет через Объект.ПереченьНоменклатуры, в модуле документа — ПереченьНоменклатуры.
Ошибка модуля
Ошибка Переменная не определена в 1С 8.3 указывает на то, что программа не может получить нужную информацию в исполняемом программном коде. Это может быть связано с обновлением или доработкой программы. Если стандартный набор действий при исправлении ошибок не помог:
- чистка кеша;
- тестирование и исправление информационной базы;
- просмотр зарегистрированных ошибок на сайте 1С,
придется разбираться с местом возникновения ошибки в 1С самостоятельно.
БухЭксперт8 подготовил 3 примера получения и исправления ошибки:
- в доработанном программном коде;
- при выводе печатной формы;
- при исполнении кода на Клиенте.
Ошибка в доработанном программном коде
В форму типового отчета Движение товаров программист добавил поле Склад. Список выбора значений в это поле ограничен. При открытии отчета появляется ошибка:
В сообщении об ошибке указано место возникновения ошибки — строка 919 в модуле формы. Для исправления ошибки необходимо выполнить следующие действия:
- Нажмите кнопку Подробно в форме сообщения об ошибке.
В окне Обнаружены ошибки программа укажет:- номер неправильной строки кода;
- исполняемую команду, которая привела к ошибке. Иногда подробной информации в окне Обнаружены ошибки достаточно для понимания причин ее возникновения, но не всегда. В большинстве случаев требуется перейти в место возникновения ошибки и проанализировать используемые в команде данные.
- Для перехода в место ошибки нажмите кнопку Конфигуратор.
В Конфирураторе курсор автоматически установится на строке программного кода с ошибкой. Необходимо проверить используемые командой данные. В данном примере ошибка сигнализирует, что переменной ОсновнойСклад не задано значение: при добавлении в список складов программа не понимает, какой склад требуется добавить. - Исправьте ошибку.
Укажите нужное значение переменной в программном коде, например:- ОсновнойСклад = Справочники.Склады.НайтиПоНаименованию(«Основной склад»);
- ОсновнойСклад = Справочники.Склады.ОсновнойСклад.
Синтаксис Справочники.Склады.ОсновнойСклад используется только для предопределенного склада с именем ОсновнойСклад:
- Сохраните изменения и обновите информационную базу.
- Проверьте работу 1С после исправления ошибки.
После исправления отчет открывается без ошибки, а при выборе складов устанавливается нужное значение Основной склад.
Ошибка вывода печатной формы
Для вывода в печатную форму накладной данных об ответственном менеджере, оформившем документ поступления, программист внес изменения в макет ПФ_MXL_Накладная и программный код.
В макет документа добавлена область Подвал:
В программном коде дописан вывод данных области Подвал:
После доработки программы при попытке вывода накладной на печать 1С выдает ошибку:
Информация в окне сообщения об ошибке указывает, что в Модуле менеджера документа ПоступлениеТоваровУслуг не определено значение переменной Ответственный. Для исправления ошибки:
- Перейдите в Конфигуратор. В Модуле менеджера документа ПоступлениеТоваровУслуг перейдите на строку 4804.
- Укажите для вывода в печатную форму поля Ответственный — текущего пользователя, используя специальную команду 1С:
- Пользователи.ТекущийПользователь().
- Сохраните изменения и обновите информационную базу.
- Перейдите в пользовательский режим для проверки выполненных изменений.
После исправления программного кода накладная сформируется без ошибки.
Ошибка исполнения кода на Клиенте
С переходом на управляемые формы в Бухгалтерия 3.0 работы программистам прибавилось.
Язык программирования стал сложнее. Часть команд теперь могут выполняться только на стороне клиента — это, условно говоря, компьютер пользователя, который посылает запросы на исполнение операций серверу. Сервер обрабатывает все поступившие запросы и отсылает обратно клиенту результат обработки данных.
Все это привело к тому, что в 1С команды делятся на исполняемые &НаСервере и &НаКлиенте. И при написании программного кода нужно это учитывать, иначе программа не сможет выполнить заданную операцию. При работе с переменными при написании программного кода важно понимать:
- &НаКлиенте — переменные существуют только на время клиентского вызова;
- &НаСервере— переменные существуют только на время серверного вызова.
Разделение команд в программном коде не зависит от того, используете ли вы файловую или клиент-серверную 1С. Разграничение должно четко исполняться, иначе будут возникать ошибки, одну из которых БухЭксперт8 разберет на примере.
При доработке программного кода программист использовал операцию получения данных склада &НаКлиенте в процедуре ПриОткрытии.
При сохранении изменений 1С сообщила об ошибке Переменная не определена (Справочники) при определении значения склада:
- «?»Справочники.Склады.НайтиПоКоду(«»00-000002»).
Ошибка связана с тем, что данная операция исполняется только на сервере, т. е. &НаСервере. И несмотря на то, что сама команда исполнения корректна, ошибка будет формироваться до тех пор, пока ее не перенесут в область команд исполнения &НаСервере, например так:
Теперь сохранение изменений пройдет без ошибки.
Усложнение языка программирования 1С требует от разработчика более глубокого подхода к вносимым изменениям в программу. Недостаточно просто знать синтаксис команды, важно еще правильно задать область исполнения команды в режиме управляемых форм.
См. также:
- Большое количество забивается решеткой
- Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы
- Значение поля номер не уникально 1С 8.3: как исправить
- У пользователя недостаточно прав на исполнение операции
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Здравствуйте!
Самописная конфигурация на платформе 1С:Предприятие 8.3 (8.3.3.641).
Режим Управляемое приложение.
Перенес из модуля формы функцию в ОбщиеМодули и общий модуль перестал инициализироваться.
У модуля ОбщиеМеханизмыКлиента указаны свойства: Клиент (управляемое приложение), Сервер, Вызов сервера.
Выдает ошибку при попытке вызова любой функции модуля:
Цитата Ошибка инициализации модуля: ОбщийМодуль.ОбщиеМеханизмыКлиента.Модуль
по причине:
<ОбщийМодуль.ОбщиеМеханизмыКлиента.Модуль(246,17)>: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос;
Функция, которая перенесена:
// *************************************************
// * Возвращает остаток на счете на момент времени *
// *************************************************
Функция ПолучитьОстаток(
пСчет, // «Счет», по которому определяется остаток
Знач пМоментВремени = Неопределено // «Момент времени», на который возвращается остаток
) Экспорт
// ======================================
// = Сформировать значения по умолчанию =
// ======================================
Если пМоментВремени = Неопределено Тогда
пМоментВремени = ТекущаяДата();
КонецЕсли;
// ============================================
// = Получить остаток по регистру бухгалтерии =
// ============================================
// Сформировать условие по отобору «Счета»
Отбор = Новый Структура(«Счет», пСчет);
// Выбрать данные
Выборка = РегистрыБухгалтерии.Фин_Отч_ЖурналОпераций.Остатки(пМоментВремени, , Отбор);
// Получить значение остатка
Остаток = Выборка.Итог(«СуммаОстатокДт») — Выборка.Итог(«СуммаОстатокКт»);
// =====================================
// = Добавить «Начальный баланс» счета =
// =====================================
Ошибка означает, что данные в ФН и на фискальной плате не совпадают.
Может произойти при: замене платы FM15/16, при подаче команды авторизации на зарегистрированной кассе, и при сбое электропитания на кассе во время работы (т.к. на фискальной плате стоит энергозависимая память).
Обязательно используйте последнюю версию Fito.
Скачать ее можно тут: «Страница загрузок»
Точно ли эта инструкция мне нужна? (раскрыть)
- На уже зарегистрированной кассе была заменена фискальная плата FM15/16
- На уже зарегистрированную кассу была подана команда «Авторизация» или «Тех. Обнуление»
- На чеке диагностики печатается «Ошибка модуля ФН»: значит, в данных фискальной платы нет информации по организации
- В Fito стоит галочка «Фатальная ошибка ФН» или «Нефискальный режим»: обязательно проверьте серийный номер на чеке диагностики — совпадает ли он с номером на шильде
Инструкция:
- Обязательно обновите прошивку!
- На чеке диагностики заводской номер не совпадает с номером на шильдике
- Восстановите данные по организации в памяти фискальной платы
- Восстановите NVR (Счетчики нарастающих итогов)
- «Ошибка контрольной суммы ОЗУ» — как исправить?
Шаг 1. Обновление прошивки
Проверьте версию прошивки на плате (как это сделать?). Если версия не является последней (последнюю можно найти тут: «Страница загрузок») — обновите ее.
Для Вики Принт, подключенному к ПК это можно сделать Менеджером Обновлений. Для иных случаев прошивайте плату с помощью этой инструкции.
Шаг 2. Команда авторизации
Команда Авторизации сотрёт всё содержимое памяти Вики Принт включая лицензии Дримкас Ключ. Лицензию нужно будет активировать повторно.
Fito → «Сервис» → «Авторизация» → укажите Модель ККТ из списка и последние 6 цифр заводского номера с шильдика → «Выполнить»
Шаг 3. Восстановление данных об организации
Fito → «Сервис» → «Проверка записи регистрации» → «Считать» → сохраните файл в любое место, он нам не нужен.
У вас нет такого пункта в Fito (раскрыть)
В Fito по умолчанию скрыты пункты меню, с помощью которых можно напрямую работать с данными в фискальной памяти.
Закройте Fito и скопируйте файл Fito.ini в папку с утилитой.
На кассах Вики путь к Fito следующий:
Либо можно добавить параметры вручную: откройте текстовым редактором файл Fito.ini и в раздел добавьте строку:
ServAccess=767 (измените цифры на 767, если пункт ServAccess уже есть).
Укажите следующие значения в полях этой таблицы (скриншот ниже):
- Серийный номер = если не совпадает с номером на шильде, вернитесь к шагу 2
- Регистрационный номер, ИНН, номер ФН — впишите соотв. значения
- Версия = 1
- Тип ФФД = 2 (если регистрация была по ФФД 1.05) или 1 (если по ФФД 1.0)
Нажмите «Записать» и перезагрузите ККТ из режима «Сервис» → «Рестарт ККТ».
Если после перезагрузки на чеке диагностики будет ошибка «Расхождение данных в ФН и NVR» — следуйте инструкции дальше.
Если же выйдет «Ошибка ФН» — значит, третий шаг выполнен некорректно. Вы где-то ошиблись или не сохранили данные. Начните заново с шага №3.
Шаг 4. Перерегистрация без замены ФН
Теперь нужно сделать перерегистрацию, установив СНО и режим работы.
Для начала проверим, что в ФН смена закрыта (ведь на открытой смене перерегистрацию сделать нельзя). Fito → «Тестирование» → «Ручной ввод команд» → Номер команды = 78; параметр 1 = 6 → «Выполнить» → «Детализация ответа». Если смена закрыта, то статус смены будет = 0, открыта = 1.
Если смена открыта в ФН, то нужно в на плате ее тоже открыть, что бы потом закрыть и на плате, и в ФН. Сначала откройте смену, потом закройте.
Как открыть и закрыть смену через Fito? (раскрыть)
Открыть смену: Fito → «Тестирование» → «Ручной ввод команды» → Номер команды = 23, Параметр 1 = имя кассира → «Выполнить»
Закрыть смену: Fito → «Тестирование» → «Печать отчетов» → «Печать z-отчета» → Имя оператора = имя кассира → «Выполнить»
Проверьте настройки отправки чеков:
Fito → «Программирование настроек сети» → «Считать» → заполните URL и порт сервера ОФД → «Установить». Настройки сети можно не заполнять — служба ComProxy сама возьмет их из текущего подключения к интернету.
Теперь можно сделать перерегистрацию:
Fito → «Сервис» → «Регистрация/Снятие с учета» → «Перерегистрация без замены ФН» → заполните все данные в полях (реквизиты организации, данные по ОФД, СНО и режимы работы) → «Выполнить»
Обязательно укажите чуть-чуть другой адрес или наименование организации (например, добавьте лишний пробел). Это нужно, чтобы у перерегистрации была причина. Если делать перерегистрацию с теми же самыми параметрами, на ФФД 1.05 выйдет ошибка.
Шаг 5. Восстановление NVR
Текст ошибки: «РАСХОЖДЕНИЕ НОМЕРОВ СМЕН В ФН И NVR».
Fito → «Сервис» → «Проверка NVR» → «Считать» → сохраните файл в любое место, он нам не нужен → «Умолчание» → заполните поля нарастающий итогов → «Записать»
Нарастающие итоги заполняются без разделителя между рублями и копейками. Например, сумма 28 884.00 записывается как 2888400.
Значения нарастающих итогов нужно взять из последнего z-отчета (если смена открыта, для корректности этих значений к этим цифрам нужно добавить то, что было набито на последней открытой смене — данные можно посмотреть в ОФД или распечатать из ФН).
У вас нет такого пункта в Fito (раскрыть)
В Fito по умолчанию скрыты пункты меню, с помощью которых можно напрямую работать с данными в фискальной памяти.
Закройте Fito и скопируйте файл Fito.ini в папку с утилитой.
На кассах Вики путь к Fito следующий:
Либо можно добавить параметры вручную: откройте текстовым редактором файл Fito.ini и в раздел добавьте строку:
ServAccess=767 (измените цифры на 767, если пункт ServAccess уже есть).
Шаг 6. «Ошибка контрольной суммы ОЗУ»
Ошибка некритичная, означает, что текущая контрольная сумма бит по конфигурации не совпадает с последней сохранённой.
Откройте и закройте смену, ошибка пропадет. Сделать это можно через кассовое ПО или через Fito.
Как открыть и закрыть смену через Fito? (раскрыть)
Открыть смену: Fito → «Тестирование» → «Ручной ввод команды» → Номер команды = 23, Параметр 1 = имя кассира → «Выполнить»
Закрыть смену: Fito → «Тестирование» → «Печать отчетов» → «Печать z-отчета» → Имя оператора = имя кассира → «Выполнить»
Ошибка возникает, когда после точки запятой есть еще код — процедуры, функции, код тела модуля.
Пример кода, вызывающего ошибку:
Процедура ПроверитьТэгиИПоставщиков() Для каждого СтрокаТ из тПоставщиков Цикл Если ПустаяСтрока(СтрокаТ.TAG) или ЗначениеЗаполнено(СтрокаТ.Поставщик) = Ложь Тогда СтрокаТ.Создавать = Ложь; Сообщить(«Не заполнены данные по поставщику «+СтрокаТ.TAG+»!»); КонецЕсли; КонецЦикла; КонецПроцедуры; Процедура ИмяЛокальногоОтветаОткрытие(Элемент, СтандартнаяОбработка) Текст = Новый ТекстовыйДокумент; Текст.Прочитать(ИмяЛокальногоОтвета); Текст.Показать(«Файл ответа»); КонецПроцедуры
Разбор полётов
Сообщение ошибке «Обнаружено логическое завершение исходного текста модуля» возникает, когда вы добавляете функцию/процедуру после «;» даже, если она создается автоматически через конструкторы событий
Ошибка в этой строке:
Если после точки с запятой ничего нет, такой модуль не вызывает ошибку.
1С считает эту «;» частью кода тела модуля, а процедуры/функции в нем недопустимы
Найти и убрать точку с запятой (необязательно что это будет последняя функция или процедура)
Переменная не определена (НомерСправкиА)
- Ошибка 00-00122132
Код ошибки: 00-00122132
Статус: Принята к исправлению
Зарегистрирована: 06.07.2017
Описание:
Не все данные выгружаются в начальный образ узла РИБ
Способ обхода:
После создания начального образа узла вызвать команду «Состав отправляемых данных» для нового узла и в открывшейся форме принудительно зарегистрировать все объекты при помощи команды «Зарегистрировать» -> «Все объекты выбранных типов». - Ошибка 00-00127053
Код ошибки: 00-00127053
Статус: Принята к исправлению Зарегистрирована: 12.09.2017
Описание:
Не заполняется передача в регистр № 2 при вводе на основании ТТН
Способ обхода:
Ввести передачу в регистр 2 на основании поступления товаров - Ошибка 00-00127052
Код ошибки: 00-00127052
Статус: Принята к исправлению
Зарегистрирована: 12.09.2017
Помог совет хорошего человека alex0402 на дружественном форуме:
1) почистить кеш;
2) удалить базу из списка и добавить снова.
Проблема решена, тему можно закрывать.
fisher8282 , интересно стало, что же за дружественный форум? Везде написал, что помог и везде этот секретный дружественный форум?
Уже не интересно.
Помог совет хорошего человека alex0402 на дружественном форуме:
1) почистить кеш;
2) удалить базу из списка и добавить снова.
это, т.е. этот вопрос, просто несерьёзно.
Чистка кэша — стандартные действия, которые надо делать после/при обновлении.
И все делают
Если Вы воспользуетесь обновлятором 1С (есть такая б/п программа в интернете), то там эти действия — чистка кэша — встроены в процесс (автоматического) обновления
А, если бы Вы (с)делали хоть какие-то действия — например, подняли бы копию базы (из другой папки) для изучения-анализа, то и чистить (удалять-добавлять из списка) не пришлось бы.
И вопроса не было бы
Помог совет хорошего человека alex0402 на дружественном форуме:
1) почистить кеш;
2) удалить базу из списка и добавить снова.
это просто несерьёзно.
Это стандартные действия, которые надо делать после/при обновлении
Если Вы воспользуетесь обновлятором 1С (есть такая б/п программа в интернете), то там эти действия — чистка кэша — встроены в процесс (автоматического) обновления
А, если бы Вы (с)делали хоть какие-то действия — например, подняли бы копию базы (из другой папки) для изучения-анализа, то и чистить (удалять-добавлять из списка) не пришлось бы.
И вопроса не было бы
Не судите строго, я свой уровень изначально озвучил — Пользователь. Прежде после обновления проблем не возникало.
По поводу «Обновлятора 1С» почитаю, спасибо.
По поводу копии «из другой папки» — не было копии после обновления, была только до (понятно, что оплошность, согласен). Элементарная ошибка заключалась также в том, что я вновь созданный образ размещал в той же папке, где и располагалась база ранее, и в этой связи «работал» старый кеш.
Цитата |
---|
fisher8282 , интересно стало, что же за дружественный форум? Везде написал, что помог и везде этот секретный дружественный форум? |
Да не секретный он: forum-1c_ru. Обычно не приветствуют ссылки на другой ресурс.
forum-1c_ru/index.php?topic=67815
На данном ресурсе пока получаю сообщение «Ваш рейтинг недостаточно высок для публикации гиперссылки».