Всем привет!

Вопрос такой, в справке по параметры запуска веб-клиента есть параметр: "C=<строка текста> — передача параметра в конфигурацию.", использовал ли его кто-нибудь? И если да, то хотелось бы увидеть пример обработки этого параметра на стороне 1С. Перерыл весь интернет, такое чувство, что его никто и никогда не использовал!
А если в целом по задаче, необходимо по ссылке открыть в веб клиенте нужную обработку под нужным пользователем. Вариант открывать через ссылку вида http://server.ru/base/#e1cib/app/Обработка.НужнаяОбработка под универсальным пользователем, прописанным в default.vrd не подходит. А если в параметрах веб клиента задавать логин и пароль http://server.ru/base/?N=user&P=pswd, то не удается добиться открытия нужной обработки. Может быть именно параметр С тут поможет. Веб сервер на linux + apache.
---
Ссылка для запуска: http://server.ru/base/?C=test.xml

В модуле управляемого приложения пишите что-то наподобие:

```1c
    Процедура ПриНачалеРаботыСистемы()

    Если ПараметрЗапуска = "test.xml" Тогда
    Обработка.НужнаяОбработка.Открыть();
    КонецЕсли;

    КонецПроцедуры;
```
---
Перерыл весь интернет, такое чувство, что его никто и никогда не использовал! Да ладно, на Мисте это даже вошло в Книгу знаний: https://kb.mista.ru/article.php?id=340

необходимо по ссылке открыть в веб клиенте нужную обработку под нужным пользователем. А самое простое почему не годится - проверять имя пользователя и для нужного имени запускать нужную обработку?
---
Перерыл весь интернет, такое чувство, что его никто и никогда не использовал! Да ладно, на Мисте это даже вошло в Книгу знаний: https://kb.mista.ru/article.php?id=340

необходимо по ссылке открыть в веб клиенте нужную обработку под нужным пользователем. А самое простое почему не годится - проверять имя пользователя и для нужного имени запускать нужную обработку?
---
есть веб ресурс в котором работают авторизованные пользователи, предполагается добавить в него ссылки на различные отчеты/обработки, ресурс будет определять, видна ли для данного пользователя ссылка на отчет/обработку, если видна, то при нажатии будет перекидывать в веб клиент 1С, где должен открыться нужный отчет (предполагается, что пользователи слишком ленивы/некомпетентны/высокопоставленны что бы заходить в 1С и на своем рабочем столе искать, как же отчет они хотят открыть), если есть идеи, какими еще путями можно это реализовать - с удовольствие послушаю!
Но про то, что у веб клиента те же параметры запуска, что и толстого клиента, как-то не подумал, обработка переменной ПараметрЗапуска вроде как решит проблему.
---
если есть идеи, какими еще путями можно это реализовать - с удовольствие послушаю! Я правильно понял, что строка запуска 1С будет формироваться веб-сервисом? Тогда почему не использовать при этом формировании обычный для таких случаев ключ запуска внешней обработки /Execute? Плюсы - не надо вносить изменения в конфигурацию.
---
формировать строку запуска будет сторонний веб ресурс, к которому уже привыкли пользователи, он никак не связан с 1С, но веб-сервисы 1С тоже есть, можно сделать какой-то обмен данным между сторонним ресурсом и веб сервисами. Поделитесь пожалуйста ссылкой на ключ запуска внешней обработки в веб клиенте! Если речь о подобном https://www.forum.mista.ru/topic.php?id=683650 то можно ли открывать через /Execute обработки из справочника внешних обработок конфигурации? Не хотелось хранить где-то россыпь файлов обработок вне конфигурации.
---
Если речь о подобном https://www.forum.mista.ru/topic.php?id=683650 Другого тут вряд ли мождно придумать - параметры запуска 1С придумываем не мы.
можно ли открывать через /Execute обработки из справочника внешних обработок конфигурации? Вряд ли: в качестве аргумента ключа /Execute используется как раз имя файла отчета или обработки.

А справочник внешних обработок - это объект конфигурации, которая на момент запуска платформы (когда обрабатываются ключи запуска) еще не открыта.
---
+(7) А если хочется использовать справочник (объект конфигурации), то для этого база должна быть открыта - то есть, придется задействовать ключ /C и в коде прописывать обработку ПараметрЗапуска.
---
Ссылка для запуска: http://server.ru/base/?C=test.xml

В модуле управляемого приложения пишите что-то наподобие:

```1c
    Процедура ПриНачалеРаботыСистемы()

    Если ПараметрЗапуска = "test.xml" Тогда
    Обработка.НужнаяОбработка.Открыть();
    КонецЕсли;

    КонецПроцедуры;
```
---
В итоге больше всего понравилось решение добавить в конфигурацию обработку, которая в зависимости от переданных в нее параметров будет открывать нужные отчеты. То есть по ссылке http://server.ru/base/?N=user&P=pswd&C=Отчет1 ПриНачалеРаботыСистемы() открывается вызов обработки с параметром "Отчет1", а уже она откроет отчет из справочника внешних обработок. Всем спасибо!
---
Вдруг кому пригодится или кто решит покритиковать за костыльность.
В конфигурацию добавил обработку "Открывашка", в модуле управляемого приложения в ПриНачалеРаботыСистемы() дописал:

```1c
    Если НЕ ПустаяСтрока(ПараметрЗапуска) Тогда
    Параметры = Новый Структура;
    Параметры.Вставить("ИмяОбработки", ПараметрЗапуска);
    ОткрытьФорму("Обработка.Открывашка.Форма.Форма", Параметры);
    КонецЕсли;
```

И в самой открывашке стандартное открытие внешних обработок конфигурации с поиском по наименованию, которое передается параметром:

```1c
    &НаСервере
    Функция ПолучитьИмяФайлаОбработки(ИмяОбработки)

    СсылкаНаОбъект = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяОбработки);
    ДвоичныеДанные = СсылкаНаОбъект.ХранилищеВнешнейОбработки.Получить();
    АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные);

    Возврат(АдресХранилища);

    КонецФункции

    &НаСервере
    Функция ПолучитьСсылкуНаОбработку(АдресХранилища)

    Возврат ВнешниеОтчеты.Подключить(АдресХранилища);

    КонецФункции

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    Попытка
    АдресХранилища = ПолучитьИмяФайлаОбработки(Параметры.ИмяОбработки);
    ИмяОбработки=ПолучитьСсылкуНаОбработку(АдресХранилища);
    ОткрытьФорму("ВнешнийОтчет."+ ИмяОбработки+".Форма");
    Закрыть();
    Исключение
    Сообщить(ОписаниеОшибки());
    Закрыть();
    КонецПопытки;

    КонецПроцедуры
```
---
В конфигурацию добавил обработку "Открывашка" Это хорошо, если можно изменять конфигурацию.

А если править ее недопустимо или нежелательно (например, типовая), то можно Открывашку запускать через ключ /Execute, а уже в ней получать и обрабатывать ПараметрЗапуска.

И конфигурация остается неизменной, и кучи внешних файлов нет, одна только Открывашка.