Ну... Токеном Вы тут не обойдетесь, для подписания документа нкжна "живая" КЭП...
Сама процедура вот:
Процедура ПодписатьДокумент()
Вид = ТЗ.ПолучитьЗначение(ТЗ.ТекущаяСтрока(), "ТипКод");
Если Вид < 0 Тогда
Предупреждение("Подписание неформализованных дркументов из сторонних
|программ в Честном Знаке не реализовано!
|Воспользуйтесь личным кабинетом Честного Знака...", 10);
Если Вопрос("Открыть личный кабинет ЧЗ-?", 4) = 6 Тогда
ПутьКБраузеру = глБраузерПоУмолчанию();
Если ПутьКБраузеру = 0 Тогда
ЗапуститьПриложение("https://markirovka.crpt.ru/dashboard");
Иначе
ЗапуститьПриложение(ПутьКБраузеру + " " + "https://markirovka.crpt.ru/dashboard");
КонецЕсли;
КонецЕсли;
СтатусВозврата(0);
Возврат;
КонецЕсли;
Если Вопрос("Вы уверены, что хотите подписать документ?", 4) = 7 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
СтТекСтр = ТЗ.ТекущаяСтрока();
ИД = СокрЛП(ТЗ.ПолучитьЗначение(СтТекСтр, "ID"));
Если ПустоеЗначение(ИД) = 0 Тогда
СзПодп = СоздатьОбъект("СписокЗначений");
СзПодп.ДобавитьЗначение(Контекст, "Конт");
СзПодп.ДобавитьЗначение("Подписываем", "Действие");
ОткрытьФормуМодально("Обработка.ДанныеПодписанта", СзПодп);
Если ПустоеЗначение(СзПодп.Получить("Вып")) = 1 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
ПроверитьПолучитьТокен();
Состояние("Иидет получение ИзвещенияОтправителя, пожалуйста подождите!");
ИмФайлаXMLИзвОтпр = ПолучитьXMLизвОтпрПоИД(ИД, СокрЛП(ТЗ.ПолучитьЗначение(СтТекСтр, "IDквитИзвОтпр")));
СигнДока = ПолучитьЭЦПизИзвОтпр(ИмФайлаXMLИзвОтпр);
ИмФайлаXML = ВернутьИмяВременногоКаталогаДляУПД(ИД) + "\DocEDO" + СокрЛП(ИД) + ".xml";
Если ФС.СуществуетФайл(ИмФайлаXML) = 0 Тогда
Состояние("Иидет получение XML входящего УПД, пожалуйста подождите!");
ИмФайлаXML = ПолучитьХМЛДокумента(ИД);
КонецЕсли;
ПутьКДоку = ИмФайлаXML;
Если ПустоеЗначение(ПутьКДоку) = 1 Тогда
Сообщить("Не удалось загрузить входящий документ!");
СтатусВозврата(0);
Возврат;
КонецЕсли;
// Отладка скопируем исходный документ
Если Отл = 1 Тогда
ФС.КопироватьФайл(ПутьКДоку, "C:\Temp\Doc.xml", 0);
КонецЕсли;
СзРеквПодпДДока = ПолучитьДанныеДокаДляПодписанияXMLLite(ПутьКДоку,, СзПодп.Получить("ДатаПодп"));
СтрТитула = СформироватьХМЛинфПокупателяXMLLite(СзРеквПодпДДока, СигнДока, СзПодп);
Если СтрТитула = "" Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
Состояние("Идет подписание документа, пожалуйста ожидайте!");
ВыхФайл = ПодписатьТекст(СтрТитула, СокрЛП(глПользователь.ЭЦП.Отпечаток), , 1);
СигнДокаИнфПок = СокрЛП(УбратьПереносыСтрок(ВыхФайл));
// Отладка запишем текст эцп
Если Отл = 1 Тогда
Тхт = СоздатьОбъект("Текст");
Тхт.ДобавитьСтроку(СигнДокаИнфПок);
Тхт.Записать("C:\Temp\NewTitulSign.txt");
КонецЕсли;
СзКарл = СоздатьОбъект("СписокЗначений");
СзКарл.ДобавитьЗначение(СтрТитула, "СтрТитула");
СзКарл.ДобавитьЗначение(ИД, "ИД");
СзКарл.ДобавитьЗначение(СигнДокаИнфПок, "СигнДокаИнфПок");
СзКарл.ДобавитьЗначение(СзРеквПодпДДока.Получить("ИмХМЛИнфПок"), "ИмяФайлаИнфПок");
Состояние("Идет отправка подписанного документа на сервер ЭДО. Ожидайте!");
Вер = СзРеквПодпДДока.Получить("ВерсФормата");
Если СзРеквПодпДДока.Получить("ВидОперации") = "Исправление" Тогда
Url = АдресСервераЭДО + "/api/v1/incoming-documents/xml/updi/title";
Иначе
Если СзРеквПодпДДока.Получить("АтрФункция") = "КСЧФДИС" Тогда
Url = АдресСервераЭДО + "/api/v1/incoming-documents/xml/ukd/title/736";
Иначе
Если Вер = "5.03" Тогда
Url = АдресСервераЭДО + "/api/v1/incoming-documents/xml/upd/title/970";
Иначе
Url = АдресСервераЭДО + "/api/v1/incoming-documents/xml/upd/title";
КонецЕсли;
КонецЕсли;
КонецЕсли;
СтрОшибка = "";
Если (Отл = 1) И (флПодп = 0) Тогда
Ответ = "";
Иначе
Ответ = глКарлик_ВыполнитьЗапрос("POST", Url, ТекТокен,, СтрОшибка, СзКарл, 1, Отл, 0);
КонецЕсли;
Если ПустоеЗначение(СтрОшибка) = 0 Тогда
Если (СокрЛП(СтрОшибка) = "200") Или (СокрЛП(СтрОшибка) = "201") Тогда
Сообщить("Документ успешно подписан!");
Иначе
ОписОш = "Ошибка " + СокрЛП(СтрОшибка) + " " + СокрЛП(Ответ);
Тхт = СоздатьОбъект("Текст");
Тхт.ДобавитьСтроку(ОписОш);
Попытка
Тхт.Записать("C:\Temp\ОшОтпр" + ИД + ".txt");
Исключение
КонецПопытки;
ВывестиОшибкуВТабло(Ответ);
КонецЕсли;
КонецЕсли;
// Отладка запишем результат
Если Отл = 1 Тогда
Тхт = СоздатьОбъект("Текст");
Тхт.ДобавитьСтроку(Ответ);
Тхт.Записать("C:\Temp\ОтвОтпрИнфПокtxt");
КонецЕсли;
ОбновитьСписок();
ТекСтрДляКвПросм = "";
Если ТЗ.НайтиЗначение(СокрЛП(ИД), ТекСтрДляКвПросм, "ID") = 1 Тогда
ИдКвитПросм = СокрЛП(ТЗ.ПолучитьЗначение(ТекСтрДляКвПросм, "IDквитИзвПол"));
Если ПустоеЗначение(ИдКвитПросм) = 0 Тогда
ПодписатьКвитПоИД(ИД, ИдКвитПросм);
ОбновитьСписок();
КонецЕсли;
КонецЕсли;
ТЗ.ТекущаяСтрока(СтТекСтр);
ОбнСп = 1;
КонецЕсли;
КонецПроцедуры
Но, там куча ссылок на другие процедуры/функции, что не понятно - пишите, выложу.
Просто "только подписывать" в УС - смысла большого нет. В чем и цимус ЭДО - получать док в готовом виде в УС... А подписание, это уже дело десятое, пох, подписать можно и в ЛК на сайте, ради этого "городить огород" ИМХО не стоит. Вот загрузка доков, что-бы "не набивать руками", это да... Значительное облегчение жизни юзверям...