Добрый день.

Решил попробовать новый механизм загрузки файлов через веб-клиент без расширения в 8.3.13

```1c
    &НаКлиенте
    Процедура ДобавитьФайл(Команда)

    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДополнительныеПараметры = ";
    ОбработкаОкончанияЗагрузки = Новый ОписаниеОповещения("ОбработчикЗавершенияЗагрузки", ЭтотОбъект, ДополнительныеПараметры);

    НачатьПомещениеФайла(ОбработкаОкончанияЗагрузки, , Диалог, Истина, УникальныйИдентификатор);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОбработчикЗавершенияЗагрузки(Результат, АдресНовогоФайла, ПомещаемыйФайл, ДопПараметры) Экспорт

    Файл = Новый Файл(ПомещаемыйФайл);
    Расширение = Файл.Расширение;
    Имя = Файл.ИмяБезРасширения;

    ДвоичныеДанные = Новый ДвоичныеДанные(ПомещаемыйФайл);
    Идентификатор = Новый УникальныйИдентификатор;

    АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Идентификатор);

    ОбщегоНазначения.СохранитьФайл(АдресХранилища, Имя, Расширение, Объект.Ссылка);

    ЗаполнитьТаблицыФайлов();

    КонецПроцедуры
```

И никак не могу получить доступ к загружаемому файлу.
Гружу через Хром. Он и будет на продакшене, если взлетит.

Параметр АдресНовогоФайла - html код
Помещаемый файл - строка с именем файла.

Прошу помощи, что я делаю не так. Как затянуть файл к себе в хранилище?
Этот же код в тонком клиенте прекрасно отрабатывает.
---
Вот такой код сработал.

```1c
    &НаКлиенте
    Процедура ДобавитьФайл(Команда)

    ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтаФорма);
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.МножественныйВыбор = Ложь;

    НачатьПомещениеФайлов(ОписаниеОповещения, , ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОбработатьВыборФайла(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт

    Если ПомещенныеФайлы = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Для каждого ПереданныйФайл Из ПомещенныеФайлы Цикл
```
---
Процедура ОбработчикЗавершенияЗагрузки(Результат, АдресНовогоФайла, ПомещаемыйФайл, ДопПараметры) Экспорт
АдресНовогоФайла это уже адрес во временном хранилище. Файл уже был туда помещен. Не нужно в коде пытаться сделать это еще раз, тем более со строкой, в которой просто хранится имя файла, а не сам файл.
---
в параметре АдресНовогоФайла html код..
---
И?
Такой код работает?

```1c
    &НаКлиенте
    Процедура ОбработчикЗавершенияЗагрузки(Результат, АдресНовогоФайла, ПомещаемыйФайл, ДопПараметры) Экспорт

    Файл = Новый Файл(ПомещаемыйФайл);
    Расширение = Файл.Расширение;
    Имя = Файл.ИмяБезРасширения;
    ОбщегоНазначения.СохранитьФайл(АдресНовогоФайла, Имя, Расширение, Объект.Ссылка);
    ...
```
---
В тонком клиенте работает.
А вот в веб-клиенте нет.

АдресНовогоФайла в веб-клиенте имеет следующее значение:

```1c
    <!DO CTYPE html>
    <ht ml>
    <head>
    <title>1С:Предприятие</title>
    <met a http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <met a http-equiv="X-UA-Compatible" content="IE=edge" />
    [*]
    <st yle type="text/css">
    BODY
    {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: 'MS Sans Serif';
    color: #594304;
    }
    </style>
    <sc ript language="javascript" type="text/javascript">
    var BaseUrl = window.location.href.substr(
    0, window.location.href.lastIndexOf("/")) + "/";

    var base = "/test/ru";
    var lang = "ru_RU";
    var redirect = false;
    var openIDRelyingParty = false;
    var splashTopBrandingImage = false;
    var splashBottomBrandingImage = false;
    var hasBranding = false;
    var exitURL = ";
    var oidcAllowStandardAuthentication = ";
    var version = "8.3.13.1644"

    var path = base;
    var url = window.location.protocol + "//" + window.location.host;
    if (path.slice(-1) !== '/') path += '/';
    if (base.length !== 0)
    url += path;

    var paramKeyPrefix = getParameterValue(window.location.href, 'sk');
    var keyPrefix = (paramKeyPrefix) ? paramKeyPrefix : generateKeyPrefix();

    if (!isStorageSupported())
    {
    url += '?sk=' + keyPrefix;
    }

    function generateKeyPrefix()
    {
    function s4()
    {
    return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
    }

    return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
    }

    function removeUrlParameter(strUrl, paramName)
    {
    var re = new RegExp('[&]?' + paramName + '=[^&]+', 'gi');

    var result = strUrl.replace(re, '');

    if (result.indexOf('?') === result.length - 1)
    {
    result = result.substr(0, result.indexOf('?'));
    }

    return result;
    }

    function getParameterValue(strUrl, paramName)
    {
    var re = new RegExp('[\?&]?' + paramName + '=([^&]+)', 'gi');

    var matches = re.exec(strUrl);

    if (matches && matches.length > 1 && matches[1])
    {
    return matches[1];
    }

    return null;
    }

    function writeToStorage(key, value, inQuote, encode)
    {
    if (value)
    {
    if (inQuote && value.length > 1 &&
    ((value.charAt(0) === '"' && value.charAt(value.length - 1) === '"') ||
    (value.charAt(0) === '\'' && value.charAt(value.length - 1) === '\'')))
    {
    value = value.substring(1, value.length - 1);
    }
    if (encode)
    value = encodeURIComponent(value);

    if (!isStorageSupported())
    {
    var expiresDate = new Date();
    // Время жизни - 1 минута
    expiresDate = new Date(expiresDate.getTime() + 1000 * 60);

    document.cookie = keyPrefix + '_' + key + '=' + value + ';expires=' +
    expiresDate.toGMTString() + ';Path=' + path;
    }
    else
    {
    sessionStorage.setItem(key, value);
    }
    }
    else
    {
    if (!isStorageSupported())
    {
    var expiresDate = new Date();
    // Время жизни - 1 минута
    expiresDate = new Date(expiresDate.getTime() + 1000 * 60);

    document.cookie = keyPrefix + '_' + key + '=;expires=' +
    expiresDate.toGMTString() + 'Path=' + path;
    }
    else
    {
    sessionStorage.setItem(key, value);
    }
    }
    }

    function getFromStorage(key)
    {
    if (isStorageSupported())
    {
    return sessionStorage.getItem(key)
    }
    else
    {
    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++)
    {
    var values = cookies[i].split("=");
    var str = values[0];
    str = str.replace(/(^\s*)|(\s*$)/g, ");

    if (str === keyPrefix + '_' + key)
    {
    return values[1];
    }
    }
    }
    return null;
    }

    function deleteFromStorage(key)
    {
    if (isStorageSupported())
    {
    sessionStorage.removeItem(key);
    }
    else
    {
    document.cookie = keyPrefix + '_' + key +
    "=;expires=Fri, 21 Dec 1976 04:31:24 GMT;Path="
    + path;
    }
    }

    function isStorageSupported()
    {
    var testKey = 'test';

    try
    {
    var storage = window.sessionStorage;
    storage.setItem(testKey, '1');
    storage.removeItem(testKey);

    return true;
    }
    catch (error)
    {
    return false;
    }
    }

    function writeCookie(cookieName, value, inQuote, encode)
    {
    if (value)
    {
    if (inQuote && value.length > 1 &&
    ((value.charAt(0) === '"' && value.charAt(value.length - 1) === '"') ||
    (value.charAt(0) === '\'' && value.charAt(value.length - 1) === '\'')))
    {
    value = value.substring(1, value.length - 1);
    }
    if (encode)
    value = encodeURIComponent(value);

    document.cookie = cookieName + '=' + value + ';Path=' + path;
    }
    else
    {
    document.cookie = cookieName + '=;Path=' + path;
    }
    }

    function getCookie(cookieName)
    {
    var cookies = document.cookie.split(";");
    for (var i = 0; i < cookies.length; i++)
    {
    var values = cookies[i].split("=");
    var str = values[0];
    str = str.replace(/(^\s*)|(\s*$)/g, ");
    if (str === cookieName)
    return values[1];
    }
    return null;
    }
    function deleteCookie(cookieName)
    {
    document.cookie = cookieName + "=;expires=Fri, 21 Dec 1976 04:31:24 GMT;Path=" + path;
    }

    function getHash ()
    {
    var hash = ";
    if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) &&
    (/msie 6\.0/i).test(navigator.userAgent))
    {
    var str = window.location.href;
    var inStr = false;
    var strCh = ";
    for (var i = str.length - 1; i >= 0; i--)
    {
    var ch = str.charAt(i);
    if (inStr)
    {
    if (ch === strCh)
    inStr = false;
    continue;
    }
    if (ch === "\" || ch === "'")
    {
    inStr = true;
    strCh = ch;
    continue;
    }
    if (ch === "#")
    {
    hash = str.substr(i + 1);
    break;
    }
    }
    }
    else
    {
    hash = window.location.hash;
    }
    return hash;
    }

    function getParams ()
    {
    if (window.location.search)
    {
    var params = decodeURIComponent(window.location.search).split("&");
    if (params && params[0].substring(0, 1) === "?")
    params[0] = params[0].substr(1);
    return params;
    }
    else
    {
    return [];
    }
    }

    function proceedOIDC (enableOpenIDAuth, openIDInfo)
    {
    if (getFromStorage('vrs_seance'))
    {
    setTimeout(continueLoadHTML.bind(this, true), 50);
    return false;
    }

    var OIDCSelectedProvider = getFromStorage('vrs_sel_prov');
    deleteFromStorage('vrs_sel_prov');

    writeToStorage('vrs_oidcAllowStandardAuthentication',
    (OIDCSelectedProvider ? OIDCSelectedProvider : oidcAllowStandardAuthentication));

    if (enableOpenIDAuth)
    writeToStorage('vrs_oiadenable', '1');

    if (openIDInfo)
    {
    var openIDStr = JSON.parse(openIDInfo);
    for (var key in openIDStr)
    {
    var strIDStr = JSON.stringify(openIDStr);
    writeToStorage('vrs_oauth', strIDStr);
    setTimeout(continueLoadHTML.bind(this, false), 50);
    return false;
    }
    }
    return true;
    }

    function initMain()
    {
    var hash = getHash();
    if (hash)
    {
    hash = decodeURIComponent(hash);
    writeToStorage('vrs_hash', hash, false, true);
    }

    var params = getParams();

    var enableOpenIDAuth = openIDRelyingParty;
    var openIDLogout = false;

    for (var i = 0; i < params.length; i++)
    {
    var arr = params[i].split("=");
    if (!arr)
    continue;

    var paramName = arr[0].toUpperCase();
    var paramVal = null;
    if (arr.length > 2)
    paramVal = arr.slice(1).join('=');
    else if (arr.length > 1)
    paramVal = arr[1];
    var paramValUp = paramVal ? paramVal.toUpperCase() : paramVal;

    if (paramName === "O" && paramValUp)
    {
    var v = (paramValUp === "LOW") ? "true" : (paramValUp === "NORMAL") ? "false" : null;
    if (v !== null)
    writeToStorage("vrs_slow", v);
    }
    else if (paramName === "C")
    writeToStorage('vrs_param', paramVal, true, true);
    else if (paramName === "N")
    writeToStorage('vrs_user', paramVal, true, true);
    else if (paramName === "P")
    writeToStorage('vrs_psw', paramVal, false, true);
    else if (paramName === "WA-")
    writeToStorage('vrs_nowa');
    else if (paramName === "DISABLESTARTUPMESSAGES")
    writeToStorage('vrs_disStartMsg');
    else if (paramName === "DISPLAYALLFUNCTIONS")
    writeToStorage('vrs_displayAllFunctions');
    else if (paramName === "VL")
    writeToStorage('vrs_vl', paramVal);
    else if (paramName === "L")
    writeToStorage('vrs_ul', paramVal);
    else if (paramName === "DISPLAYPERFORMANCE")
    writeToStorage('vrs_perf');
    else if (paramName === "DISPLAYUSERNOTIFICATIONLIST")
    writeToStorage('vrs_displayusernotificationlist');
    else if (paramName === "DEBUGGERURL")
    writeToStorage('vrs_deburl', paramVal, true, true);
    else if (paramName === "DEBUG")
    writeToStorage('vrs_debug', paramVal || 'TCP');
    else if (paramName === "NCP")
    writeToStorage('vrs_nocheckpopup');
    else if (paramName === "TESTCLIENT")
    writeToStorage('vrs_test');
    else if (paramName === "TESTCLIENTID")
    writeToStorage('vrs_test_id', paramVal || '');
    else if (paramName === "Z")
    writeToStorage('vrs_zn', paramVal, true, true);
    else if (paramName === "ITAXI")
    writeToStorage('vrs_interface', '1');
    else if (paramName === "ITDI" || paramName === "ISDI")
    writeToStorage('vrs_interface', '0');
    else if (paramName === "OIDA-")
    enableOpenIDAuth = false;
    else if (paramName === "VRS-SEANCE")
    writeToStorage('vrs_seance', paramVal);
    else if (paramName === "AUTHOFF" && openIDRelyingParty)
    openIDLogout = true;
    else if (paramName === "USEPRIVILEGEDMODE")
    writeToStorage('vrs_privMode');
    else if (paramName === "VRSSESSION2")
    writeToStorage('vrs_session2', paramVal);
    else if (paramName === "DEBUGGCC")
    {
    var debugGcc = paramValUp || "1";
    if (debugGcc === "1" || debugGcc === "ON" || debugGcc === "TRUE")
    writeCookie('vrs_dbggcc');
    else
    deleteCookie('vrs_dbggcc');
    }
    else if (paramName === "SYSTEMWEBCLIENTSTAT")
    writeToStorage('vrs_webclientstat');
    else if (paramName === "EXECUTE")
    writeToStorage('vrs_execute', paramVal);
    else if (paramName === 'ENABLECHECKSERVERCALLS')
    writeToStorage('vrs_enablecheckservercalls');
    else if (paramName === 'OIDCSELECTEDPROVIDER')
    writeToStorage('vrs_sel_prov', paramVal);
    else if (paramName == 'DISABLESPLASH' && hasBranding)
    writeToStorage('vrs_disablesplash');
    else if (paramName === 'AUTHMESSAGE' && paramVal)
    alert(paramVal);
    }

    if (getFromStorage('vrs_nooida'))
    enableOpenIDAuth = false;
    else if(!enableOpenIDAuth)
    writeToStorage('vrs_nooida', '1');

    // Значение для локейла форматирования
    writeToStorage('vrs_lang', lang);

    if (splashTopBrandingImage)
    writeToStorage('vrs_splashTop');

    if (splashBottomBrandingImage)
    writeToStorage('vrs_splashBottom');

    if (exitURL)
    writeToStorage('vrs_exitURL', exitURL, true, true);

    if (openIDLogout)
    {
    window.location.replace("e1cib/oid2rp?cmd=logout" + getZoneParam());
    return;
    }

    if (removeUrlParameter(window.location.search, 'sk') || hash || redirect)
    {
    window.location.replace(url);
    return;
    }

    var openIDInfo = document.getElementById('openidconnectconfig').innerHTML;
    if (openIDInfo && !proceedOIDC(enableOpenIDAuth, openIDInfo))
    return;

    if (getFromStorage('vrs_afteroidainit') === '1')
    {
    deleteFromStorage('vrs_afteroidainit');
    }
    else if (enableOpenIDAuth)
    {
    writeToStorage('vrs_oida', '1');
    writeToStorage('vrs_afteroidainit', '1');
    window.location.replace("e1cib/oid2rp?cmd=init" + getZoneParam());
    return;
    }
    setTimeout(continueLoadHTML.bind(this, true), 50);
    }

    function getZoneParam()
    {
    var zone = getFromStorage("vrs_zn");
    if (zone)
    return "&z=" + zone;
    else
    return ";
    }

    function getHttpRequest()
    {
    var httpRequest;
    if (window.XMLHttpRequest)
    {
    httpRequest = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
    var progIDs = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
    for (var i = 0; i < progIDs.length; i++)
    {
    try
    {
    httpRequest = new ActiveXObject(progIDs[i]);
    break;
    }
    catch (e)
    {
    }
    }
    }
    return httpRequest;
    }

    function continueLoadHTML(isMainFormHTML)
    {
    var httpRequest = getHttpRequest();
    if (!httpRequest)
    {
    alert("Данный браузер не может быть использован для работы с программой 1С:Предприятие");
    return;
    }

    var url = (isMainFormHTML ? "mainform.html" : "authform.html") + "?sysver=" + version;
    httpRequest.open("GET", encodeURI(url), false);
    httpRequest.setRequestHeader("Content-Type", "text/html; charset=utf-8");
    httpRequest.setRequestHeader("Accept", "text/html");
    httpRequest.send(");
    var html = httpRequest.responseText;

    // Посылаем событие асинхронному расширению в Chrome перед doc.open,
    // который уничтожит все навешенные ранее обработчики
    if (/chrome/i.test(navigator.userAgent))
    {
    var startLoadWebClientEvent = new CustomEvent("1c.startLoadWebClient");
    window.dispatchEvent(startLoadWebClientEvent);
    }

    var doc = document;
    doc.open("text/html", "replace");
    doc.write(html);
    doc.close();
    }

    window.on error = function(message)
    {
    alert(message);
    return true;
    }
    </sc ript>
    </head>
    <body on load="initMain();">
    <div id="openidconnectconfig" style="display:none"></div>
    </body>
    </html>
```
---
попробуйте другой релиз 1С и/или браузер.
На 8.3.13.1644 отрабатывает нормально. IE11 и Yandex браузеры.
В АдресНовогоФайла получается: "e1cib/tempstorage/996090a3-37de-4e36-9413-51ecd44eb1e7?seanceId=d22cb158-06bc-414c-b0ee-c2fde217fd50". Это адрес временного хранилища.
---
Попробовал тоже самое на демо-базе к платформе. Тоже не работает в веб-клиенте.

```1c
    Неправильный путь к файлу '<!DO CTYPE html>
    <ht ml>
    <head>
    <title>1С:Предприятие</title>
    <met a http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <met a http-equiv="X-UA-Compatible" content="IE=edge" />
    [*]
    <st yle type="text/css">
    BODY
    {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: 'MS Sans Serif';
    color: #594304;
    }
    </style>
    <sc ript language="javascript" type="text/javascript">
    var BaseUrl = window.location.href.substr(
    0, window.location.href.lastIndexOf("/")) + "/";

    var base = "/test/ru";
    var lang = "ru_RU";
    var redirect = false;
    var openIDRelyingParty = false;
    var splashTopBrandingImage = false;
    var splashBottomBrandingImage = false;
    var hasBranding = false;
    var exitURL = ";
    var oidcAllowStandardAuthentication = ";
    var version = "8.3.13.1644"

    var path = base;
    var url = window.location.protocol + "//" + window.location.host;
    if (path.slice(-1) !== '/') path += '/';
    if (base.length !== 0)
    url += path;

    var paramKeyPrefix = getParameterValue(window.location.href, 'sk');
    var keyPrefix = (paramKeyPrefix) ? paramKeyPrefix : generateKeyPrefix();

    if (!isStorageSupported())
    {
    url += '?sk=' + keyPrefix;
    }

    function generateKeyPrefix()
    {
    function s4()
    {
    return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
    }

    return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
    }

    function removeUrlParameter(strUrl, paramName)
    {
    var re = new RegExp('[&]?' + paramName + '=[^&]+', 'gi');

    var result = strUrl.replace(re, '');

    if (result.indexOf('?') === result.length - 1)
    {
    result = result.substr(0, result.indexOf('?'));
    }

    return result;
    }

    function getParameterValue(strUrl, paramName)
    {
    var re = new RegExp('[\?&]?' + paramName + '=([^&]+)', 'gi');

    var matches = re.exec(strUrl);

    if (matches && matches.length > 1 && matches[1])
    {
    return matches[1];
    }

    return null;
    }

    function writeToStorage(key, value, inQuote, encode)
    {
    if (value)
    {
    if (inQuote && value.length > 1 &&
    ((value.charAt(0) === '"' && value.charAt(value.length - 1) === '"') ||
    (value.charAt(0) === '\'' && value.charAt(value.length - 1) === '\'')))
    {
    value = value.substring(1, value.length - 1);
    }
    if (encode)
    value = encodeURIComponent(value);

    if (!isStorageSupported())
    {
    var expiresDate = new Date();
    // Время жизни - 1 минута
    expiresDate = new Date(expiresDate.getTime() + 1000 * 60);

    document.cookie = keyPrefix + '_' + key + '=' + value + ';expires=' +
    expiresDate.toGMTString() + ';Path=' + path;
    }
    else
    {
    sessionStorage.setItem(key, value);
    }
    }
    else
    {
    if (!isStorageSupported())
    {
    var expiresDate = new Date();
    // Время жизни - 1 минута
    expiresDate = new Date(expiresDate.getTime() + 1000 * 60);

    document.cookie = keyPrefix + '_' + key + '=;expires=' +
    expiresDate.toGMTString() + 'Path=' + path;
    }
    else
    {
    sessionStorage.setItem(key, value);
    }
    }
    }

    function getFromStorage(key)
    {
    if (isStorageSupported())
    {
    return sessionStorage.getItem(key)
    }
    else
    {
    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++)
    {
    var values = cookies[i].split("=");
    var str = values[0];
    str = str.replace(/(^\s*)|(\s*$)/g, ");

    if (str === keyPrefix + '_' + key)
    {
    return values[1];
    }
    }
    }
    return null;
    }

    function deleteFromStorage(key)
    {
    if (isStorageSupported())
    {
    sessionStorage.removeItem(key);
    }
    else
    {
    document.cookie = keyPrefix + '_' + key +
    "=;expires=Fri, 21 Dec 1976 04:31:24 GMT;Path="
    + path;
    }
    }

    function isStorageSupported()
    {
    var testKey = 'test';

    try
    {
    var storage = window.sessionStorage;
    storage.setItem(testKey, '1');
    storage.removeItem(testKey);

    return true;
    }
    catch (error)
    {
    return false;
    }
    }

    function writeCookie(cookieName, value, inQuote, encode)
    {
    if (value)
    {
    if (inQuote && value.length > 1 &&
    ((value.charAt(0) === '"' && value.charAt(value.length - 1) === '"') ||
    (value.charAt(0) === '\'' && value.charAt(value.length - 1) === '\'')))
    {
    value = value.substring(1, value.length - 1);
    }
    if (encode)
    value = encodeURIComponent(value);

    document.cookie = cookieName + '=' + value + ';Path=' + path;
    }
    else
    {
    document.cookie = cookieName + '=;Path=' + path;
    }
    }

    function getCookie(cookieName)
    {
    var cookies = document.cookie.split(";");
    for (var i = 0; i < cookies.length; i++)
    {
    var values = cookies[i].split("=");
    var str = values[0];
    str = str.replace(/(^\s*)|(\s*$)/g, ");
    if (str === cookieName)
    return values[1];
    }
    return null;
    }
    function deleteCookie(cookieName)
    {
    document.cookie = cookieName + "=;expires=Fri, 21 Dec 1976 04:31:24 GMT;Path=" + path;
    }

    function getHash ()
    {
    var hash = ";
    if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) &&
    (/msie 6\.0/i).test(navigator.userAgent))
    {
    var str = window.location.href;
    var inStr = false;
    var strCh = ";
    for (var i = str.length - 1; i >= 0; i--)
    {
    var ch = str.charAt(i);
    if (inStr)
    {
    if (ch === strCh)
    inStr = false;
    continue;
    }
    if (ch === "\" || ch === "'")
    {
    inStr = true;
    strCh = ch;
    continue;
    }
    if (ch === "#")
    {
    hash = str.substr(i + 1);
    break;
    }
    }
    }
    else
    {
    hash = window.location.hash;
    }
    return hash;
    }

    function getParams ()
    {
    if (window.location.search)
    {
    var params = decodeURIComponent(window.location.search).split("&");
    if (params && params[0].substring(0, 1) === "?")
    params[0] = params[0].substr(1);
    return params;
    }
    else
    {
    return [];
    }
    }

    function proceedOIDC (enableOpenIDAuth, openIDInfo)
    {
    if (getFromStorage('vrs_seance'))
    {
    setTimeout(continueLoadHTML.bind(this, true), 50);
    return false;
    }

    var OIDCSelectedProvider = getFromStorage('vrs_sel_prov');
    deleteFromStorage('vrs_sel_prov');

    writeToStorage('vrs_oidcAllowStandardAuthentication',
    (OIDCSelectedProvider ? OIDCSelectedProvider : oidcAllowStandardAuthentication));

    if (enableOpenIDAuth)
    writeToStorage('vrs_oiadenable', '1');

    if (openIDInfo)
    {
    var openIDStr = JSON.parse(openIDInfo);
    for (var key in openIDStr)
    {
    var strIDStr = JSON.stringify(openIDStr);
    writeToStorage('vrs_oauth', strIDStr);
    setTimeout(continueLoadHTML.bind(this, false), 50);
    return false;
    }
    }
    return true;
    }

    function initMain()
    {
    var hash = getHash();
    if (hash)
    {
    hash = decodeURIComponent(hash);
    writeToStorage('vrs_hash', hash, false, true);
    }

    var params = getParams();

    var enableOpenIDAuth = openIDRelyingParty;
    var openIDLogout = false;

    for (var i = 0; i < params.length; i++)
    {
    var arr = params[i].split("=");
    if (!arr)
    continue;

    var paramName = arr[0].toUpperCase();
    var paramVal = null;
    if (arr.length > 2)
    paramVal = arr.slice(1).join('=');
    else if (arr.length > 1)
    paramVal = arr[1];
    var paramValUp = paramVal ? paramVal.toUpperCase() : paramVal;

    if (paramName === "O" && paramValUp)
    {
    var v = (paramValUp === "LOW") ? "true" : (paramValUp === "NORMAL") ? "false" : null;
    if (v !== null)
    writeToStorage("vrs_slow", v);
    }
    else if (paramName === "C")
    writeToStorage('vrs_param', paramVal, true, true);
    else if (paramName === "N")
    writeToStorage('vrs_user', paramVal, true, true);
    else if (paramName === "P")
    writeToStorage('vrs_psw', paramVal, false, true);
    else if (paramName === "WA-")
    writeToStorage('vrs_nowa');
    else if (paramName === "DISABLESTARTUPMESSAGES")
    writeToStorage('vrs_disStartMsg');
    else if (paramName === "DISPLAYALLFUNCTIONS")
    writeToStorage('vrs_displayAllFunctions');
    else if (paramName === "VL")
    writeToStorage('vrs_vl', paramVal);
    else if (paramName === "L")
    writeToStorage('vrs_ul', paramVal);
    else if (paramName === "DISPLAYPERFORMANCE")
    writeToStorage('vrs_perf');
    else if (paramName === "DISPLAYUSERNOTIFICATIONLIST")
    writeToStorage('vrs_displayusernotificationlist');
    else if (paramName === "DEBUGGERURL")
    writeToStorage('vrs_deburl', paramVal, true, true);
    else if (paramName === "DEBUG")
    writeToStorage('vrs_debug', paramVal || 'TCP');
    else if (paramName === "NCP")
    writeToStorage('vrs_nocheckpopup');
    else if (paramName === "TESTCLIENT")
    writeToStorage('vrs_test');
    else if (paramName === "TESTCLIENTID")
    writeToStorage('vrs_test_id', paramVal || '');
    else if (paramName === "Z")
    writeToStorage('vrs_zn', paramVal, true, true);
    else if (paramName === "ITAXI")
    writeToStorage('vrs_interface', '1');
    else if (paramName === "ITDI" || paramName === "ISDI")
    writeToStorage('vrs_interface', '0');
    else if (paramName === "OIDA-")
    enableOpenIDAuth = false;
    else if (paramName === "VRS-SEANCE")
    writeToStorage('vrs_seance', paramVal);
    else if (paramName === "AUTHOFF" && openIDRelyingParty)
    openIDLogout = true;
    else if (paramName === "USEPRIVILEGEDMODE")
    writeToStorage('vrs_privMode');
    else if (paramName === "VRSSESSION2")
    writeToStorage('vrs_session2', paramVal);
    else if (paramName === "DEBUGGCC")
    {
    var debugGcc = paramValUp || "1";
    if (debugGcc === "1" || debugGcc === "ON" || debugGcc === "TRUE")
    writeCookie('vrs_dbggcc');
    else
    deleteCookie('vrs_dbggcc');
    }
    else if (paramName === "SYSTEMWEBCLIENTSTAT")
    writeToStorage('vrs_webclientstat');
    else if (paramName === "EXECUTE")
    writeToStorage('vrs_execute', paramVal);
    else if (paramName === 'ENABLECHECKSERVERCALLS')
    writeToStorage('vrs_enablecheckservercalls');
    else if (paramName === 'OIDCSELECTEDPROVIDER')
    writeToStorage('vrs_sel_prov', paramVal);
    else if (paramName == 'DISABLESPLASH' && hasBranding)
    writeToStorage('vrs_disablesplash');
    else if (paramName === 'AUTHMESSAGE' && paramVal)
    alert(paramVal);
    }

    if (getFromStorage('vrs_nooida'))
    enableOpenIDAuth = false;
    else if(!enableOpenIDAuth)
    writeToStorage('vrs_nooida', '1');

    // Значение для локейла форматирования
    writeToStorage('vrs_lang', lang);

    if (splashTopBrandingImage)
    writeToStorage('vrs_splashTop');

    if (splashBottomBrandingImage)
    writeToStorage('vrs_splashBottom');

    if (exitURL)
    writeToStorage('vrs_exitURL', exitURL, true, true);

    if (openIDLogout)
    {
    window.location.replace("e1cib/oid2rp?cmd=logout" + getZoneParam());
    return;
    }

    if (removeUrlParameter(window.location.search, 'sk') || hash || redirect)
    {
    window.location.replace(url);
    return;
    }

    var openIDInfo = document.getElementById('openidconnectconfig').innerHTML;
    if (openIDInfo && !proceedOIDC(enableOpenIDAuth, openIDInfo))
    return;

    if (getFromStorage('vrs_afteroidainit') === '1')
    {
    deleteFromStorage('vrs_afteroidainit');
    }
    else if (enableOpenIDAuth)
    {
    writeToStorage('vrs_oida', '1');
    writeToStorage('vrs_afteroidainit', '1');
    window.location.replace("e1cib/oid2rp?cmd=init" + getZoneParam());
    return;
    }
    setTimeout(continueLoadHTML.bind(this, true), 50);
    }

    function getZoneParam()
    {
    var zone = getFromStorage("vrs_zn");
    if (zone)
    return "&z=" + zone;
    else
    return ";
    }

    function getHttpRequest()
    {
    var httpRequest;
    if (window.XMLHttpRequest)
    {
    httpRequest = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
    var progIDs = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
    for (var i = 0; i < progIDs.length; i++)
    {
    try
    {
    httpRequest = new ActiveXObject(progIDs[i]);
    break;
    }
    catch (e)
    {
    }
    }
    }
    return httpRequest;
    }

    function continueLoadHTML(isMainFormHTML)
    {
    var httpRequest = getHttpRequest();
    if (!httpRequest)
    {
    alert("Данный браузер не может быть использован для работы с программой 1С:Предприятие");
    return;
    }

    var url = (isMainFormHTML ? "mainform.html" : "authform.html") + "?sysver=" + version;
    httpRequest.open("GET", encodeURI(url), false);
    httpRequest.setRequestHeader("Content-Type", "text/html; charset=utf-8");
    httpRequest.setRequestHeader("Accept", "text/html");
    httpRequest.send(");
    var html = httpRequest.responseText;

    // Посылаем событие асинхронному расширению в Chrome перед doc.open,
    // который уничтожит все навешенные ранее обработчики
    if (/chrome/i.test(navigator.userAgent))
    {
    var startLoadWebClientEvent = new CustomEvent("1c.startLoadWebClient");
    window.dispatchEvent(startLoadWebClientEvent);
    }

    var doc = document;
    doc.open("text/html", "replace");
    doc.write(html);
    doc.close();
    }

    window.on error = function(message)
    {
    alert(message);
    return true;
    }
    </sc ript>
    </head>
    <body on load="initMain();">
    <div id="openidconnectconfig" style="display:none"></div>
    </body>
    </html>'
```
---
Вот такой код сработал.

```1c
    &НаКлиенте
    Процедура ДобавитьФайл(Команда)

    ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтаФорма);
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.МножественныйВыбор = Ложь;

    НачатьПомещениеФайлов(ОписаниеОповещения, , ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОбработатьВыборФайла(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт

    Если ПомещенныеФайлы = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Для каждого ПереданныйФайл Из ПомещенныеФайлы Цикл
```