ОписаниеКонфигурации.Поставщик

Свойства · Vendor

Тип: Строка. Поставщик конфигурации.

Полное описание, параметры и ограничения

ОписаниеКонфигурации.Поставщик (ConfigurationDescription.Vendor)

ОписаниеКонфигурации (ConfigurationDescription)

Поставщик (Vendor)

Доступен, начиная с версии 8.3.13.

Использование:
Только чтение.
Описание:
Тип: Строка.
Поставщик конфигурации.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.3.13.

Методическая информация

Практические примеры

Прочитать паспорт только своего CF, не устанавливая конфигурацию

Реальный собственный CF сохраняется при подготовке стенда. Перед чтением проверяются имя и размер файла, после конструктора — настоящие три readonly-поля снимка.

Где и как запускать

Полный серверный общий модуль собственной файловой Windows-базы 8.5.1.1343; подготовленный вручную свой пустой CF, только чтение. Здесь в 1С не запускался.

Подготовка

  1. Создайте отдельную пустую файловую Windows-базу на платформе 8.5.1.1343. В свойствах корневой конфигурации задайте Имя=УчебнаяКонфигурацияСинтаксиса, Версия=1.0.0.0, Поставщик=УчебныйСтенд85.

  2. Обновите конфигурацию базы данных. Это подготовка своего нового стенда, не изменение УТ/КА2/УНФ/БП. В рабочей базе эти уроки не выполняйте.

  3. Для положительного опыта в Конфигураторе сохраните только собственную пустую конфигурацию через Конфигурация → Сохранить конфигурацию в файл… под именем УчебныйПаспорт85.cf. Не используйте скачанный, рабочий или чужой CF.

  4. Создайте серверный непривилегированный общий модуль УчебныйПаспорт. Вставьте полный модуль одного урока. Клиентские флаги выключены, Глобальный=Ложь.

  5. Для положительного опыта создайте у своей формы строковый реквизит ПутьКУчебномуCF. В него вручную вставьте фактический абсолютный путь только что сохранённого своего CF, не демонстрационный C:/… и не адрес временного хранилища.

  6. Свою клиентскую команду свяжите с серверной процедурой формы; из неё вызовите УчебныйПаспорт.ВыполнитьПример(ПутьКУчебномуCF). Для отрицательного модуля экспортная процедура без параметра: УчебныйПаспорт.ВыполнитьПример().

  7. Используется отдельная файловая база Windows, поэтому путь доступен локальному серверному коду на этой машине. В клиент-серверной базе путь на клиентском ПК не является автоматически серверным: этот урок не загружает файл на сервер и не обходит права доступа.

  8. Файл только читается. Размер ограничен 20 МиБ, имя фиксировано УчебныйПаспорт85.cf, а полученные Имя/Версия/Поставщик проверяются до вывода. Не разбирайте недоверенные файлы: лимит внешнего размера не гарантирует защиту от всех повреждённых форматов.

  9. ОписаниеКонфигурации не устанавливает и не загружает конфигурацию в информационную базу. Конструктор работает с ДвоичныеДанные своего CF; текст XML-выгрузки или обычный TXT не подменяют этот формат.

  10. Три поля описания readonly. Не присваивайте им новую версию/поставщика и не выдавайте изменение локальной переменной за обновление конфигурации.

  11. Конструктор также поддерживает CFE, но данный положительный опыт проверяет именно подготовленный собственный CF. Описания обновления и загрузка расширения этим уроком не выполняются.

  12. В отрицательном опыте берутся только встроенные собственные UTF-16 TXT-байты. Файлов нет; возможная ошибка формата обрабатывается, а отсутствие ошибки фиксируется как неожиданное поведение, не как пригодный CF.

  13. Здесь в 1С конструктор не запускался, CF не сохранялся и базы не обновлялись. Проверены исходник и точный контракт установленной справки; runtime-успех проверяйте вручную только на своём стенде.

Процедура ВыполнитьПример(ПутьКУчебномуCF) Экспорт
    ПроверитьУчебнуюПлатформу();
    Если ТипЗнч(ПутьКУчебномуCF) <> Тип("Строка") Тогда
        ВызватьИсключение "Нужен фактический путь к собственному сохранённому CF";
    КонецЕсли;
    Если ПустаяСтрока(ПутьКУчебномуCF) Тогда
        ВызватьИсключение "Сначала сохраните свой учебный CF и укажите его путь";
    КонецЕсли;
    ФайлСнимка = Новый Файл(ПутьКУчебномуCF);
    Если ФайлСнимка.Имя <> "УчебныйПаспорт85.cf" Тогда
        ВызватьИсключение "Разрешён только свой заранее подготовленный УчебныйПаспорт85.cf";
    КонецЕсли;
    Если НЕ ФайлСнимка.Существует() Или НЕ ФайлСнимка.ЭтоФайл() Тогда
        ВызватьИсключение "Собственный CF недоступен в этом серверном файловом контексте";
    КонецЕсли;
    Если ФайлСнимка.Размер() <= 0 Или ФайлСнимка.Размер() > 20 * 1024 * 1024 Тогда
        ВызватьИсключение "Нужен непустой CF собственной пустой конфигурации не больше 20 МиБ";
    КонецЕсли;
    ДанныеCF = Новый ДвоичныеДанные(ПутьКУчебномуCF);
    Паспорт = Новый ОписаниеКонфигурации(ДанныеCF);
    Если Паспорт.Имя <> "УчебнаяКонфигурацияСинтаксиса"
        Или Паспорт.Версия <> "1.0.0.0"
        Или Паспорт.Поставщик <> "УчебныйСтенд85" Тогда
        ВызватьИсключение "Снимок не соответствует собственному учебному паспорту; данные не выводятся";
    КонецЕсли;
    Сообщить("Имя снимка: " + Паспорт.Имя);
    Сообщить("Версия снимка: " + Паспорт.Версия);
    Сообщить("Поставщик снимка: " + Паспорт.Поставщик);
    Сообщить("Это только чтение собственного CF. Ничего не установлено и конфигурация базы не обновлялась.");
КонецПроцедуры
Процедура ПроверитьУчебнуюПлатформу()
    Система = Новый СистемнаяИнформация;
    Если Система.ТипПлатформы <> ТипПлатформы.Windows_x86
        И Система.ТипПлатформы <> ТипПлатформы.Windows_x86_64 Тогда
        ВызватьИсключение "Этот пример использует Windows CryptoAPI";
    КонецЕсли;
КонецПроцедуры

Разбор по шагам

  1. Подготовить свою пустую конфигурацию с точными Имя/Версия/Поставщик и сохранить фактический CF.

  2. Передать его настоящий путь серверной процедуре формы; путь и байты — разные значения.

  3. Ограничить имя, проверить существование, что это файл, и непустой размер не больше 20 МиБ.

  4. Получить ДвоичныеДанные своего файла и передать их конструктору ОписаниеКонфигурации.

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

  6. Вывести только подтверждённый собственный паспорт. Загрузка, установка и обновление базы не вызываются.

Как проверить результат

  1. Виден УчебнаяКонфигурацияСинтаксиса, 1.0.0.0, УчебныйСтенд85.

  2. Пустой путь, другое имя/версия/поставщик, каталог, отсутствие файла или превышение размера останавливают опыт.

  3. Сохранённый CF не удаляется и не меняется; сведения рабочей конфигурации не выдаются за содержимое этого файла.

Ожидаемый результат

Получен проверенный паспорт самостоятельно подготовленного CF без установки и без доступа к рабочей конфигурации.

На что обратить внимание

  1. Имя файла УчебныйПаспорт85.cf не доказывает его содержимое. После чтения дополнительно сверяются три поля настоящего описания.

  2. Реквизит формы — путь на стороне исполнения. Он не является ДвоичныеДанные и не переносит файл с клиентского компьютера на произвольный сервер.

  3. CF — двоичный формат конфигурации; файл Configuration.xml из XML-выгрузки не равен сохранённому CF.

  4. Readonly Версия/Имя/Поставщик описывают снимок файла, а не состояние рабочей базы. Чтение описания не выполняет обновление.

  5. Отрицательный опыт не обещает текст конкретного сообщения об ошибке на всех машинах. При неожиданном принятии TXT результат не объявляется корректным учебным CF.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.